我正在iOS中使用Sprite工具包编写2D游戏。 简而言之,我的游戏应该展示一个在行星周围航行的宇宙飞船。 所以我的主要场景应该模拟一个球体(就像一个行星),并且在我的2D平面上将是矩形的(连接到SKView)。 我想要做的是当宇宙飞船从一侧(让我们说左侧)离开屏幕时,我想看到它从另一侧(右侧或底侧,根据角度)出现由方向矢量形成,具有相同的方向和相同的速度。 我怎么能这样做?
这里是我的代码:
-(void)didSimulatePhysics{
[self enumerateChildNodesWithName:(NSString*)spaceShipName usingBlock:^(SKNode *node, BOOL *stop) {
CGPoint newPosition;
if (node.position.x < 0 || node.position.x > self.view.frame.size.width || node.position.y < 0 || node.position.y > self.view.frame.size.height)
{
newPosition = [self calculateNextPoint:node.position velocity:node.physicsBody.velocity];
[node setPosition:newPosition];
}}];
}
所有问题都是编写名为calculateNextPoint的函数...我试图使用一些数学定理而没有成功(它太重了)。
全部谢谢