Mercurial > hg > Game > Games
view 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 |
line wrap: on
line source
using UnityEngine; using System.Collections; public class myscript : MonoBehaviour { //変数の用意 // float fog = 0; GameObject obj; int counter = 0; GameObject[] sphereObj = new GameObject[13]; public GameObject prefab; // Use this for initialization void Start () { //フォグ(画面全体のエフェクト)の設定 // RenderSettings.fog = true; // RenderSettings.fogColor = Color.gray; // RenderSettings.fogDensity = 0f; } // Update is called once per frame void Update () { // // if (RenderSettings.fogDensity < fog) { // RenderSettings.fogDensity += 0.0001f; // } for (int i = 0; i < 13; i++) { //82行目が実行されたときでも29行目が実行されるようにするためにtry構文を使う try{ //Cubeが回転するように設定 GameObject.Find ("Cube" + i).transform.Rotate (new Vector3 (1f, 1f, 1f)); }catch{ } } //カメラの位置を調整 Vector3 v = transform.position; v.y += 2; v.z -= 7; Camera.main.transform.position = v; //Spaceキーを押している間カメラの位置を遠ざける if (Input.GetKey (KeyCode.Space)) { v.y += 3; v.z -= 10.5f; Camera.main.transform.position = v; } //ボールの操作設定 if (Input.GetKey (KeyCode.LeftArrow)) { GetComponent<Rigidbody>().AddForce (new Vector3 (-10f, 0, 0)); } if (Input.GetKey (KeyCode.RightArrow)) { GetComponent<Rigidbody>().AddForce (new Vector3 (10f, 0, 0)); } if (Input.GetKey (KeyCode.UpArrow)) { GetComponent<Rigidbody>().AddForce (new Vector3 (0, 0, 10f)); } if (Input.GetKey (KeyCode.DownArrow)) { GetComponent<Rigidbody>().AddForce (new Vector3 (0, 0, -10f)); } AddForceAll (); //下に落ちるとゲームオーバー if (transform.position.y < -40) { Application.LoadLevel ("GameOver"); } //全てのオブジェクトに触れるとクリア if (counter == 13) { Application.LoadLevel ("Clear"); } } //CubeがSphereになって追いかけてくる void AddForceAll(){ GameObject[] objs = GameObject.FindGameObjectsWithTag ("sphere"); foreach(GameObject obj1 in objs){ Vector3 dir = transform.position - obj1.transform.position; obj1.GetComponent<Rigidbody>().AddForce (dir * 2.0f); } } //衝突判定 void OnCollisionEnter(Collision collider){ if (collider.gameObject.name.StartsWith ("Cube")) { counter++; for (int i = 0; i < 13; i++) { GameObject cube = GameObject.Find ("Cube" + i); if (cube == collider.gameObject){ // if (cubes [i] == collider.gameObject) { ParticleSystem ps = (ParticleSystem)GameObject. Find("GameObject" + i).GetComponent ("ParticleSystem"); ps.Play (); Vector3 p = cube.transform.position; cube.SetActive (false); // obj = GameObject. // CreatePrimitive(PrimitiveType.Sphere); obj = (GameObject)Instantiate (prefab); obj.AddComponent <Rigidbody>(); obj.transform.position = p; // obj.GetComponent<Renderer>().material.color = Color.cyan; obj.GetComponent<Renderer> ().material.color = Color.red; obj.tag = "sphere"; sphereObj[i] = obj; // fog += 0.01f; // if (counter == 2) { // Application.LoadLevel ("GameOver"); // } } } } for (int i = 0; i < 13; i++) { if (collider.gameObject == sphereObj [i]) { Application.LoadLevel ("GameOver"); } } } //トリガーに設定したCylinderに触れるとワープ void OnTriggerExit(Collider collider){ if (collider.name == "Cylinder0"){ // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); // b.enabled = true; gameObject.transform.position = new Vector3 (3,-9,3); } if (collider.name == "Cylinder1"){ // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); // b.enabled = true; gameObject.transform.position = new Vector3 (3,0,3); } if (collider.name == "Cylinder2"){ // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); // b.enabled = true; gameObject.transform.position = new Vector3 (3,51,3); } if (collider.name == "Cylinder3"){ // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); // b.enabled = true; gameObject.transform.position = new Vector3 (3,-19,3); } if (collider.name == "Cylinder4"){ // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); // b.enabled = true; gameObject.transform.position = new Vector3 (3,-9,3); } if (collider.name == "Cylinder5"){ // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); // b.enabled = true; gameObject.transform.position = new Vector3 (3,51,3); }if (collider.name == "Cylinder6"){ // Behaviour b = (Behaviour)collider.gameObject.GetComponent ("Halo"); // b.enabled = true; gameObject.transform.position = new Vector3 (3,0,3); } } }