我的游戏中有一个AdBannerView,但即使我将其设置为隐藏,它仍会随机显示,它会从底部弹出,将View向上推。这是我目前在GameScene中的代码:variAd=ADBannerView()overridefuncdidMoveToView(view:SKView){iAd.delegate=selfiAd.hidden=trueiAd.autoresizingMask=UIViewAutoresizing.FlexibleTopMarginview.addSubview(iAd)}funcbannerViewDidLoadAd(banner:ADBannerView!){if
我有两个sprite节点,我已确保self.size和它们各自的物理体的大小相同,但我仍然遇到这样一个非常奇怪的行为:这张照片是在检测到碰撞时拍摄的,我暂停了场景。为什么会这样?这里是设置不同大小的代码:在我的Player类(循环节点)的init()中:super.init(texture:texture,color:color,size:CGSize(width:100,height:100))然后:self.physicsBody=SKPhysicsBody(circleOfRadius:self.size.width/2,center:self.position)
在我的应用程序中,我有一些项目从屏幕底部随机弹出。我设置代码的方式迫使我对弹出项目的x位置使用硬编码值。我不想将这些x位置硬编码,而是想将它们更改为例如GameScene.size.width/4,以便应用程序的游戏玩法在所有设备上保持相同。这是我设置代码的方式:classItems{varnode=SKNode()varitem1=SKSpriteNode(imageNamed:"CY")varitem2=SKSpriteNode(imageNamed:"SY")varitem3=SKSpriteNode(imageNamed:"PY")varvelocity=CGPoint.zer
我使用以下代码在GameViewController.swift中启动应用程序时播放背景音乐:classGameViewController:UIViewController{//VARIABLESvarbackgroundMusicPlayer:AVAudioPlayer!//AUDIOPLAYERfuncplayBackgroundMusic(filename:String){leturl=NSBundle.mainBundle().URLForResource(filename,withExtension:nil)varerror:NSError?=nildo{backgroun
我的屏幕上每0.2-5.0秒生成一次节点,如下所示:overridefuncdidMoveToView(view:SKView){backgroundColor=UIColor.whiteColor()runAction(SKAction.repeatActionForever(SKAction.sequence([SKAction.runBlock(blackDots),SKAction.waitForDuration(1.0)])))}funcrandom()->CGFloat{returnCGFloat(Float(arc4random())/0xFFFFFFFF)}funcra
碰撞检测不是在didBeginContact函数中调用NSLog。物理学工作正常......有人可以告诉我我做错了什么吗?我尝试过的一切都给了我相同的结果。importSpriteKitclassGameScene:SKScene,SKPhysicsContactDelegate{letcategory0:UInt32=0x1 最佳答案 根据KnightOfDragon的评论回答我自己的问题。这是工作方法。funcdidBeginContact(contact:SKPhysicsContact){varfirstBody:SKPhy
所以我是SpriteKit和Swift的新手,我并不真正理解节点背后的概念(或者sprite-kit中与此相关的任何内容)。我请求你向我解释节点的概念。我更习惯于为每个节点设置一个不同的变量实例(例如创建一个数组),这让我可以非常具体地引用任何单个节点。然而,在spritekit中,情况似乎并非如此,因为您只需制作一次并使用addChild调用它的多个实例。(比我一直在做的好多了...)这有点让我感到困惑,因为我主要不明白如何针对这些测试场景或其他东西或单独引用一个场景。例如,我试图使用removeFromParent()从场景中移除一个对象,但我不知道如何实现类似的东西:if(ene
所以我希望学习如何使用Swift在Spritekit中制作图标ScrollView(有点像菜单)。我找不到任何不收费的好资源或教程。我已经使用ViewController和我的场景设置了我的基本应用程序。我希望有一个比屏幕高度长2或3倍的ScrollView,我可以在其中上下滚动并查看不同的图标。我希望这是一个很好的实现,这样我就可以使用x/y坐标以编程方式设置所有图标。我的viewdidLoad:overridefuncdidMoveToView(view:SKView){/*Setupyourscenehere*/addChild(worldNode)//createScrollv
我最近一直在更新我的游戏以使用更多的值类型。在某些情况下,我对weak和unowned仍然不是100%有信心,所以我采用结构方式来避免强引用循环。根据apples较新的主题演讲,值类型似乎是大多数情况下的方法。我从未见过在spriteKit游戏中使用结构来渲染Sprite的示例,所以我想知道有什么缺点。我知道它们是复制的而不是引用的,但对于我的使用来说它似乎有效。所以基本上我在做这个的时候有什么需要注意的地方structFlag{letpost:SKSpriteNodeletflag:SKSpriteNodeinit(postImage:String,flagImage:String)
我正在使用Swift和SpriteKit开发游戏。我希望背景在一定分数下发生变化。这是代码:classGameScene:SKScene{varbg=SKSpriteNode()overridefuncdidMoveToView(view:SKView){makeBg()}funcmakeBg(){letbgTexture=SKTexture(imageNamed:"img/bg.png")letmoveBg=SKAction.moveByX(-bgTexture.size().width,y:0,duration:9)letreplaceBg=SKAction.moveByX(bgT