- Home /
Pong Paddle moves off screen when starting game
Hi, I'm making a Pong game based off a tutorial I read online, and I think my code is fine but whenever I start the game one of the paddles (Player02) moves off of the screen and I can only see it if I stretch the screen out. It's out of the camera view even though my camera is not in perspective mode and it covers the entire background. I want both paddles to start out 75 units away from each wall towards the center, but the paddles either stick to the wall or one vanishes off of the game view. Once again, I only have one camera on the same layer as the paddles but the right one almost always vanishes.
player controls:
#pragma strict
var moveUp : KeyCode;
var moveDown : KeyCode;
var speed : float = 10;
function Update ()
{
if (Input.GetKey(moveUp))
{
rigidbody2D.velocity.y = speed;
}
else if (Input.GetKey(moveDown))
{
rigidbody2D.velocity.y = speed * -1;
}
else {
rigidbody2D.velocity.y = 0;
}
}
Scene Setup:
#pragma strict
//Reference the camera
var mainCam : Camera;
//Reference the colliders we are going to adjust
var topWall : BoxCollider2D;
var bottomWall : BoxCollider2D;
var leftWall : BoxCollider2D;
var rightWall : BoxCollider2D;
//Reference the players
var Player01 : Transform;
var Player02 : Transform;
function Start () { //Only set this to Update if you know the screen size can change during a playsession.
//Move each wall to its edge location:
topWall.size = new Vector2 (mainCam.ScreenToWorldPoint (new Vector3 (Screen.width * 2f, 0f, 0f)).x, 1f);
topWall.center = new Vector2 (0f, mainCam.ScreenToWorldPoint (new Vector3 ( 0f, Screen.height, 0f)).y + 0.5f);
bottomWall.size = new Vector2 (mainCam.ScreenToWorldPoint (new Vector3 (Screen.width * 2, 0f, 0f)).x, 1f);
bottomWall.center = new Vector2 (0f, mainCam.ScreenToWorldPoint (new Vector3( 0f, 0f, 0f)).y - 0.5f);
leftWall.size = new Vector2(1f, mainCam.ScreenToWorldPoint(new Vector3(0f, Screen.height*2f, 0f)).y);
leftWall.center = new Vector2(mainCam.ScreenToWorldPoint(new Vector3(0f, 0f, 0f)).x - 0.5f, 0f);
rightWall.size = new Vector2(1f, mainCam.ScreenToWorldPoint(new Vector3(0f, Screen.height*2f, 0f)).y);
rightWall.center = new Vector2(mainCam.ScreenToWorldPoint(new Vector3(Screen.width, 0f, 0f)).x + 0.5f, 0f);
//Move the players to a fixed distance from the edges of the screen:
Player01.position.x = mainCam.ScreenToWorldPoint (new Vector3 (75f, 0f, 0f)).x;
Player02.position.x = mainCam.ScreenToWorldPoint (new Vector3 (Screen.width -75f, 0f, 0f)).x;
}
Your answer
Follow this Question
Related Questions
Multiplayer Cameras First Person One Camera 0 Answers
Camera Problem 1 Answer
Unity 2D Position Issues 0 Answers
Player rotates with camera(face same direction as the camera) 1 Answer
MiniMap with player and object icons 1 Answer