private void OnTriggerEnter(Collider other) { InGameStep step = other.gameObject.transform.parent.gameObject.GetComponent <InGameStep>(); if (step == null) { if (other.gameObject.name == "Wave") { Die(); } else { Debug.Log("OnTriggerEnter Other"); } return; } if (step.IsDie()) { return; } step.SetDie(); Vector3 vec = step.vecObj.position - step.transform.position; vec.z = 0; Jump(vec); AddScore(Mathf.Abs(step.transform.position.x - transform.position.x) < 0.5f); GameObject effect = Resources.Load("Prefabs/Effect/RoleHitEffect") as GameObject; effect = Instantiate(effect); effect.transform.position = transform.position; }
public void AddStep() { GameObject obj = Resources.Load("Prefabs/MapObj/InGameStep") as GameObject; obj = MonoBehaviour.Instantiate(obj); obj.transform.position = new Vector3(addStepDis, 0f, Random.Range(-GameConst.MAP_OBJ_MAX_POSX, GameConst.MAP_OBJ_MAX_POSX)); InGameStep step = obj.GetComponent <InGameStep>(); stepList.Add(step); float dis = InGameManager.GetInstance().role.transform.position.x; nowSize = 1 - Mathf.Min(dis / 200f, 1f); nowSize = minSize + (maxSize - minSize) * nowSize; step.Init(Mathf.Max(nowSize - randomRange, minSize), Mathf.Min(nowSize + randomRange, maxSize)); }
public void Init() { EventManager.Register(this, EventID.EVENT_TOUCH_DOWN, EventID.EVENT_TOUCH_MOVE); addCount = (int)(GameConst.GAME_STEP_INTERVAL * 7); addStepDis += GameConst.GAME_STEP_INTERVAL; for (int i = 0; i < 1; i++) { InGameBaseObj obj = AddObj(InGameBaseObj.enObjType.step); obj.transform.position = new Vector3(0, 0, addStepDis); addStepDis += GameConst.GAME_STEP_INTERVAL; InGameStep step = (InGameStep)obj; step.RandScale(4, 0); } AddStepUpdate(); }
void AddStepUpdate() { float roleposz = InGameManager.GetInstance().role.transform.position.z; while (addStepDis - roleposz < addCount) { InGameBaseObj obj = AddObj(InGameBaseObj.enObjType.step); float y = 0; if (addStepDis > addCount) { y = -5; } obj.transform.position = new Vector3(0, y, addStepDis); addStepDis += GameConst.GAME_STEP_INTERVAL; InGameStep step = (InGameStep)obj; step.RandScale(Random.Range(2f - InGameManager.GetInstance().gameScale, 5f - InGameManager.GetInstance().gameScale), -3 + Random.Range(0f, 6f)); } }