我刚开始使用 SpriteKit,我正在发现 API。当按下并按住按钮时,我有一个要在屏幕上移动的对象。所以我所做的是在用户仍然持有并继续调用相同的方法以每 0.1 秒移动对象时设置一个 NSTimer。对象确实移动了,但在某个点移动时,它不会显示水平的平滑过渡。所以我使用 NSLog 来查看对象的位置,我发布说它减去了 10 个点而不是 0.5 个点。这是代码:
SKAction *moveLeft = [SKAction moveToX:((CGFloat)[[self childNodeWithName:@"Hero"] frame].origin.x)-0.5 duration:0.1];
[[self childNodeWithName:@"Hero"] runAction:moveLeft];
我该如何解决?此外,我在控制台中意识到坐标就像 150.000000 而不是 150 或 150.0。这可能是问题吗?
以前使用 SpriteKit 的人的另一个问题!在游戏场景中,您想添加一个按钮,您将其添加到场景类或视图控制器中?