Beispiel #1
0
 // Update is called once per frame
 void Update()
 {
     if ((DiamondSnake.GetTheInstance().transform.position - transform.position).sqrMagnitude < 2.9f)
     {
         DiamondSnake.GetTheInstance().AddNBody(addNum);
         Destroy(this.gameObject);
     }
 }
Beispiel #2
0
 // Update is called once per frame
 void Update()
 {
     tdPos = transform.position - DiamondSnake.GetTheInstance().transform.position;
     if ((-xyOffset < tdPos.x) && (tdPos.x < xyOffset) && (-xyOffset < tdPos.y) && (tdPos.y < xyOffset) && (tdPos.sqrMagnitude < 29.7f))
     {
         SoundPlayer.PlayItemsSound(7);
         DiamondSnake.GetTheInstance().MinusNBody(minusNum);
         Destroy(this.gameObject);
     }
 }
Beispiel #3
0
    //***************************************************************************
    //与蛇相关的操作


    private void MoveThisBody()
    {
        if (theNum != 1)
        {
            tTransArrayNum     = (lastsnakebody.qhead + oneStepNum) % arrayLen;
            transform.position = lastsnakebody.historyPosArray[tTransArrayNum];
            transform.rotation = lastsnakebody.historyRotArray[tTransArrayNum];
        }
        else
        {
            transform.position = DiamondSnake.GetTheInstance().GetHistoryPos();
            transform.rotation = DiamondSnake.GetTheInstance().GetHistoryRot();
        }
    }
Beispiel #4
0
    private void Awake()
    {
        tVel         = new Vector3(0f, 0f, 0f);
        tdPos        = new Vector3(snakeSpeed, 0f, 0f);
        whetherAlive = true;
        theInstance  = this;


        SetStartHistoryArray();                   //纯数值处理,对前面的流程无依赖
        LoadSkinSprite();                         //加载皮肤资源,对前面的流程无依赖
        SetPrefabSnakeHeadAndBody();              //加载pefab,并设定皮肤,要求前面已加载皮肤
        snakeBodySpriteRenderer.sortingOrder = 0; //要求prefab已加载

        InstantiateFirstBody();                   //生成第一个体节


        DiamondGameManager.GetTheInstance().SetLenText(snakeLength);
        DiamondGameManager.GetTheInstance().SetSpeedText((int)(snakeSpeed));
    }
 public void TheSnakDie()
 {
     Time.timeScale    = 0;
     dieScoreText.text = (score + (int)DiamondSnake.GetTheInstance().transform.position.x).ToString();
     dieUIObj.SetActive(true);
 }
 private void SetScoreText()
 {
     scoreText.text = (score + (int)DiamondSnake.GetTheInstance().transform.position.x).ToString();
 }
Beispiel #7
0
    //***************************************************************************



    private void Awake()
    {
        oneStepNum = DiamondSnake.GetOneStepNum();
        arrayLen   = DiamondSnake.GetArrayLength();
        SetStartHistoryArray();
    }