如何轻松射击没有任何问题?

时间:2016-04-28 07:20:54

标签: ios swift skspritenode

按下按钮时,将从字符节点的位置触发镜头节点并向x方向移动。如果它与节点冲突,则两个节点都会消失。

func attackButton() {

    _weapon.removeFromParent()

    _weapon.position = CGPointMake(character.position.x, charater.position.y)
    _weapon.startMoving()
    addChild(_weapon)
    character.throwWeapon()
}

触发此功能时,通常可以正常工作。但是,当我按下jumpButton(使角色跳转到Y方向)和'attackButton'时,角色的坐标会受到某种影响。角色移动,有时会旋转。从我的代码中,我从未写过任何导致它向不同方向移动的东西。这让我烦恼。我无法想出任何防止这种情况发生的解决方案。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你提供的代码少于我能够工作的代码所以我会说出我认为发生的事情:

武器正在与角色完全相同的位置产生,但物理引擎很快将它移出了它。这种位置校正将脉冲施加到角色身体上,使其旋转。

您可以通过两种不同的方式解决此问题:

  • 在角色外面生成武器,或者......
  • 禁用武器与角色之间的碰撞。

尝试将第5行更改为以下内容:

_weapon.position = CGPointMake(character.position.x + character.size.width / 2, charater.position.y)