所以我创建了这款游戏,您必须在其中射击物体。现在,我有一个复制对象爆炸的图像集。我想调用这些图像按顺序出现,这样它看起来就像弹丸击中物体后发生的爆炸。显然,必须在射弹击中物体的确切位置调用图像。有谁知道如何做到这一点?这是一些代码。funcprojectileDidCollideWithMonster(projectile:SKSpriteNode,monster:SKSpriteNode){projectile.removeFromParent()monster.removeFromParent()playerScore=playerScore+1playerScoreUpdate(
我正在尝试创建一个街机游戏,其中球以恒定速度移动并且不受重力或摩擦力的影响。所以我将球创建为SKShapeNode并将其linearDamping和friction设置为0。我还将游戏场景设置为没有重力。但是在玩的时候,如果球以低角度撞到另一个形状节点(一个圆),它就会减速。球的restitution为1,allowsRotation为false。我通过在游戏开始时施加一个随机方向的脉冲来保持球移动。 最佳答案 这可能不是最理想的修复方法,但您可以将对象每次更新的固定速度设置为特定值,即您的恒定速度。解决此问题的另一种方法是在碰撞委
我有一个我正在创建的游戏,它使用了数组,其中有很多。为了在我的代码中更加简洁并且因为swift不会编译长数组(至少对我而言)我想将我的值存储在数据库中。SpriteKit中没有核心数据吗?如果没有,有哪些替代方案?我进行了谷歌搜索,但没有找到任何东西。提前致谢! 最佳答案 我最终做的是创建一个包含核心数据(不是游戏)的新swift项目,并将核心数据逻辑从AppDelegate复制到我的游戏应用程序委托(delegate)中。我通过右键单击创建数据模型,新建并放入我想要的数据结构。这实际上对我来说效果很好,我现在没有任何问题。感谢所有
我正在尝试在Swift中使用SpriteKit制作游戏,但背景颜色有点问题。我在Xcode上开始了一个新项目并选择了“游戏”预设和SpriteKit。所以我有一个灰色背景的入门项目,上面有白色的“HelloWorld”和当我按下屏幕时出现的宇宙飞船。所以我删除了所有我不关心的代码,但是当我启动游戏时,我仍然有灰色背景,即使我尝试在GameScene.swift文件中更改它也是如此。这是我的文件:AppDelegate.swiftimportUIKit@UIApplicationMainclassAppDelegate:UIResponder,UIApplicationDelegate{
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭7年前。Improvethisquestion我只是想知道在Swift+SpriteKit中更改场景的最简单方法是什么?
我一直在努力寻找,但没有成功。有没有办法以这种方式改变物理世界的重力属性,使物体不会被吸引到屏幕底部,而是被吸引到屏幕的中心? 最佳答案 使用SKFieldNode为了那个原因。只需将它放在map的中心并通过将重力设置为零的代码禁用重力(CGVector(0,0))我会给你代码,但我不使用ObjectiveC,所以我不知道它的确切语法。我可以试一试……[physicsBodysetGravity:CGVector(0,0)];请注意,我不知道这是否是正确的语法编辑:提问者在Swift中请求了一个SKFieldNode的例子,所以就在
我创建了一款平台游戏,当我开始游戏时,它会直接进入游戏。我想要一个菜单,其中有一个开始游戏的按钮和一个通往商店的按钮,可以用已赚取的游戏货币购买不同的背景或角色。如果有人可以帮助我实现这种菜单,我将不胜感激。如果我能在玩游戏时获得有关如何暂停游戏的帮助,那就太好了。 最佳答案 您可以为菜单创建场景。当用户按下开始按钮时,您将展示您的游戏场景。classMenuScene:SKScene{overridefuncdidMoveToView(view:SKView){addButtons()}privatefuncaddButton
我正在运行Yosemite和Xcode6。我使用“游戏”选项、SpriteKit和Swift创建了一个新项目。在GameScene.swift的didMoveToView()覆盖中,我添加了以下行以尝试更改背景色:self.backgroundColor=SKColor(whiteColor)这会编译但不会运行,并因错误“使用未解析的标识符‘whiteColor’”而停止唯一的导入是:importSpriteKit我是否需要另一个导入来定义whiteColor(我假设它是某处头文件中的常量? 最佳答案 +[SKColorwhiteC
我有一个使用Sprite-Kit和Swift的游戏,我在其中生成从屏幕顶部落到屏幕底部的随机圆圈。启动游戏时,它一开始运行得很好(大约60FPS或更低),但随后FPS逐渐下降,游戏变得非常慢......我不明白为什么FPS随着时间下降(节点数量保持在8-10左右,因此当它们离开屏幕时会被删除)——我在iOS模拟器和实际设备上测试过它,有什么想法吗?我已经检查过,问题不是来自内存泄漏。另外,我只使用一个ViewController。我认为可能导致此问题的唯一功能是这个,但我不知道为什么:/*Functiontogeneratesinglerandomcircle*/funcgenerat
Here是我遇到的问题的视频。正如您在视频中看到的那样,我移动了一个灰色的球,试图与一个红色的球碰撞。当两个物体碰撞时没有弹跳发生,红球只是移动。我试过调整红球的密度,比如让红球的密度为0.00001。碰撞行为没有差异。如何更改碰撞行为以产生弹跳?这是灰色球的属性:funcpropertiesGrayBall(){gray=SKShapeNode(circleOfRadius:frame.width/10)gray.physicsBody=SKPhysicsBody(circleOfRadius:frame.width/10)gray.physicsBody?.affectedByGr