// 인수 color의 색으로 블록을 칠한다.
    public void setColor(Tile.COLOR color)
    {
        this.color = color;        // 이번에 지정된 색을 멤버 변수에 보관.
        Color color_value;         // Color클래스는 색을 나타낸다.

        switch (this.color)
        {
        default:
        case Tile.COLOR.RED:
            color_value = Color.red;
            break;

        case Tile.COLOR.BLUE:
            color_value = Color.blue;
            break;

        case Tile.COLOR.YELLOW:
            color_value = Color.yellow;
            break;

        case Tile.COLOR.GREEN:
            color_value = Color.green;
            break;

        case Tile.COLOR.BLACK:
            color_value = Color.black;
            break;
        }
        this.GetComponent <Renderer>().material.color = color_value;
    }
Beispiel #2
0
    public void swapTile(TileControl tile0, Tile.DIR4 dir, TileControl tile1)
    {
        // 각각의 블록 색을 기억해 둔다.
        Tile.COLOR color0 = tile0.color;
        //Tile.COLOR color1 = tile1.color;

        // 각각의 블록의.확대율을 기억해 둔다.
        Vector3 scale0 = tile0.transform.localScale;
        Vector3 scale1 = tile1.transform.localScale;

        // 각각의 블록의 사라지는 시간을 기억해 둔다.
        float vanish_timer0 = tile0.vanish_timer;
        float vanish_timer1 = tile1.vanish_timer;

        // 각각의 블록의 이동할 곳을 구한다.
        Vector3 offset0 = GamePlay.getDirVector(dir);
        Vector3 offset1 = GamePlay.getDirVector(GamePlay.getOppositDir(dir));

        //tile0.setColor(color1); // 색을 교체한다.
        tile1.setColor(color0);
        tile0.transform.localScale = scale1;        // 확대율을 교체한다.
        tile1.transform.localScale = scale0;
        tile0.vanish_timer         = vanish_timer1; // '사라지는 시간'을 교체한다.
        tile1.vanish_timer         = vanish_timer0;
        tile0.beginSlide(offset0);                  // 원래 블록 이동을 시작.
        tile1.beginSlide(offset1);                  // 이동할 위치의 블록 이동을 시작.
    }