private void OnTriggerEnter2D(Collider2D collision) { if ((collision.transform.tag == "SnakeHead") && (thisColor != ColorSnake.GetTheInstance().GetSnakeColor())) { ColorSnake.GetTheInstance().TheSnakeDie(); } }
private void Awake() { whetherAlive = true; theInstance = this; tVel = new Vector3(0f, 0f, 0f); snakeSpeed = 20f + 5f * MessageSender.GetTheInstance().GetDifficultyNum(); tdPos = new Vector3(snakeSpeed, 0f, 0f); thisRigidbody2d = GetComponent <Rigidbody2D>(); thisSpriteRenderer = GetComponent <SpriteRenderer>(); thisSpriteRenderer.color = Color.white; snakeBodyObj = Resources.Load <GameObject>("Prefabs/ColorPre/ColorSnakeBody"); snakeBodySpriteRenderer = snakeBodyObj.GetComponent <SpriteRenderer>(); snakeBodySpriteRenderer.color = thisSpriteRenderer.color; snakeBodySpriteRenderer.sortingOrder = 0; SetStartHistoryArray(); //需要设置color后再运行这个函数 InstantiateFirstBody(); //加载snakeBodyObj,设置snakelength之后使用 SetStartHeadAndTail(); //生成第一个体节之后使用 AddNBody(20); //只有在初始时生成一定长度,之后就用不上了 }
public Point(Point p) { x = p.x; y = p.y; sim = p.sim; color = p.color; }
public Point(int _x, int _y, char _sim, ColorSnake color) { x = _x; y = _y; sim = _sim; this.color = color; }
public FoodCreator(int x, int y, char sym, ColorSnake color) { mapHeight = y; mapWidth = x; this.sym = sym; this.color=color; }
private void Awake() { thisSpriteRenderer = GetComponent <SpriteRenderer>(); oneStepNum = ColorSnake.GetOneStepNum(); arrayLen = ColorSnake.GetArrayLength(); SetStartHistoryArray(); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.transform.tag == "SnakeHead") { ColorSnake.GetTheInstance().SetSnakeColor(thisSpriteRender.color); } print(Color.yellow); }
public VerticalLine(int yUp, int yUdown, int x, char sim, ColorSnake color) { pList = new List<Point>(); for (int y = yUp; y <= yUdown; y++) { Point p = new Point(x, y, sim, color); pList.Add(p); } }
public HorizontalLine(int xLeft, int xRight, int y, char sim, ColorSnake color) { pList = new List<Point>(); for (int x = xLeft; x <= xRight; x++) { Point p = new Point(x, y, sim, color); pList.Add(p); } }
//*************************************************************************** //与蛇相关的操作 private void MoveThisBody() { if (theNum != 1) { tTransArrayNum = (lastsnakebody.qhead + oneStepNum) % arrayLen; transform.position = lastsnakebody.historyPosArray[tTransArrayNum]; thisSpriteRenderer.color = lastsnakebody.historyColorArray[tTransArrayNum]; } else { transform.position = ColorSnake.GetTheInstance().GetHistoryPos(); thisSpriteRenderer.color = ColorSnake.GetTheInstance().GetHistoryColor(); } }
//********************************************************************************************************************************************* //关于UI public void TheSnakDie() { Time.timeScale = 0; dieScoreText.text = ((int)ColorSnake.GetTheInstance().transform.position.x).ToString(); dieUIObj.SetActive(true); }