質問: function(dt) { if(this.app.keyboard.isPressed(pc.KEY_UP)){ //上キーが押された時の処理 this.entity.rigidbody.applyImpulse(0,0,-0.5); } if(this.app.keyboard.isPressed(pc.KEY_DOWN)){ //下キーが押された時の処理 this.entity.rigidbody.applyImpulse(0,0,0.5); } if(this.app.keyboard.isPressed(pc.KEY_RIGHT)){ //右キーが押された時の処理 this.entity.rigidbody.applyImpulse(0.5,0,0); } if(this.app.keyboard.isPressed(pc.KEY_LEFT)){ //左キーが押された時の処理 this.entity.rigidbody.applyImpulse(-0.5,0,0); } }; ``` ### 試したこと 最初のキーを押した後に反対方向のキーを押しても反応しない。 ### 補足情報(FW/ツールのバージョンなど) なし
回答: 試しましたところ、移動ができないのではなく影響が出てくるのが遅いのであって移動はできます。 物理法則に従ってるのですぐに向きが変わらないのは仕様になるかと。 物理法則を使って指定場所に移動させたいなら https://developer.playcanvas.com/en/api/pc.RigidBodyComponent.html#teleport `teleport`を使う 物理法則なんていらない場合は物理を切って https://developer.playcanvas.com/en/api/pc.Entity.html `setPosition`を利用する