Example #1
0
    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;
    }
Example #2
0
    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));
        }
    }