Пример #1
0
    private void SpawnMonster(GameObject obj)
    {
        // WARNING! This is just experimental for fun stuff to learn Unity and NOT the way to do it - there are better ways, but this is about learning methods

        // get box collider as we use that to measure the area it can spawn and roam
        BoxCollider boxCollider = (BoxCollider)obj.GetComponent(typeof(BoxCollider));

        // get a random x position within area
        float x = Random.Range(obj.transform.position.x, obj.transform.position.x + boxCollider.size.x);

        // set position to spawn (add 1.0f for sprite height)
        Vector3 pos = new Vector3(x, obj.transform.position.y + 1.0f, 0);

        // instantiate prefab monster object - rotate to get sprite correct
        GameObject monster = Instantiate(Resources.Load("Monster"), pos, Quaternion.identity) as GameObject;

        // get movement script and set step and stop position
        MonsterFeet mFeet = monster.GetComponent <MonsterFeet>();

        // set stop position (and ensure a minimum distance)
        mFeet.m_stopPositionX = Random.Range(x, obj.transform.position.x + boxCollider.size.x);
        if (mFeet.m_stopPositionX < x + 2.0f)
        {
            mFeet.m_stopPositionX += 2.0f;
        }

        mFeet.m_stepX = Random.Range(2.0f, 8.0f);
    }
Пример #2
0
    // Use this for initialization
    void Start()
    {
        animateTexture = GetComponent <AnimatedTextureExtendedUV>();

        monsterFeet = GetComponent <MonsterFeet>();
    }
Пример #3
0
    // Use this for initialization
    void Start()
    {
        animateTexture = GetComponent<AnimatedTextureExtendedUV>();

        monsterFeet = GetComponent<MonsterFeet>();
    }