ここでゲームに取り組んでおり、これまでにゲームのメニュー システムを作成しました。3 つの異なるボタンを追加しました。1つのことを除いて、すべてを整理しました。
そのため、通常の if intersects メソッドを使用して、マウスとボタンの四角形が衝突して効果音を再生しているかどうかを確認しています。ただし、この音を止める方法がわかりません。ボタンからマウスを離すまで、常にループしています。1回だけ再生できるようにしたいです。
public void Update(MouseState mouse, GraphicsDevice graphics, SoundEffect soundEffect)
{
rectangle = new Rectangle((int)position.X, (int)position.Y, (int)size.X, (int)size.Y);
Rectangle mouseRectangle = new Rectangle(mouse.X, mouse.Y, 1, 1);
if(mouseRectangle.Intersects(rectangle))
{
if (mouse.LeftButton == ButtonState.Pressed) isClicked = true;
size = new Vector2(graphics.Viewport.Width / 9, graphics.Viewport.Height / 13);
soundEffect.Play();
}
else
{
size = new Vector2(graphics.Viewport.Width / 10, graphics.Viewport.Height / 14);
isClicked = false;
}
どんな助けでも感謝します。
ところで:これは必要ではありませんが、ボタンの上にカーソルを合わせると別の「問題」が発生しました。意図したとおりに大きくなります。でも中心から大きくなりません。説明するのはちょっと難しいですが、-x と -y ではなく、x と y の位置で大きくなります。同じ位置にあります。