/// <summary>
    /// Move the ball in the right direction
    /// </summary>
    private void Movement()
    {
        // Move
        movementSpeedScaler += Time.deltaTime * 0.1f;
        pongball.position    = new Vector3(pongball.position.x + dirX * movementSpeed * movementSpeedScaler * Time.deltaTime, pongball.position.y + dirY * movementSpeed * Time.deltaTime, 0);
        // Clamp inside camera view
        Vector3 pos = Camera.main.WorldToViewportPoint(pongball.position);

        pos.x = Mathf.Clamp01(pos.x);
        pos.y = Mathf.Clamp01(pos.y);
        // Change dir if reached edge
        if (pos.x == 0)
        {
            // Touched left, point for player
            dirX  = 1;
            pos.x = 0.5f;
            pos.y = 0.5f;
            movementSpeedScaler = 1;
            Tymon_Main.UpdateScore(new Vector2(0, 1));
        }
        else if (pos.x == 1)
        {
            // Touched right, point for enemy
            dirX  = -1;
            pos.x = 0.5f;
            pos.y = 0.5f;
            movementSpeedScaler = 1;
            Tymon_Main.UpdateScore(new Vector2(1, 0));
        }
        if (pos.y == 0)
        {
            dirY = 1;
        }
        else if (pos.y == 1)
        {
            dirY = -1;
        }
        // Set ponball position relative to camea viewport
        pongball.position = Camera.main.ViewportToWorldPoint(pos);
    }
示例#2
0
 private void Awake()
 {
     Instance = this;
 }