草庐IT

ios - Swift Sprite Kit 再次调用 Function

我想用我的SKSpriteNodes/SKNode做一个无限循环,但是循环不能正常工作。为了让您了解我的游戏,有2个长目标,在屏幕底部彼此相邻生成,它们之间有间隙。两个Objectives之间是contactNode,它确定Player是否穿过墙壁来得分。目标无限生成。游戏开始后,调用函数addObjectives。稍等片刻后,我想使用新节点再次调用同一个函数,而旧的生成节点仍然存在并随着新节点移动到顶部。但是在我的代码中,在节点到达Update:中给定的点后,它们停止,场景再次调用函数,新节点移动到该点并再次停止。An无限循环。我不想在再次调用addObjectives后停止节点,它

ios - swift 和 spritekit 的 Sprite 位置

提前致谢。我通过使用在屏幕中间设置了一个圆圈circle=SKShapeNode(circleOfRadius:100)//SizeofCirclecircle.position=CGPointMake(frame.midX,frame.midY)//MiddleofScreencircle.strokeColor=SKColor.whiteColor()circle.glowWidth=1.0circle.fillColor=SKColor.orangeColor()self.addChild(circle)我想做的是,当用户点击屏幕时,一个Sprite会从随机位置出现,并向屏幕中心

ios - 如何在 SpriteKit 游戏中正确暂停 Sprite 的移动?

我有一个简单的SpriteKit游戏,在applicationWillResignActive(application:UIApplication)函数的appDelegate文件中,我放置了代码:GameScene().physicsWorld.speed=0.0。但是,当我关闭并重新打开应用程序时,附加了physicsBody的SKSpriteNode继续下落。我也尝试添加这两行代码:GameScene().speed=0,GameScene().paused=true。但是这些都不起作用。任何帮助将不胜感激。 最佳答案 您需要

ios - 快速分组多个 Sprite

我正在尝试将4个Sprite添加到一个View中,每个Sprite都在一个假想正方形的另一个角落,而不是围绕中心旋转所有Sprite。完成此任务的最佳方法是什么?我知道如何旋转每个Sprite,但也许有一种方法可以将多个Sprite分组,比如将它们放在一个容器中?Howtheresultshouldlooklike 最佳答案 这是我的工作代码。importSpriteKitletplayer=SKNode()letplayerTopLeft=SKSpriteNode(color:UIColor.yellowColor(),size:

ios - Sprite-kit:如何在圆形路径上定位 Sprite

所以我正在试验Sprite-kit,以构建主要角色可以跟随并收集硬币的圆形路径。我已经成功地定位了我的角色并让他跟随我的圆形路径。我想要实现的是:红球是主角[完成]白色多边形是硬币//Addingthebigcircleletrunway=SKSpriteNode(imageNamed:"runway")runway.position=CGPointMake(CGRectGetMidX(frame),CGRectGetMidY(frame))addChild(runway)//Addingtheplayerplayer=SKSpriteNode(imageNamed:"player")

xcode - 在 swift sprite 工具包中创建菜单

我正在尝试创建一个名为MenuScene.swift的swift文件,该文件在GameScene.swift之前运行,但我不知道如何操作。我尝试在GameViewController中修改这一行:ifletscene=GameScene(fileNamed:"GameScene"){到:ifletscene=MenuScene(fileNamed:"MenuScene"){但它只是显示一个空白场景。为了让它发挥作用,我还需要做些什么吗? 最佳答案 我知道您通过添加MenuScene.sks文件解决了这个问题,但是如果您已经有了代码文

swift - 使 Sprite 出现在随机位置

我试图让Sprite“cometd”随机出现在随机位置。到目前为止,我想测试我的随机位置代码是否有效,但是,我似乎甚至看不到Sprite。这是我的代码:funcspawnAtRandomPosition(){letheight=self.view!.frame.heightletwidth=self.view!.frame.widthletrandomPosition=CGPointMake(CGFloat(arc4random())%height,CGFloat(arc4random())%width)letsprite=SKSpriteNode(imageNamed:"comet"

Swift SpriteKit Sprite 移动但保留原始位置

使用带有集成游戏工具包的普通游戏应用程序设置。在场景中确实加载了我添加的self.hero=SKShapeNode.init(rectOf:CGSize.init(width:10,height:10),cornerRadius:1)iflethero=self.hero{letpos=CGPoint.init(x:-50,y:-90)hero.lineWidth=5hero.position=pos}self.addChild(self.hero!)然后在我添加的update函数中iflethero=self.hero{letmoveAction=SKAction.moveTo(x:

swift - 着色器不在我的 Sprite 之上

我试图了解如何在SpriteKit中应用着色器,因此我制作了以下来自指南的着色器并进行了一些改编(http://battleofbrothers.com/sirryan/understanding-shaders-in-spritekit):voidmain(){vec4val=texture2D(u_texture,v_tex_coord);if(val.a==1.0){gl_FragColor=vec4(1.0,1.0,1.0,1.0);}else{gl_FragColor=val;}}这个简单着色器的想法是将Sprite节点的每个非透明像素转换为白色。着色器与我的sprite节点

ios - UITapGestureRecognizer - 检测点击位置是否有 Sprite (快速)

我正在制作iOS游戏,需要知道如何获取uitapgesturerecognizer的点击位置。我不想想使用touchesBegan、touchesEnded等。我还需要知道如何检查用户是否双击了sprite节点。我已经设置了uitapgesturerecognizer,我只需要知道如何找到触摸的位置并查看它是否与sprite节点的位置相同。非常感谢任何帮助! 最佳答案 假设您的sprite是从UIView继承的类(我认为它们通常是),手势识别器的处理函数应该如下所示。funchandleDoubleTap(gestureRecogn