草庐IT

SkSpriteNode

全部标签

swift - 多个 SKSpriteNodes 作为 Swift 中的一个节点

我正在尝试创建一个类似马里奥博士的简化游戏,其中我有一个药丸形状的物体,每一半都有自己的颜色。药丸可以堆叠在一起,我需要通过碰撞检测找出两种相似颜色是否发生碰撞。我尝试了什么我创建了一个SKSpriteNode子类,我在其中生成了一半带有颜色的药丸,并在我的场景中生成了两个。我将它们彼此靠近放置,并在它们之间创建了一个固定关节。问题是我无法将它们当作单个节点来旋转(there'sanopenquestionregardinthisissue)我创建了两个SKSpriteNode子类。第一个就像上面的那个,返回半颗药丸,但不是从场景中调用,而是从第二个子类中调用,它将药丸作为单个节点返回

swift - 如何将颜色 Sprite 调用到某个位置(Swift 3)

所以在我的项目中,我基本上是在尝试制作一个随机生成的迷宫,其入口和导出都是随机的。到目前为止,我有三个类(一个迷宫类、一个游戏场景类和一个网格类),我已经成功地编写了一个随机生成的迷宫。但是我的问题是迷宫类(这是随机生成代码发生的地方)纯粹包含迷宫的数据,但没有与图形的当前连接。因此,当我运行我的应用程序时,会出现一个空白屏幕。我正在尝试(但不确定如何)做的基本上是在迷宫墙所在的位置放置一条线(又名一条线形的黑色Sprite)。因此,我的迷宫的工作方式是它是一个网格(数组),其中每个数组单元格的“墙”(上、下、左或右)被定义为真或假。如果细胞壁是假的,那么那里就没有迷宫墙;但如果这是真

swift - 如何将 SKSpriteNode 放在 CAShapeLayer 前面?

我想在CAShapeLayer前面显示一个SKSpriteNode,这是我正在使用的代码:importSpriteKitimportGameplayKitimportUIKitclassGameScene:SKScene{letprogressLayer=CAShapeLayer()overridefuncdidMove(toview:SKView){letcircle=UIView(frame:CGRect(x:0,y:0,width:self.size.width,height:self.size.height))view.addSubview(circle)view.sendSu

swift - 在 Swift 中按住按钮时移动对象

我有一个SpaceInvaders小游戏,我添加了两个按钮leftButton和rightButton我希望ship移动的时间与一个按钮一样长在正确的方向上触摸并按住按钮。我让它朝正确的方向移动,但我必须反复点击按钮,但我希​​望ship在玩家按住按钮时移动。为简单起见,我只发布了左侧按钮的代码,因为我相信对另一个按钮进行编码的方式是相同的:classGameScene:SKScene{varleftButton=SKSpriteNode()varship=SKSpriteNode()overridefuncdidMove(toview:SKView){leftButton=self.

swift - 如何让两个 SKSpriteNode 的位置始终相同?

我有两个SKSpriteNode,我想保持相同的位置。newLeftObject和newLeftObjectBackground。最好的方法是什么使两个物体即使在对它们施加力时也始终保持相同的位置。我尝试将它们的质量和密度设置为彼此相等,但它们在下落时的位置仍然略有不同。谢谢,感谢您的帮助!funccreateNewObjectLeftAndMoveToCenter(){colorBackground.removeFromParent()blackBackground.removeFromParent()varnewLeftObject=SKSpriteNode()varnewRigh

swift - 随机生成一个 Spritekit 节点

我正在制作一个游戏,其中有一个节点从屏幕顶部生成并掉落。但是我想让节点在3秒的时间间隔内随机生成。所以一个在1秒内生成,下一个在2.4秒内生成,下一个在1.7秒内生成,等等。我正在为这个代码应该是什么而苦苦挣扎。我目前拥有的用于生成节点的代码:letwait=SKAction.waitForDuration(3,withRange:2)letspawn=SKAction.runBlock{addTears()}letsequence=SKAction.sequence([wait,spawn])self.runAction(SKAction.repeatActionForever(sp

ios - 检查两个节点相互接触时颜色是否相同

我是Swift的新手,如果我犯了菜鸟错误,我深表歉意。如果两个盒子的颜色相同,我试图让两个盒子在接触时消失。到目前为止,我有以下代码:这段代码设置了游戏:importSpriteKitimportGameplayKitclassGameScene:SKScene,SKPhysicsContactDelegate{overridefuncdidMove(toview:SKView){physicsBody=SKPhysicsBody(edgeLoopFrom:frame)physicsWorld.contactDelegate=selfletbackground=SKSpriteNode

ios - 如何在 Swift 中围绕其起始值上下移动 SKSpriteNode?

我目前正在开发一款游戏,其中有一个SKSpriteNode。我希望这个节点的位置一直上下移动。一开始,它应该有y值,例如500。然后它应该向下移动200像素(500+200=700),然后它应该向上移动400像素(700-400=300)所以它就像一个上下移动,一直在500+200和500-200之间移动.我希望我的解释是可以理解的。首先,我如何获得这种效果,其次,我在哪里输入它?我应该使用自定义函数吗?我正在用swift编程(新手到swift) 最佳答案 我写了一些示例代码,您可以根据自己的目的进行调整:首先,您需要π进行振荡计算

swift - SpriteKit - 在随机位置创建而不重叠

我想在随机位置创建一些Sprite而不重叠,这是我的代码:varsprites=[SKSpriteNode]()forindexin0...spriteArray{letsprite=SKSpriteNode(imageNamed:named)sprites.append(sprite)checkInterception(sprite,sprite2:sprites)//positioningusingafunctionaddChild(sprite)}这里我检查重叠:funccheckInterception(sprite1:SKSpriteNode,sprite2:[SKSprit

ios - Sprite 出现在模拟器中,而不是设备上

这个简单的项目会在您按下按钮时在field中央插入一个方形Sprite,这会调用下面的add()函数。在模拟器中,当你添加多个Sprite时,它会将其他Sprite推开,所以当你多次按下它时,你会得到......screenshotfromsimulator,iphone6,iOS9.2,这就是我想要的行为。但是在我的iPhone上运行相同的代码,在添加相同数量的sprite后会产生这个...screenshowfromphysicaliphone6,iOS9.2这是来自GameScene.swift的代码:importSpriteKitclassGameScene:SKScene{o