private void OnTriggerEnter2D(Collider2D collision)
 {
     if ((collision.transform.tag == "SnakeHead") && (thisColor != ColorSnake.GetTheInstance().GetSnakeColor()))
     {
         ColorSnake.GetTheInstance().TheSnakeDie();
     }
 }
Exemple #2
0
    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);           //只有在初始时生成一定长度,之后就用不上了
    }
Exemple #3
0
 public Point(Point p)
 {
     x = p.x;
     y = p.y;
     sim = p.sim;
     color = p.color;
 }
Exemple #4
0
 public Point(int _x, int _y, char _sim, ColorSnake color)
 {
     x = _x;
     y = _y;
     sim = _sim;
     this.color = color;
 }
Exemple #5
0
 public FoodCreator(int x, int y, char sym, ColorSnake color)
 {
     mapHeight = y;
     mapWidth = x;
     this.sym = sym;
     this.color=color;
 }
Exemple #6
0
    private void Awake()
    {
        thisSpriteRenderer = GetComponent <SpriteRenderer>();
        oneStepNum         = ColorSnake.GetOneStepNum();
        arrayLen           = ColorSnake.GetArrayLength();

        SetStartHistoryArray();
    }
Exemple #7
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.transform.tag == "SnakeHead")
        {
            ColorSnake.GetTheInstance().SetSnakeColor(thisSpriteRender.color);
        }

        print(Color.yellow);
    }
Exemple #8
0
 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);
     }
 }
Exemple #9
0
 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);
     }
 }
Exemple #10
0
    //***************************************************************************
    //与蛇相关的操作


    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);
    }