ここで実装しようとしているのは、画面にキャラクターがあり、矢印キーを押すことで上下左右に移動できることです。
私がやりたいことは、左にクリックすると画像が反転し、右にクリックすると反転することです。これにより、キャラクターは常に歩き方を向いています。
元の画像と反転した画像を定義するコードは次のようになります。
Game.Hero = function (myX, myY){
var my = new createjs.Bitmap("img/hero.png");
my.reverseHero = function (){
my.image.src = "img/hero-1.png";
};
次に、この問題を解決しようとしている方法を示すコード スニペットをここに示します。
my.moveBy = function(dirX, dirY){
var testX = my.posX + dirX;
var testY = my.posY + dirY;
if (testX < 0 || testY < 0 || testX > 21 || testY > 8){
return;
}
if (dirX === -1){
my.reverseHero();
} else if (dirX === 1) {
Game.stage.addChild(Game.hero);
}
現時点での問題は、左に歩くとイメージが実際に反転するのですが、もう一度右に行こうとするとイメージが反転しないことです。
そのため、コードは実際には最初の if ステートメントのみを実行しており、そこでハングアップし続けています。
何が間違っている可能性があるか提案はありますか?