移動またはアクション キーが押されていないときに、キャラクターがアニメーションを実行するのを止めようとしています。
アニメーションを一時停止する機能がありますが、キャラクターの動きを完全に停止せずに実装する方法がわかりません。
PlayerSprite
アップデートで行っていることは次のとおりです。
this.move = (int)(GameData.PLAYER_MOVE_INCREMENT * gameTime.ElapsedGameTime.Milliseconds);
if (SpriteManager.GAME.KEYBOARDMANAGER.isKeyDown(leftKey))
{
MoveBy(-move, 0);
this.PRESENTATIONINFO.SPRITEEFFECTS = SpriteEffects.FlipHorizontally;
}
if (SpriteManager.GAME.KEYBOARDMANAGER.isKeyDown(rightKey))
{
MoveBy(move, 0);
this.PRESENTATIONINFO.SPRITEEFFECTS = SpriteEffects.None;
}
if (SpriteManager.GAME.KEYBOARDMANAGER.isFirstKeyPress(Keys.Space))
{
bPause = !bPause;
}
スペースバーを押すとアニメーションが一時停止しますが、キーが押されていないときに一時停止して、キャラクターが静止しているような効果を与えたいです。
前もって感謝します。
私はこれを行うことでそれを修正しました:
bPause = true;
this.move = (int)(GameData.PLAYER_MOVE_INCREMENT * gameTime.ElapsedGameTime.Milliseconds);
if (SpriteManager.GAME.KEYBOARDMANAGER.isKeyDown(leftKey))
{
bPause = false;
MoveBy(-move, 0);
this.PRESENTATIONINFO.SPRITEEFFECTS = SpriteEffects.FlipHorizontally;
}
if (SpriteManager.GAME.KEYBOARDMANAGER.isKeyDown(rightKey))
{
bPause = false;
MoveBy(move, 0);
this.PRESENTATIONINFO.SPRITEEFFECTS = SpriteEffects.None;
}
if (SpriteManager.GAME.KEYBOARDMANAGER.isFirstKeyPress(Keys.Space))
{
bPause = false;
}