スペースキーでジャンプ。矢印キーで移動します。
CharacterControllerクラスを使用したアクションゲームのサンプルソース。
動かしたいオブジェクトにRegitBodyとCharacterControllerと以下のスクリプトクラスを追加して使用してください。
基本オブジェクト以外を動かす場合はCharacterControllerの辺り判定を調整してください。
using UnityEngine;
using System.Collections;
public class ChareIdou : MonoBehaviour {
public float speed = 9.0f;
public float jumpspeed = 9.0f;
public float gravity = 20.0f;
private Vector3 moveDirection = new Vector3();
private CharacterController controller;
public void Start()
{
controller =GetComponent("CharacterController")as CharacterController;
}
public void Update()
{
//CharacterController.isGroundedキャラクターが地面に接しているか?
if (controller.isGrounded)
{
moveDirection = new
//TransformDirectionはローカルのTransform情報をワールド座標系に変換します
Vector3(Input.GetAxis("Horizontal"),0,Input.GetAxisRaw("Vertical"));
moveDirection = transform.TransformDirection (moveDirection);
moveDirection *= speed;
if(Input.GetButton ( "Jump"))
{
moveDirection.y = jumpspeed;
}
}
//Time.deltaTimeは前フレームが呼び出されたときからの経過時間を取得出来ます
moveDirection.y -= gravity * Time.deltaTime;
controller.Move (moveDirection * Time.deltaTime);
}
}
0 件のコメント:
コメントを投稿