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 }