ページ 11

2Dゲームの作成について

Posted: 2008年4月13日(日) 19:15
by Kirby
初めまして。
まだC言語暦は1週間もない初心者ですが、よろしくお願いします。
今、2Dゲームを作成中なのですが、どうしても左にキャラクターを移動できません。
このHPの運営者のC言語ゲーム解説ページの2D解説では、右方向のみの解説なので、
どうしたらいいのか分かりません。
私はマリオのような左右に移動するゲームを作成したいのです。
4方向の解説もあったので、ソースをいじって、左右にのみいけるようにしようとしましたが、
やはり失敗しました。
回答お願いします。

私が作成中のソースも載せておきます。
DXライブラリを使用しています。
ソフトは、Visual Studio 2005 Proです。

Re:2Dゲームの作成について

Posted: 2008年4月13日(日) 20:19
by kazuoni
初めての回答なんでどこまでヒントを出したらいいのか分からないですけどっ^^;

とりあえず
if( Key[ KEY_INPUT_LEFT ]  == 1 )  //左ボタンが押されたら
    ch.muki=0;         //左向きフラグを立てる
if( Key[ KEY_INPUT_RIGHT]  == 1 )  //右ボタンが押されたら
    ch.muki=1;         //右向きフラグを立てる
else                   //何のボタンも押されてなかったら
ch.walking_flag=0; //歩かないフラグを立てる
ここの記述がおかしくないですか?・・・ifとelseの関係がみたいな・・・^^;
このままだとLEFTキーが入力された場合、ch.mukiが0になるんですけど、その下のifでelseに入ってしまい、一向に左には動かないかと思われます。。

Re:2Dゲームの作成について

Posted: 2008年4月13日(日) 21:04
by Kirby
回答ありがとうございます。
右向きフラグの部分のみを削除してビルドすると、左へ動きました。
ここまでは理解できましたが、左右に動かすにはソースのどこを修正すればいいのでしょうか?
ややこしくてすいません;

Re:2Dゲームの作成について

Posted: 2008年4月13日(日) 21:14
by kazuoni
FEFTキー、RIGHTキー、それ以外
この三つに分類すればいけます。
if~
else if~
else~
うまく説明できないので
http://www9.plala.or.jp/sgwr-t/c/sec06-1.htmle=
などを参考にしてください。

Re:2Dゲームの作成について

Posted: 2008年4月13日(日) 21:57
by Kirby
無事、解決しました。親切に回答していただき、誠にありがとうございました^^