本格的なプログラミングへ Unity+C#開発4


ジャンプさせよう!

前回の記事

で書いたように、今回はジャンプするプログラムを書いていきます。
まず、必要なコンポーネントを導入します。



キャラクターコントローラー!

そんでもって、プログラムを書きましょう。


NewC#Scriptを新規作成します(見切れた)

そしてそれをVisualStudioで開いて


の中の

using UnityEngine;
using System.Collections;
public class JumpChara : MonoBehaviour {
private Animator animator;
private CharacterController characterController;
// 速度
private Vector3 velocity;
// ジャンプ力
[SerializeField]
private float jumpPower = 5f;
void Start () {
animator = GetComponent<Animator>();
characterController = GetComponent<CharacterController>();
velocity = Vector3.zero;
}
void Update () {
if (characterController.isGrounded) {
velocity = Vector3.zero;
var input = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));
// 方向キーが多少押されている
if(input.magnitude > 0f) {
animator.SetFloat("Speed", input.magnitude);
transform.LookAt(transform.position + input);
velocity += input.normalized * 2;
// キーの押しが小さすぎる場合は移動しない
} else {
animator.SetFloat("Speed", 0f);
}
// ジャンプキー(デフォルトではSpace)を押したらY軸方向の速度にジャンプ力を足す
if(Input.GetButtonDown("Jump")) {
velocity.y += jumpPower;
}
}
velocity.y += Physics.gravity.y * Time.deltaTime;
characterController.Move(velocity * Time.deltaTime);
}
}

をコピペします。
(プログラミングするとか言っときながらごめん)



でそのプログラムをコンポーネントすると


動いたあああああああああああああああ!!!


素晴らしい。



次回に続く

次回以降は、他のプログラムを学びつつ、今回のプログラムの解説ができたらいいなぁとおもってます。(予定は未定)

0 件のコメント :

コメントを投稿