ページ 1 / 1
横スクロールにするには?
Posted: 2009年4月06日(月) 02:14
by Huzzy
現在グラディウスを模したシューティングを
作るため此方のサイトで勉強中なのですが…;
20章で出てくる背景を縦方向にスクロ-ルさせる方法を
どうにかして横方向にしようと何度か挑戦したのですが
どう足掻いても背景画が上方から下方へ行くばかり;;
何かお心辺りがあるお方がいましたら、ご教授ください;
お願いします;;
Re:横スクロールにするには?
Posted: 2009年4月06日(月) 02:19
by kazuoni
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:横スクロールにするには?
Posted: 2009年4月06日(月) 08:23
by Huzzy
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);
変更したのですが、それぞれ画像の表示される位置が若干ずれるだけで
縦スクロールのままでした;;
変更すべき点は別の所なのでしょうか;;
Re:横スクロールにするには?
Posted: 2009年4月06日(月) 10:11
by fatens
縦スクロールは上から下、すなわち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の働きをもう一度考えてみると分かるのではないでしょうか。
Re:横スクロールにするには?
Posted: 2009年4月06日(月) 11:17
by toyo
引数の場所が違います
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:横スクロールにするには?
Posted: 2009年4月06日(月) 11:55
by hss12
軽く説明しますと
#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:横スクロールにするには?
Posted: 2009年4月06日(月) 19:40
by Huzzy
漸く理解することが出来ました;;
DrawGraph(X座標, Y座標, 画像, FALSE);
であることを見落としていました;;
ご教授有難う御座います;;