2016-12-28 19 views
4

私はGodot-Engineを使いこなし、少し試しました。GodotエンジンとKinematicBodyとの衝突が起こらない

しかし、私は衝突に関する情報を得ることができないようです。

if is_colliding(): 
    print ("Collision with " + get_collider()) 
    get_node("Sprite").set_texture(walk_cycle_right_1) 
    move_state_right = 1 
    set_pos(Vector2(get_pos().x -10, get_pos().y)) 

常にfalseを出力します。 set_posコマンドでキャラクター(KinematicBody2d - >Sprite/CollisionShape2d)を移動しています。

答えて

2

キネマティボディの場合は、moveまたはmove_toを使用して衝突をトリガする必要があります。 本当にset_posを使用する必要がある場合は、collisionshape2d.shapeをチェックし、自分で衝突チェックを行います。

KinematicBody2D運動とcollisiong取り扱いが導入されたゴドーマニュアルの例があります:KinematicBody2Dクラスのhttp://docs.godotengine.org/en/stable/tutorials/2d/kinematic_character_2d.html

完全な定義は、ゴドーのドキュメントでもご覧になれます。 http://docs.godotengine.org/en/stable/classes/class_kinematicbody2d.html?highlight=KinematicBody2D

+0

[OK]をクリックします。ありがとう;-) – Linuxer4Fun

+0

私はset_posを使ってBlasterを360の道に進めました。しかし、私はmove()でこれをどのように達成できますか? – Linuxer4Fun

+0

@ Linuxer4Fun答えを受け入れ、別の質問をする必要があります。コメントで別の質問をしないでください。 – sm4

関連する問題