获取其他类的变量

我正在进行乒乓球游戏,因为我是编程新手,我不知道如何获得另一个类变量。 我有单独的课程,绿色和蓝色的拨片,一个球和game1.cs。

我用bool movingUp控制球的运动,movingLeft;

它从屏幕的边界反弹,但我不知道如何使它与桨一起工作。 基本上,我如何检查球拍的位置,当球接触球拍时,它会反弹? 我的意思是,如何检测碰撞?

public class Ball { ParticleEngine particleEngine; GraphicsDeviceManager graphics; Texture2D texture; Vector2 position; Boolean movingUp, movingLeft; Vector2 origin; public Ball() { position = new Vector2(800 / 2, 330); } public void LoadContent(ContentManager Content) { texture = Content.Load("ball"); movingLeft = true; //Particle Engine List textures = new List(); textures.Add(Content.Load("pixel")); particleEngine = new ParticleEngine(textures, new Vector2(400, 240)); } public void Update(GameTime gameTime) { float speed = 2.5f; //Physics if (movingUp) { position.Y -= 3; } if (movingLeft) { position.X -= 3; } if (!movingUp) { position.Y += 3; } if (!movingLeft) { position.X += 3; } if (position.X <= 0 && movingLeft) movingLeft = false; if (position.Y = 800 - texture.Width && !movingLeft) movingLeft = true; if (position.Y >= 500 - texture.Height && !movingUp) movingUp = true; origin = new Vector2(position.X + texture.Width / 2, position.Y + texture.Height / 2); //Particles particleEngine.EmitterLocation = new Vector2(origin.X, origin.Y); particleEngine.Update(); } public void Draw(SpriteBatch spriteBatch) { particleEngine.Draw(spriteBatch); spriteBatch.Draw(texture, position, Color.White); } } 

其中一个paddle类(它们看起来相同的名称和移动键):

 public class GreenPaddle { Texture2D texture; Vector2 position; float speed = 2f; public GreenPaddle() { position = new Vector2(10, 230); } public void LoadContent(ContentManager Content) { texture = Content.Load("greenpaddle"); } public void Update(GameTime gameTime) { KeyboardState keyState = Keyboard.GetState(); //Check If Keys Are Pressed // Movement if (keyState.IsKeyDown(Keys.W)) position.Y -= speed; if (keyState.IsKeyDown(Keys.S)) position.Y += speed; //Check Border if (position.Y  396) { position.Y = 396; } } public void Draw(SpriteBatch spriteBatch) { spriteBatch.Draw(texture, position, Color.White); } } 

在此先感谢,我真的希望学到这样的东西:D

将要访问的变量声明为public,或者创建get方法。

对于公共变量,您可以:

 public Vector2 Position; 

要访问它,您可以致电:

 Ball ball; ball.Position 

对于get方法实现:

 public Vector2 getPosition() { return Position; } 

你会称这种方法来获得这个位置。