現在グラディウスを模したシューティングを
作るため此方のサイトで勉強中なのですが…;
20章で出てくる背景を縦方向にスクロ-ルさせる方法を
どうにかして横方向にしようと何度か挑戦したのですが
どう足掻いても背景画が上方から下方へ行くばかり;;
何かお心辺りがあるお方がいましたら、ご教授ください;
お願いします;;
横スクロールにするには?
Re:横スクロールにするには?
DrawGraph(FIELD_X,count%700+FIELD_Y-700,img_back[0],FALSE); DrawGraph(FIELD_X,count%700+FIELD_Y ,img_back[0],FALSE);のcountの影響を受けるのをy→x方向に変えるだけでは?
Re:横スクロールにするには?
DrawGraph(FIELD_X,count%700+FIELD_Y-700,img_back[0],FALSE);
DrawGraph(FIELD_X,count%700+FIELD_Y ,img_back[0],FALSE);
を下記のように
DrawGraph(FIELD_Y,count%700+FIELD_X-700,img_back[0],FALSE);
DrawGraph(FIELD_Y,count%700+FIELD_X ,img_back[0],FALSE);
変更したのですが、それぞれ画像の表示される位置が若干ずれるだけで
縦スクロールのままでした;;
変更すべき点は別の所なのでしょうか;;
DrawGraph(FIELD_X,count%700+FIELD_Y ,img_back[0],FALSE);
を下記のように
DrawGraph(FIELD_Y,count%700+FIELD_X-700,img_back[0],FALSE);
DrawGraph(FIELD_Y,count%700+FIELD_X ,img_back[0],FALSE);
変更したのですが、それぞれ画像の表示される位置が若干ずれるだけで
縦スクロールのままでした;;
変更すべき点は別の所なのでしょうか;;
Re:横スクロールにするには?
縦スクロールは上から下、すなわちy座標が変化します。
横スクロールは右から左、すなわちx座標が変化します。
>DrawGraph(FIELD_Y,count%700+FIELD_X-700,img_back[0],FALSE);
>DrawGraph(FIELD_Y,count%700+FIELD_X ,img_back[0],FALSE);
このように変更しても、x座標はFIELD_Yという定数なので変化しません。
countの働きをもう一度考えてみると分かるのではないでしょうか。
横スクロールは右から左、すなわちx座標が変化します。
>DrawGraph(FIELD_Y,count%700+FIELD_X-700,img_back[0],FALSE);
>DrawGraph(FIELD_Y,count%700+FIELD_X ,img_back[0],FALSE);
このように変更しても、x座標はFIELD_Yという定数なので変化しません。
countの働きをもう一度考えてみると分かるのではないでしょうか。
Re:横スクロールにするには?
引数の場所が違います
x座標が第1引数でy座標が第2引数なので
x座標が第1引数でy座標が第2引数なので
DrawGraph(count%700+FIELD_X-700, FIELD_Y, img_back[0], FALSE); DrawGraph(count%700+FIELD_X , FIELD_Y, img_back[0], FALSE);ではないでしょうか
Re:横スクロールにするには?
軽く説明しますと
#define FIELD_X 32
#define FIELD_Y 16
となっているはずなので
つまり、FIELD_XとFIELD_Yを変えても位置が16ずれるだけです。
DrawGraphは
DrawGraph(X座標, Y座標, 画像, FALSE);
なので横スクロールするにはX座標を変化させなければならないです。
count%700は0から699の値が順番に増えていきます。
#define FIELD_X 32
#define FIELD_Y 16
となっているはずなので
DrawGraph(FIELD_X,count%700+FIELD_Y-700,img_back[0],FALSE); DrawGraph(FIELD_X,count%700+FIELD_Y ,img_back[0],FALSE);は
DrawGraph(32, count%700+16-700, img_back[0],FALSE); DrawGraph(32, count%700+16 , img_back[0],FALSE);に置き換わります。
つまり、FIELD_XとFIELD_Yを変えても位置が16ずれるだけです。
DrawGraphは
DrawGraph(X座標, Y座標, 画像, FALSE);
なので横スクロールするにはX座標を変化させなければならないです。
count%700は0から699の値が順番に増えていきます。
Re:横スクロールにするには?
漸く理解することが出来ました;;
DrawGraph(X座標, Y座標, 画像, FALSE);
であることを見落としていました;;
ご教授有難う御座います;;
DrawGraph(X座標, Y座標, 画像, FALSE);
であることを見落としていました;;
ご教授有難う御座います;;