// 인수 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; }
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); // 이동할 위치의 블록 이동을 시작. }