Unity<自機の移動>
間違っている場所あったら優しく教えてね
自機の移動。
左右の矢印キーを押している間のみ一定速度で移動するようにする。
今回は加速度は考えないものとする。
ただし、RigidBodyによる重力場であるとする。
public float speed; //inspecterでspeed調整を可能に
public float JumpPower;
private float dire;
private bool jump = false ;
void UpDate ( ){
Vector3 PlayerV = Player.GetComponent<RigidBody2D>( ).velocity;
If ( Input.GetKey( KeyCode.rightArrow ) ) { //GetKeyは押している間true
dire = 1.0f;
Player.GetComponent<RigidBody2D>( ).velocity = new Vector3 ( dire * speed , PlayerV.y , 0);
} else If ( Input.GetKey( KeyCode.leftArrow ) ) {
dire = -1.0f;
Player.GetComponent<RigidBody2D>( ).velocity = new Vector3 ( dire * speed , PlayerV.y , 0);
} else {
Player.GetComponent<RigidBody2D>( ).velocity = new Vector3 ( 0 , PlayerV.y ,0)
}
//ジャンプ操作
if ( Input.GetkeyDown(KeyCode.space) && !jump ){
Player.GetComponent<RigidBody2D>( ).velocity = new Vector3 ( PlayerV.x , JumpPower , 0 );
jump = true;
}
}