Mercurial > hg > Game > Games
comparison Chapter5/Assets/Scripts/myscript.cs @ 2:fdab88fc2cb9
add game projects
author | Yuta ANSE <e135745@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2015 23:14:45 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:347d21cdfc22 | 2:fdab88fc2cb9 |
---|---|
1 using UnityEngine; | |
2 using System.Collections; | |
3 | |
4 public class myscript : MonoBehaviour { | |
5 //変数の用意 | |
6 // float fog = 0; | |
7 GameObject obj; | |
8 int counter = 0; | |
9 GameObject[] sphereObj = new GameObject[13]; | |
10 public GameObject prefab; | |
11 | |
12 // Use this for initialization | |
13 void Start () { | |
14 //フォグ(画面全体のエフェクト)の設定 | |
15 // RenderSettings.fog = true; | |
16 // RenderSettings.fogColor = Color.gray; | |
17 // RenderSettings.fogDensity = 0f; | |
18 } | |
19 | |
20 // Update is called once per frame | |
21 void Update () { | |
22 // | |
23 // if (RenderSettings.fogDensity < fog) { | |
24 // RenderSettings.fogDensity += 0.0001f; | |
25 // } | |
26 for (int i = 0; i < 13; i++) { | |
27 //82行目が実行されたときでも29行目が実行されるようにするためにtry構文を使う | |
28 try{ | |
29 //Cubeが回転するように設定 | |
30 GameObject.Find ("Cube" + i).transform.Rotate (new Vector3 (1f, 1f, 1f)); | |
31 }catch{ | |
32 } | |
33 } | |
34 //カメラの位置を調整 | |
35 Vector3 v = transform.position; | |
36 v.y += 2; | |
37 v.z -= 7; | |
38 Camera.main.transform.position = v; | |
39 //Spaceキーを押している間カメラの位置を遠ざける | |
40 if (Input.GetKey (KeyCode.Space)) { | |
41 v.y += 3; | |
42 v.z -= 10.5f; | |
43 Camera.main.transform.position = v; | |
44 } | |
45 //ボールの操作設定 | |
46 if (Input.GetKey (KeyCode.LeftArrow)) { | |
47 GetComponent<Rigidbody>().AddForce (new Vector3 (-10f, 0, 0)); | |
48 } | |
49 if (Input.GetKey (KeyCode.RightArrow)) { | |
50 GetComponent<Rigidbody>().AddForce (new Vector3 (10f, 0, 0)); | |
51 } | |
52 if (Input.GetKey (KeyCode.UpArrow)) { | |
53 GetComponent<Rigidbody>().AddForce (new Vector3 (0, 0, 10f)); | |
54 } | |
55 if (Input.GetKey (KeyCode.DownArrow)) { | |
56 GetComponent<Rigidbody>().AddForce (new Vector3 (0, 0, -10f)); | |
57 } | |
58 AddForceAll (); | |
59 //下に落ちるとゲームオーバー | |
60 if (transform.position.y < -40) { | |
61 Application.LoadLevel ("GameOver"); | |
62 } | |
63 //全てのオブジェクトに触れるとクリア | |
64 if (counter == 13) { | |
65 Application.LoadLevel ("Clear"); | |
66 } | |
67 } | |
68 | |
69 //CubeがSphereになって追いかけてくる | |
70 void AddForceAll(){ | |
71 GameObject[] objs = GameObject.FindGameObjectsWithTag ("sphere"); | |
72 foreach(GameObject obj1 in objs){ | |
73 Vector3 dir = transform.position - obj1.transform.position; | |
74 obj1.GetComponent<Rigidbody>().AddForce (dir * 2.0f); | |
75 } | |
76 } | |
77 | |
78 //衝突判定 | |
79 void OnCollisionEnter(Collision collider){ | |
80 if (collider.gameObject.name.StartsWith ("Cube")) { | |
81 counter++; | |
82 for (int i = 0; i < 13; i++) { | |
83 GameObject cube = GameObject.Find ("Cube" + i); | |
84 if (cube == collider.gameObject){ | |
85 // if (cubes [i] == collider.gameObject) { | |
86 ParticleSystem ps = (ParticleSystem)GameObject. | |
87 Find("GameObject" + i).GetComponent ("ParticleSystem"); | |
88 ps.Play (); | |
89 Vector3 p = cube.transform.position; | |
90 cube.SetActive (false); | |
91 // obj = GameObject. | |
92 // CreatePrimitive(PrimitiveType.Sphere); | |
93 obj = (GameObject)Instantiate (prefab); | |
94 obj.AddComponent <Rigidbody>(); | |
95 obj.transform.position = p; | |
96 // obj.GetComponent<Renderer>().material.color = Color.cyan; | |
97 obj.GetComponent<Renderer> ().material.color = Color.red; | |
98 obj.tag = "sphere"; | |
99 sphereObj[i] = obj; | |
100 // fog += 0.01f; | |
101 // if (counter == 2) { | |
102 // Application.LoadLevel ("GameOver"); | |
103 // } | |
104 } | |
105 } | |
106 } | |
107 for (int i = 0; i < 13; i++) { | |
108 if (collider.gameObject == sphereObj [i]) { | |
109 Application.LoadLevel ("GameOver"); | |
110 } | |
111 } | |
112 } | |
113 | |
114 //トリガーに設定したCylinderに触れるとワープ | |
115 void OnTriggerExit(Collider collider){ | |
116 if (collider.name == "Cylinder0"){ | |
117 // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); | |
118 // b.enabled = true; | |
119 gameObject.transform.position = new Vector3 (3,-9,3); | |
120 } | |
121 if (collider.name == "Cylinder1"){ | |
122 // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); | |
123 // b.enabled = true; | |
124 gameObject.transform.position = new Vector3 (3,0,3); | |
125 } | |
126 if (collider.name == "Cylinder2"){ | |
127 // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); | |
128 // b.enabled = true; | |
129 gameObject.transform.position = new Vector3 (3,51,3); | |
130 } | |
131 if (collider.name == "Cylinder3"){ | |
132 // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); | |
133 // b.enabled = true; | |
134 gameObject.transform.position = new Vector3 (3,-19,3); | |
135 } | |
136 if (collider.name == "Cylinder4"){ | |
137 // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); | |
138 // b.enabled = true; | |
139 gameObject.transform.position = new Vector3 (3,-9,3); | |
140 } | |
141 if (collider.name == "Cylinder5"){ | |
142 // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); | |
143 // b.enabled = true; | |
144 gameObject.transform.position = new Vector3 (3,51,3); | |
145 }if (collider.name == "Cylinder6"){ | |
146 // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); | |
147 // b.enabled = true; | |
148 gameObject.transform.position = new Vector3 (3,0,3); | |
149 } | |
150 } | |
151 } |