>・アニメフラグflgは>0でON/1でOFF>の対応でよろしいでしょうかそうですね。それの対応が正しいです。1のようにON/OFFに対応する値を定義し、それをコード中で適切に使用すれば、さらにわかりやすくなると思います。なる)>だとすれば"キーを押した瞬間"を判定するのは"入力値が1の時"なので簡単なのですが・・・そうですね。キーを押している間、入力値が増える仕様です。OFF,};このように定義した上で、flgを0,ON/1,OFFにしてます。OFF,};このように定義した上で、flgを0,ON/1,OFFにしてます。定義した時に、ONは0/OFFは1になっているので、ここはON/OFFの表記でも、0/1の表記でも構いません。皆さんが分かりやすければそれで結構です。5年前できれば、みけさん以外の人が考えたコードを提示してほしいです。正解問わずお願いします。提示されたコードを書き直し、不明なインプット部分をjayさんへの返答で想像から補い画像をダウンロードしてプロジェクトを組み直し、動かしてみました。スポイラーを表示p_nowNumberの初期値に左向きの画像添え字番号を加えると一瞬だけ左になりますが即座に右向きの初期化コードが実行され、そのあとは延々と右を向いています。左向きの初期化コードを通過していない様子ですね。5年前>>taketoshiさん>右向きにキャラクタがアニメーションする事が確認できましたが、抱えている問題はこれですか?右向きにキャラクターがアニメーションしますが、左向きにはキャラクターがアニメーションしない感じです。>p_nowNumberの初期値に左向きの画像添え字番号を加えると一瞬だけ左になりますが>即座に右向きの初期化コードが実行され、そのあとは延々と右を向いています。>左向きの初期化コードを通過していない様子ですね。私の場合、左向きの画像添え字番号の初期設定ではなく、右向きの画像添え字番号しか初期設定してなかったので、左キー入力で左向きにしても、直ぐに右向きになってしまうことが一度ありました。5年前>DrawFormatString(0,100,RGB(255,255,255),"%d",p_nowNumber);>このコードを何処かに追加してp_nowNumberが目的に沿った形で変化しているか確認してみてくださいそのコードを描画処理に追加して分かったことがあります。右向きの場合はp_nowNumberはカウントされてますが、左向きの場合だとp_nowNumberはカウントされませんでした。左向きの画像添え字番号は通過されてませんでした。5年前キーを押した瞬間を検知して、そこで初期化すればいいと言ったのですが、伝わって無かったみたいですね。5年前>キーを押した瞬間を検知して、そこで初期化すればいい>と言ったのですが、伝わって無かったみたいですね。そのように仰っていましたね。伝わっていましたが、移動処理でどのようにコードを書けばいいのか良くわからなかったので。コードの提示有難うございます。そのようなコードまでは思いつきませんでした..。>こんな感じでいけると思います>足りない部分はご自分でどうぞ了解です。実践しながら詰まったら、また質問したりする事が多くなりますが、宜しくお願いします。5年前キーは左右反対方向でも同時に入力できることを忘れないようにしましょう。ゲームコントローラーでもヘタれてくるとあります。左右同時に押す→右を押したまま左を離す、とどうなるかトレースしてみてください。個人的にキーを押した瞬間に依存しないようにするのをお勧めします。5年前>>ISLeさん>左右同時に押す→右を押したまま左を離す、とどうなるかトレースしてみてください。結果は右向きになりました。左を押したまま右を離すと左向きになりました。5年前jayさんの書いたコードを書いて色々と試したのですが、どういう訳か右向きの時にも左向きの時にもアニメしなくなってしまいました...。アニメしないところで苦戦しております....。5年前>>jayさん出来れば、表示処理のコードも移動処理コードのように穴埋めする形で提示して貰えないでしょうか?ヒントかアドバイスだけ書いて貰えれば有り難いです。そこから先は自分でさらに考えますので。5年前まさかの名指しですかwとはいえあんなに穴の少ない穴埋め問題を作ってもあんまりsamusu0905さんの経験値にならない気もしますね(苦笑)とりあえず、ただ上手くできないと書かれてもこちらも困りますからねどこが上手くいっていないのか、もう少し具体的に書いてみてはどうでしょう?(多分アニメ番号を更新している所だとは思いますが)それともうひとつもう1度taketoshiさんが仰っているようにp_nowNumberの動きを追ってみてそれを教えて欲しいですね。ついでに何か気づいたことがあれば一緒に教えてもらえるとなお良しです。返事遅れてすみません...。一度、p_nowNumberを見直してみます。それで気づいたことを書き込みます。見直すというのは、p_nowNumber変数が貴方の書いたコード通りに変化していくかを「確認する」という意味です。その結果に従ってそれぞれの関数を、きちんと動くように書き直しましょう。設計してゆけば表示関数を見直す必要はありません。移動処理の関数でp_nowNumberを計算し、表示関数はその変数を使って表示するだけなので描写関数には変数の初期化やカウントアップ等の計算といった処理は一切入りません。DrawGraph(x,y,gp[p_nowNumber],true)の1行で済んでしまいます。5年前なるほど、そうゆうことですか。描画関数にはDrawGraph()関数を書くだけで十分ってことですね。移動処理にp_nowNumberを計算する処理を書くってことですね。途中まで指示通りに書いて、あとは自分で考えて書きました。11;}}}このコードを実行したら、最初のアニメ番号の初期設定が左向きになってしまいました。jayさんがNo:39で言っていた「アニメ番号を更新する所」で問題が発生した可能性があります。どこがどのようにいけないのか、までは分からないです。このコードで「ここが可笑しい」と思うところなどあれば指摘をお願いします。可笑しいと感じたところに対して、何が可笑しかったのか説明文を加えてもらえるともっと有り難いです。すればこちらの方でも改善しやすいです。コードのところで何か問題があるのではないかと思います。提示したコードは左右どちらもアニメさせる事に成功しております。後は、初期設定を右向きに設定して、更に左右ともにアニメ番号の切り替え(アニメーション)ができれば解決しそうです。具体的に言うと、キャラクターの向きの初期設定を右向きにするところが出来ておりません。5年前キャラクターの状態を初期化する関数を作りそこで変数を右向きに初期化してください。初期化関数はキャラクター生成時に一度だけ実行する関数です。dxライブラリ特有のwhileループ以前に記述すれば一度だけ実行する処理にすることができます。whileループ内に含めても良いですが、状態遷移を分けて一度だけ通るように工夫しないといけません。提示していただいたコードの中身は精査していませんが記述したコードが動いているのならばそれでよろしいのではないでしょうか。オフトピックただ、私ならば内部に上下左右正面、どの向いているのか状態遷移を記録する変数を設けそれによって処理を切り替えます。添え字番号で向き・及び初期化のタイミングを記述すると後で意味が解らなくなるためです。5年前>>taketoshiさん回答有難うございます。>キャラクターの状態を初期化する関数を作りそこで変数を右向きに初期化してください。>初期化関数はキャラクター生成時に一度だけ実行する関数です。