遊戲中一些常見效果的實現:
敵人頭上有浮動的血條:
這種效果在很多遊戲里都能看得到,只要是打怪的遊戲,一般都會有這種效果。血條能做到跟隨敵人一起移動,始終保持在敵人頭上,受到傷害時血量會減少。
實現方式:
建一個新的canvas,渲染模式選擇為World Space,也就是一個3D的canvas,裡面的UI都是以3D的形式渲染出來,與普通的顯示在熒幕的2D介面不同。
在Start方法里添加程式碼:
GameObject LifePrefab = (GameObject)Resources.Load ("LifeBar");
GameObject LifeBarObject = (GameObject)Instantiate (LifePrefab);
TankTransform = LifeBarObject.transform;
TankTransform.SetParent(GameObjectManager.Canvas3D.transform);
TankTransform.localScale = new Vector3 (0.06f,0.06f,0.06f);
TankLifeBar = LifeBarObject.GetComponent<Slider>();
然後在Update方法里添加程式碼:
Vector3 LifeBarPosition = this.transform.position;
LifeBarPosition.y += 8f;
TankTransform.transform.position = LifeBarPosition;
TankTransform.transform.eulerAngles = CameraManager.ThirdPersonCamera.transform.eulerAngles;
最後一行程式碼要根據具體需求來寫,看要控制血條的euler角度面向哪一個攝影機。
最後實現血條減血的效果就比較簡單:
LifeBar.value -= AttackValue;//血條的值減去傷害值
沒有留言:
張貼留言