Unity、C#どちらも初心者です。
unity(3D)でC#を用いて、テーブルの上で二つの3Dオブジェクトを1Pと2Pで順番に動かし、テーブルから落としたら勝ちというゲームを作成しています。
3Dオブジェクトを動かすScriptは作成したのですが、ターン制のように1Pが一度動かしたら次は2Pが動かす様にするにはどのようにすればいいですか?
漠然とオブジェクトを動かすScriptを制御する新たなScriptを作成するのかと思い調べてみましたが、わかりませんでした。
あとScript Execution Orderも試してみようと思ったのですが使い方がいまいちわかりませんでした。
どのようにすればターン制にできますか?
こちらがオブジェクトを動かすScriptです。
C#
1 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5 6public class ShootScript : MonoBehaviour { 7 8 9 Vector3 startPos; 10 11 float speedX = 0; 12 float speedZ = 0; 13 14 void Start() 15 { 16 17 } 18 19 void Update() 20 { 21 Swipe(); 22 } 23 24 25 void Swipe() 26 { 27 if (Input.GetMouseButtonDown(0)) 28 { 29 this.startPos = Input.mousePosition; 30 31 } 32 else if (Input.GetMouseButtonUp(0)) 33 { 34 Vector3 endPos = Input.mousePosition; 35 36 Vector3 worldPos = endPos - startPos; 37 38 float swipeLengthX = worldPos.x; 39 float swipeLengthZ = worldPos.y; 40 41 this.speedX = swipeLengthX / 500; 42 this.speedZ = swipeLengthZ / 500; 43 } 44 45 transform.Translate(this.speedX, 0, this.speedZ, Space.World); 46 this.speedX *= 0.90f; 47 this.speedZ *= 0.90f; 48 } 49 50} 51
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/09 09:18