if (Key[KEY_INPUT_G] == 1 && Gcount <= 15) {//前のifが成り立っても攻撃が当たらなければ相手のHPは減らない、しかし、前のif文が成立して次のif文も成立すれば相手のHPが減る。
playerImage = playerGHandle[9];
Gtime = 1;
Gcount = Gcount - 1;
if (playerY == enemyY) {
enemyHP = enemyHP - 10;
}
}
if (Gtime >= 1) {//ifの中にifを書くときは前のifが成り立っていいないとならないため、そうでない場合は新しいif文として書いた
//10以上になるまで+1していく、if (++Gtime >= 10)だと10以上になったら元に戻るので、其のあとも進むように
++Gtime;
if (Gtime >= 5) {//Gtimeが変わった際に、次のifも成立するように以前のifが成立するように作る必要がある。
playerImage = playerGHandle[2];
enemyImage = enemyGHandle[5];
Gtime = 0;
}
}
現象としては攻撃し終わった後、横向きになるのですが、横向きになるまで時間が数秒かかるときもあれば、一瞬の時もありバラバラです。
if (Gtime >= 5) より、Gtimeが5以上になった瞬間にGtime = 0;(自分が横向き)になると考えたのですが、上に書いたように横向きになるまでが
バラつきます。
以下は全体のコードです。
https://pastebin.com/tECLmVtu
使用した画像です。
https://bituse.info/game/21
マルチポスト
https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi