我刚刚开始使用SpriteKit并遇到了一个问题:
我希望有一个对象,我称之为playerController,跟随玩家触摸和冰球,可以被控制器击中,并且在那种情况下将反弹控制器.
不知何故,像AirHockey游戏.
我构造了2个具有纹理和物理特性的SKNode,因此如果重力打开或控制器以某种速度移动,它们会相互反弹.
但是如果通过以下动作移动控制器,则冰球不会反弹.
SKAction *moveTo = [SKAction moveTo: CGPointMake(touch.position.x ,touch.position.y) duration: 0.1];
[self.controllerPlayerOne runAction: moveTo];
Run Code Online (Sandbox Code Playgroud)
为什么?我已经在文档和几个教程中搜索过,但没有一个解决我的问题.也许这是SpriteKit开发人员想要的,但在这种情况下如何实现跟随触摸?
希望有人可以提供帮助.
编辑:
目前,我通过将控制器位置设置到触摸位置并通过使用触摸的最后和当前位置计算速度来获得控制器冰球行为,每次触摸移动.
这工作得很好.
sprite-kit ×1