に軸コントロールにスイッチがあるときに動作していない:アニメーションは、次のように私は私のプレーヤーとコードに移動アニメーションをしていた画面のボタンコントロール
if (Input.GetAxis ("Horizontal") > 0.5||Input.GetAxis ("Horizontal") < -0.5) {
myRigidBody.velocity = new Vector2 (Input.GetAxis ("Horizontal") * moveSpeed, myRigidBody.velocity.y);
robotMove = true;
lastMove = myRigidBody.velocity.x;
}
anim.SetFloat ("MoveX", Input.GetAxis ("Horizontal"));
anim.SetBool ("RobotMoving", robotMove);
anim.SetFloat ("LastMoveX", lastMove);
uがコントロールの上に見ることができるように軸コントロール(キーボード)です。
しかし、これらのアニメーションを私が画面上に作成したコントロールボタンで操作したいと思っています!
私は、PICに見られるように、この2つのbutonsを持っている:私はeventrigger
onPointerDown
を使用しています
ので、これらの関数を呼び出すようプレイヤーにgameobject
を添付:
public void moveleft(){
myRigidBody.velocity = new Vector2 (-moveSpeed, myRigidBody.velocity.y);
robotMove = true;
anim.SetFloat ("MoveX", -moveSpeed);
anim.SetBool ("RobotMoving", robotMove);
}
public void moveright(){
myRigidBody.velocity = new Vector2 (moveSpeed, myRigidBody.velocity.y);
robotMove = true;
anim.SetFloat ("MoveX", moveSpeed);
anim.SetBool ("RobotMoving", robotMove);
}
public void jump(){
if (grounded) {
myRigidBody.velocity = new Vector2 (myRigidBody.velocity.x, jumpHeight);
}
今だけ軸のコントロールのように、プレイヤーはある距離(私が保持していれば連続ではなく)に移動していますが、軸の作業はですこのボタンで作業していません!
誰もがそれが起こっている理由を伝えることができますか?
は、uはどちらかupdate()
または私はすべてのアニメーション値を置くことだったやった それでは、いくつかの外部function()
コールに amin.setxxx一つだけ呼び出すことができます参照してください:次のように
ボタンのコードも必要です。私の推測が正しければ、あなたはボタンをクリックしている1フレームで "MoveLeft()"をやっているだけですか? – Maakep
はい!左は 'moveLeft()'、右は 'MoveRight'です。コードは@Fredrikの上にあります – utkdub