마우스 입력 클래스를 사용하기 위해 간단한 클릭 게임을 만들고 있습니다.마우스 클릭 값이 업데이트되지 않습니다.
그래서 버튼 클래스 (고양이의 임의의 그림입니다 ^^)와 카운터 클래스 (클릭 한 횟수를 셀 수 있습니다)가 있고 게임 자체는 "쿠키 리 커"
class catButton
{
Texture2D buttonTexture;
Vector2 buttonPosition;
public Rectangle buttonRectangle;
public MouseState currentMouseState;
public MouseState previousMouseState;
public void Initialize()
{
buttonPosition = new Vector2(150, 300);
}
public void LoadContent(ContentManager Content)
{
buttonTexture = Content.Load<Texture2D>("cat");
buttonRectangle = new Rectangle((int)buttonPosition.X, (int)buttonPosition.Y, buttonTexture.Width, buttonTexture.Height);
}
public void Update(GameTime gameTime)
{
previousMouseState = currentMouseState;
currentMouseState = Mouse.GetState();
}
public void Draw(SpriteBatch spriteBatch, GameTime gameTime)
{
spriteBatch.Draw(buttonTexture, buttonRectangle, Color.White);
}
}
내 카운터 :
class catCounter
{
SpriteFont catfont;
Vector2 counterPosition;
catButton button = new catButton();
public MouseState currentMouseState;
public MouseState previousMouseState;
KeyboardState keyState = Keyboard.GetState();
public float amountOfCats = 0;
public catCounter()
{
}
public void LoadContent(ContentManager Content)
{
counterPosition = new Vector2(205, 155);
catfont = Content.Load<SpriteFont>("counter");
}
public void Update(GameTime gameTime)
{
MouseState currentMouseState = Mouse.GetState();
if (currentMouseState.LeftButton == ButtonState.Pressed && previousMouseState.LeftButton == ButtonState.Released && button.buttonRectangle.Contains(new Point(currentMouseState.X, currentMouseState.Y)))
{
amountOfCats++;
}
previousMouseState = currentMouseState;
}
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.DrawString(catfont, "Cats: " + amountOfCats, counterPosition, Color.White);
}
}
, 게임의 유형 D
하지만 그것은 공공, 비록 다른 클래스에서 사용할 때 변수가 업데이트되지 않습니다 여기 내 수업입니다
해야 할 일 마우스가 Game1.cs
대신에 클릭합니까?
이 글을 작성하는 데 짧은 시간을 보냈습니다.
미리 감사드립니다.
+1 DrawableGameComponent – pinckerman