###前提・実現したいこと
いまUnity3Dでアクションゲームをつくっていてスペースキーを押すとRigidbodyをプレーヤーに
あたえてジャンプさせるものをJavaScriptでかいていたのですが、スペースキーを連打すると
どこまでもジャンプできてしまいます。ソースを教えてください。どうぞよろしくお願いいたします。なるべくなら詳しい解説もしてくださると幸いです。
###該当のソースコード
JavaScript
1#pragma strict 2 3function Update () { 4//Normal 5 if (Input.GetKey(KeyCode.DownArrow)){ 6 transform.Translate(new Vector3(0,0,-0.1)); 7 } 8 if (Input.GetKey(KeyCode.UpArrow)){ 9 transform.Translate(new Vector3(0,0,0.1)); 10 } 11 if (Input.GetKey(KeyCode.LeftArrow)){ 12 transform.Rotate(0,-1,0); 13 } 14 if (Input.GetKey(KeyCode.RightArrow)){ 15 transform.Rotate(0,1,0); 16 } 17 if (Input.GetKey(KeyCode.A)){ 18 transform.Translate(new Vector3(-0.1,0,0)); 19 } 20 if (Input.GetKey(KeyCode.D)){ 21 transform.Translate(new Vector3(0.1,0,0)); 22 } 23//ジャンプ! 24 if (Input.GetKeyDown(KeyCode.Space)) { 25 GetComponent.<Rigidbody>().AddForce(new Vector3(0, 5, 0)); 26 } 27//ジャンプ!END... 28//Normal END... 29//Controlkey 30 if (Input.GetKey(KeyCode.RightControl) || Input.GetKey(KeyCode.LeftControl)) { 31 32 if (Input.GetKey(KeyCode.DownArrow)){ 33 transform.Translate(new Vector3(0,0,-0.15)); 34 } 35 if (Input.GetKey(KeyCode.UpArrow)){ 36 transform.Translate(new Vector3(0,0,0.15)); 37 } 38 if (Input.GetKey(KeyCode.LeftArrow)){ 39 transform.Rotate(0,-2,0); 40 } 41 if (Input.GetKey(KeyCode.RightArrow)){ 42 transform.Rotate(0,2,0); 43 } 44 if (Input.GetKey(KeyCode.A)){ 45 transform.Translate(new Vector3(-0.15,0,0)); 46 } 47 if (Input.GetKey(KeyCode.D)){ 48 transform.Translate(new Vector3(0.15,0,0)); 49 } 50//ジャンプ! 51 if (Input.GetKeyDown(KeyCode.Space)) { 52 GetComponent.<Rigidbody>().AddForce(new Vector3(0, 8, 0)); 53 } 54//ジャンプ!END... 55 } 56//Controlkey END... 57 } 58
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/16 02:26
2017/09/16 02:36
2017/09/16 03:58