Exemplo n.º 1
0
    void Start()
    {
        Vector2 bgSize = bgPrefab.GetComponent <SpriteRenderer>().bounds.size;

        player      = GameObject.FindGameObjectWithTag("Player");
        laneObjects = GameController.instance.lanes;
        Debug.Log(bgSize.y);
        bgSpeed = GetLanesSpeed();
        // init terrain linked list
        t1 = new TerrainLinkedList(terrains[0]);
        t2 = new TerrainLinkedList(terrains[1]);
        t1.setNext(t2);
        t2.setNext(t1);
        currentTerrain = t1;
        // init all bgs
        GameObject bg;

        for (int i = 0; i < numberOfBgs; i++)
        {
            bg = Instantiate(bgPrefab);
            bg.transform.parent = this.transform;
            Vector3 newPos = this.transform.position;
            newPos.x += bg.GetComponent <SpriteRenderer>().bounds.size.x *i;
            newPos.y  = -3;
            bg.transform.position = newPos;
            bg.GetComponent <SpriteRenderer>().sprite = currentTerrain.t;
            bgs.Add(bg);
        }
        currentTerrain = currentTerrain.next();
        Debug.Log("starttt    " + laneObjects.Length);
    }
Exemplo n.º 2
0
    public void DetectBackground()
    {
        GameObject bg = bgs[0];         // 1st bg only collides with the detect point

        if (isCollidedWithDetectPoint(bg))
        {
            // prepare a position of the last bg
            Vector3 lastBgPos = bgs[numberOfBgs - 1].transform.position;
            lastBgPos.x          += bg.GetComponent <SpriteRenderer>().bounds.size.x;
            bg.transform.position = lastBgPos;
            numOfRemovedBgs      += 1;
            if (numOfRemovedBgs > numChangeTerrain)
            {
                bg.GetComponent <SpriteRenderer>().sprite = currentTerrain.t;
            }
            if (numOfRemovedBgs > numChangeTerrain + numberOfBgs)
            {
                numOfRemovedBgs = 0;
                currentTerrain  = currentTerrain.next();
            }
            SwapBackground();
        }
    }
Exemplo n.º 3
0
 public void setNext(TerrainLinkedList n)
 {
     this.nextBg = n;
 }