void LateUpdate()
    {
        topStackY = pool.FirstStack().transform.position.y;
        if (topStackY - startOffset < 0)
        {
            return;
        }
        else
        {
            topStackY -= startOffset;
        }
        Vector3 newPos = new Vector3(transform.position.x, originCamY + topStackY, transform.position.z);

        transform.position = Vector3.Lerp(transform.position, newPos, Time.deltaTime * 5f);
    }
Exemple #2
0
 void SpawnToptack()
 {
     prevStack           = pool.FirstStack().transform;
     topStack            = pool.ReuseStack().transform;
     topStack.localScale = prevStack.localScale;
     // 根据移动方向初始化位置
     if (isMoveOnX)
     {
         topStack.position = new Vector3(-spawnOffset, prevStack.position.y + topStack.GetComponent <Stack>().SingleHeight(), prevStack.position.z);
     }
     else
     {
         topStack.position = new Vector3(prevStack.position.x, prevStack.position.y + topStack.GetComponent <Stack>().SingleHeight(), spawnOffset);
     }
     // 重置计时器
     movingTimer = 0;
 }