Ghost Hunter Game logic/HUD
Uj empty gameobject: GameData GameLogic Szkriptet nekik
public class GameLogic : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { Vector2 mousePos = new Vector2(Input.mousePosition.x, Input.mousePosition.y); Debug.Log ("MousePos" + mousePos.x + " " + mousePos.y);
public class GameData : MonoBehaviour { public int score = 0; public float life = 100; public int ghostBirth = 0; public int ghostShoot = 0; }
Proba
GameLogic void Update () { Vector2 mousePos = new Vector2(Input.mousePosition.x, Input.mousePosition.y); if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay (mousePos); RaycastHit[] hits = Physics.RaycastAll(ray); GameObject ghost = null; float dist = float.MaxValue; for(int i = 0; i < hits.Length; ++i) { if(hits[i].collider.gameObject.tag == "ghost") if(hits[i].distance < dist) dist = hits[i].distance; ghost = hits[i].collider.gameObject; } if(ghost != null) Debug.Log("Ghost hit"); //TODO: add points, kill ghost
Oldjuk meg: A szellemek másodpercenként vegyenek le egy életerőt A szellemek másodpercenként veszítsenek 2 pontot az általuk kapható pontokból (minél gyorsabban kapjuk el őket, annál több pontot érnek) Ha szellem születik, adjunk hozzá a gamedata ghostbirth változójához
A játéklogika kb kész Adjunk hozzá HUD-ot! GameObject->UI->Canvas
GameObject->UI->Image Health icon A healt icon kép import tulajdonságainál: sprite típusu legyen Rect transform komponens origója bal felül legyen Image komponens képe a health icon legyen Helyezzük el bal felülre
GameObjectUI->Image Crosshair A kép import tulajdonságainál:sprite Image komponensnél állítsuk be Szükség lesze gy uj materialra is: shader típusa fx/flare Ezt állítsuk be az Image komponensre void Update () { Kurzor beállítása: Start: (find or connect: RectTransform crossHairTransform;) Cursor.visible = false; Update: Vector2 mousePos = new Vector2(Input.mousePosition.x, Input.mousePosition.y); crossHairTransform.position = new Vector3 (mousePos.x, mousePos.y, 0);
Futtatás
Hátra van Szöveg a pontszámmal, életerővel Játéklogika finomítása GameObject->UI->Text (UnityEngine.UI.Text) Játéklogika finomítása Pl. szellemek véletlenszerű sebességgel HUD finomítása Életerő bar-al A célkereszt nőjön meg egy picit, ha lövünk