Unity tutorial 球転がしゲーム勝手にJS化
非常にオススメなチュートリアル
Unity tutorial 球転がしゲーム(1)〜(4)
http://www.youtube.com/watch?v=O1Nku471HBk&NR=1
なのですが、記述がC#なので俺JSで記述したい。という人向けにJavaScriptで書いたコードに変換してみました。
私自信ビギナーですので間違い等々あると思います。
その際は教えていただければと思います。
PlayerBehaviour
public var jumpForce=400; public var Speed = 10; public var StartPos : Vector3; public var OutOfField = -100; public var OnGround = false; function Start () { this.StartPos = transform.position; } function Update () { if (this.OnGround && Input.GetKeyDown (KeyCode.Space)){ rigidbody.AddForce (0, jumpForce, 0); Debug.Log ("Jump! JS Force : " + jumpForce ); } var z = Vector3.forward * Input.GetAxis("Vertical") * Time.deltaTime * Speed; var x = Vector3.right * Input.GetAxis("Horizontal") * Time.deltaTime * Speed; rigidbody.AddForce(x + z); if (transform.position.y < this.OutOfField) { transform.position = this.StartPos; rigidbody.velocity = Vector3.zero; } } function OnCollisionStay(collision : Collision){ if (collision.gameObject.tag == "Ground") { this.OnGround = true; } } function OnCollisionExit(collision : Collision){ if (collision.gameObject.tag == "Ground") { this.OnGround = false; } }
CameraBehaviour
private var Player : GameObject; public var Distance = 10; public var Direction : Vector3; function Start() { this.Player = GameObject.Find("Player"); //Debug.Log(Player); if(!Player){ Debug.LogError("Player not found"); Application.Quit(); } var q = Quaternion.AngleAxis(45,Vector3.right); this.Direction = q * -Vector3.forward; transform.rotation = q; } function Update () { transform.position = this.Player.transform.position + this.Direction*Distance; }