我正在尝试构建一个小型spriteKitGame。我一直在尝试使用该函数将几个坦克精灵节点移动到特定点。
下面附有代码段。
let tankSpawn = CGPoint(x: self.size.width , y: 70);
tank.position = tankSpawn;
tank.zPosition = 3.0;
let targetPoint = CGPoint(x: -tank.size.width/2, y: tank.position.y);
let actionMove = SKAction.move(to: targetPoint, duration: TimeInterval(tankMoveDuration))
这是我的结果。它们在正确的点(70单位高)产卵,但正如图所示下降。
我希望他们走直线。我将目标点y设置为常量。我不知道他们为什么要关注一些底层来源。
我对上面产生的飞机有类似的代码(它们工作正常)。
let plane = SKSpriteNode(imageNamed: "SpaceShip");
let planeMoveDuration = 3.0
let planeSpawn = CGPoint(x: self.size.width , y: self.size.height/2);
plane.position = planeSpawn;
plane.zPosition = 3.0;
let actionMove = SKAction.move(to: CGPoint(x: -plane.size.width/2, y: plane.position.y), duration: TimeInterval(planeMoveDuration))
我不知道我的错误是什么。
我尝试将目标的y坐标更改为tank.position.y
,但它无法正常工作。
答案 0 :(得分:3)
他们是否在重力作用下坠落?一个带有物理机构的精灵工具包场景会有重力,除非你采取特定行动来避免这种情况,否则事情就会下降。
它很容易完成 - 你正在开发你的游戏,你有屏幕上的基本元素和移动等都运行良好,然后你想添加一些碰撞检测,所以你添加物理实体然后嗖嗖 - 我的精灵在哪里去?