草庐IT

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

ios - Swift 和 Sprite Kit - 如何测量 Sprite 移动的总距离?

在我的游戏中,玩家Sprite连续向上移动,因为我在更新函数中设置了Sprite的速度:overridefuncupdate(_currentTime:TimeInterval){...player.physicsBody!.velocity.dy=max(player.physicsBody!.velocity.dy,650*gameGain)}现在我想测量Sprite走过的总距离。有什么方法/方法可以这样做,还是我必须创建一个变量来手动计算距离,例如vardistance:Floatoverridefuncupdate(_currentTime:TimeInterval){play

ios - 在一段时间内手动移动节点

我目前声明了以下函数,这些函数将节点移动到场景更新函数中调用的目标位置(在这种情况下,我不能使用SKAction.moveTo)funcmoveTowardsPosition(targetPosition:CGPoint,withTimeIntervaltimeInterval:NSTimeInterval){letcurrentPosition=self.positionvardeltaX=targetPosition.x-currentPosition.xvardeltaY=targetPosition.y-currentPosition.yvarmaximumDistance=3

ios - 使用 SpriteKit 抛出一个对象

我现在有以下代码。即使代码构建成功,我似乎也无法让它工作。我试图做到这一点,当你轻弹物体时,它会以你开始和结束触摸的速度移动。importSpriteKitclassGameScene:SKScene{varsprite:SKSpriteNode!vartouchPoint:CGPoint=CGPoint()vartouching:Bool=falseoverridefuncdidMoveToView(view:SKView){self.physicsBody=SKPhysicsBody(edgeLoopFromRect:self.frame)sprite=SKSpriteNode(c