我正在构建我的第一个2D平台游戏,我希望使用arc4Random对每隔几秒生成的对象设置一些限制。目前,一只鸟会从右向左飞过屏幕,大多数时候这只鸟似乎在空中,但有时这只鸟在地面上看起来很奇怪。我想做的是设置生成鸟类的最小和最大高度,这可能吗?这里是一些代码...funcspawnBird(){varbirdP=SKNode()birdP.position=CGPointMake(self.frame.size.width+birdTexture1.size().width*2,0);birdP.zPosition=-10;varheight=UInt32(self.frame.size
尝试让Sprite“PlayButton”的比例继续放大和缩小以提示用户触摸它。似乎无法正常工作。这是菜单类:importSpriteKitclassMenuScene:SKScene{letScalePBup=SKAction.scaleX(to:300,y:300,duration:10)letScalePBdown=SKAction.scaleX(to:-300,y:-300,duration:10)//MARK:-PrivateInstanceVariablesprivateletlogo=GameLogo()privatelettitle=GameTitle()private
您好,我的问题是关于两个Sprite的旋转。当我触摸屏幕的右半部分时,旋转开始并移动sprite2和sprite3。如果我触摸屏幕的左半部分,旋转就会停止,因为速度-速度=0。如果我再次触摸屏幕的左半部分,旋转就会开始。但是,如果我触摸与当前旋转方向对应的屏幕的一半,速度就会重复。我希望能够改变旋转方向,但速度保持不变。演示问题的视频:http://youtu.be/HxLwl1QZiNMimportSpriteKitclassGameScene:SKScene{letsprite=SKSpriteNode(imageNamed:"bWhite")letsprite2=SKSprite
在本教程的跳跃游戏中,我正在尝试创建一个静态HUD,它在整个游戏过程中始终位于屏幕顶部。我还是Swift的新手,所以也许这是一个我不太容易看到的约定:http://www.raywenderlich.com/87232/make-game-like-mega-jump-sprite-kit-swift-part-2在教程中,他将HUD放在overrideinit(size:CGSize)函数中:requiredinit?(coderaDecoder:NSCoder){super.init(coder:aDecoder)}overrideinit(size:CGSize){super.i
我有一堵墙,它会生成然后向左移动(拉动),我很好奇我是否能以某种方式让它变得越来越快。这可能吗?这是我用来拉“墙”的代码:funcstartMoving(){letmoveLeft=SKAction.moveByX(-300,y:0,duration:0.35)runAction(SKAction.repeatActionForever(moveLeft))}这就是生成墙的原因,以防您需要知道:vargenerationTimer:NSTimer?funcstartGeneratingWallsEvery(seconds:NSTimeInterval){generationTimer=
我创建了两个具有物理体的Sprite并处理了它们的接触。发生接触时,如何更改其中一个Sprite的物理体和Sprite图像?请参阅下面的相关代码://circleSpritecircleSprite.name=circleSpriteCategoryNamecircleSprite.position=CGPointMake(2*self.frame.size.width/3,2*self.frame.size.height/3)circleSprite.zPosition=10self.addChild(circleSprite)circleSprite.physicsBody=SKP
好吧,我已经研究了好几个小时了,我真的很困惑。我的背景类代码如下:classBackground:SKNode{requiredinit(coderaDecoder:NSCoder){fatalError("init(coder:)hasnotbeenimplemented")}overrideinit(){super.init()buildBackground()}funcbuildBackground(){varsprite:SKSpriteNode=SKSpriteNode(imageNamed:"background_full")sprite.anchorPoint=CGPoi
所以我创建了这款游戏,您必须在其中射击物体。现在,我有一个复制对象爆炸的图像集。我想调用这些图像按顺序出现,这样它看起来就像弹丸击中物体后发生的爆炸。显然,必须在射弹击中物体的确切位置调用图像。有谁知道如何做到这一点?这是一些代码。funcprojectileDidCollideWithMonster(projectile:SKSpriteNode,monster:SKSpriteNode){projectile.removeFromParent()monster.removeFromParent()playerScore=playerScore+1playerScoreUpdate(
我想无限期地旋转单个Sprite,每次点击按钮时,我都希望Sprite以相反的方向旋转(从顺时针到逆时针等来回旋转等)。下面是我的代码:http://pastebin.com/Avj8NjwtclassGameScene:SKScene{varcenter=SKSpriteNode()varbg=SKSpriteNode()varbigCircle=SKSpriteNode()letcounterClockwise=SKAction.rotateByAngle(CGFloat(3.14),duration:1)letclockwise=SKAction.rotateByAngle(CG
如果我试图在屏幕的2个定义区域中生成敌人(顶部和底部中间有一个它们无法生成的区域),我该如何防止它们生成在每个区域的顶部或太靠近每个区域其他。我的sprite在屏幕上相对较小,我在这里找到的唯一建议是创建一个可能的位置数组,每次使用其中一个位置时将其从列表中删除,但首先我不知道那会是什么样子,其次,我有很多可能的位置,因为我正在使用5px高Sprite,我希望他们能够在该区域清除后重生。我选择顶部或底部的方法只是选择一个随机数1或2,这取决于我有2个函数使它们位于顶部或底部。我只需要没有2个对象在一个球的直径范围内生成。有什么想法可以将其整合到我的产卵中吗?编辑://Createyou