t1 / TFDContents / Assets / KinectDemos / SpeechRecognitionDemo / Scripts / GameControlScript.cs @ 3
이력 | 보기 | 이력해설 | 다운로드 (2.16 KB)
| 1 | 3 | KTH | using UnityEngine; |
|---|---|---|---|
| 2 | using System.Collections; |
||
| 3 | |||
| 4 | public class GameControlScript : MonoBehaviour |
||
| 5 | {
|
||
| 6 | [Tooltip("Prefab used to create the scene fence.")]
|
||
| 7 | public GameObject cratePrefab; |
||
| 8 | |||
| 9 | [Tooltip("GUI-Window rectangle in screen coordinates (pixels).")]
|
||
| 10 | public Rect guiWindowRect = new Rect(10, 40, 200, 300); |
||
| 11 | |||
| 12 | [Tooltip("GUI-Window skin (optional).")]
|
||
| 13 | public GUISkin guiSkin; |
||
| 14 | |||
| 15 | |||
| 16 | // whether the fence is already created |
||
| 17 | private bool isFenceCreated = false; |
||
| 18 | |||
| 19 | |||
| 20 | void Update () |
||
| 21 | {
|
||
| 22 | if(!isFenceCreated) |
||
| 23 | {
|
||
| 24 | SpeechManager speechManager = SpeechManager.Instance; |
||
| 25 | |||
| 26 | if(speechManager && speechManager.IsSapiInitialized()) |
||
| 27 | {
|
||
| 28 | Quaternion quatRot90 = Quaternion.Euler(new Vector3(0, 90, 0)); |
||
| 29 | GameObject newObj = null; |
||
| 30 | |||
| 31 | for(int i = -50; i <= 50; i++) |
||
| 32 | {
|
||
| 33 | newObj = (GameObject)GameObject.Instantiate(cratePrefab, new Vector3(i, 0.32f, 50), Quaternion.identity); |
||
| 34 | newObj.transform.parent = transform; |
||
| 35 | |||
| 36 | newObj = (GameObject)GameObject.Instantiate(cratePrefab, new Vector3(i, 0.32f, -50), Quaternion.identity); |
||
| 37 | newObj.transform.parent = transform; |
||
| 38 | |||
| 39 | newObj = (GameObject)GameObject.Instantiate(cratePrefab, new Vector3(50, 0.32f, i), quatRot90); |
||
| 40 | newObj.transform.parent = transform; |
||
| 41 | |||
| 42 | newObj = (GameObject)GameObject.Instantiate(cratePrefab, new Vector3(-50, 0.32f, i), quatRot90); |
||
| 43 | newObj.transform.parent = transform; |
||
| 44 | } |
||
| 45 | |||
| 46 | isFenceCreated = true; |
||
| 47 | } |
||
| 48 | } |
||
| 49 | } |
||
| 50 | |||
| 51 | private void ShowGuiWindow(int windowID) |
||
| 52 | {
|
||
| 53 | GUILayout.BeginVertical(); |
||
| 54 | |||
| 55 | GUILayout.Label("");
|
||
| 56 | GUILayout.Label("<b>* FORWARD / GO AHEAD</b>");
|
||
| 57 | GUILayout.Label("<b>* BACK / GO BACK</b>");
|
||
| 58 | GUILayout.Label("<b>* TURN LEFT</b>");
|
||
| 59 | GUILayout.Label("<b>* TURN RIGHT</b>");
|
||
| 60 | GUILayout.Label("<b>* RUN</b>");
|
||
| 61 | GUILayout.Label("<b>* JUMP</b>");
|
||
| 62 | GUILayout.Label("<b>* STOP</b>");
|
||
| 63 | GUILayout.Label("<b>* HELLO / WAVE</b>");
|
||
| 64 | GUILayout.Label("<i>For more audio commands\nlook at the grammar file.</i>");
|
||
| 65 | |||
| 66 | GUILayout.EndVertical(); |
||
| 67 | |||
| 68 | // Make the window draggable. |
||
| 69 | GUI.DragWindow(); |
||
| 70 | } |
||
| 71 | |||
| 72 | void OnGUI() |
||
| 73 | {
|
||
| 74 | GUI.skin = guiSkin; |
||
| 75 | guiWindowRect = GUI.Window(0, guiWindowRect, ShowGuiWindow, "Audio Commands"); |
||
| 76 | } |
||
| 77 | |||
| 78 | } |