画面背景のループ素材をループさせて見えるようにしたいです。
画像自体ではループできるようになっております。
画像のサイズは1024*512です。 読み込みも同じサイズ
int Sx = int(Cam.Px/2);
if(Cam.Px/2 >= 1024 - 640) Sx = Cam.Px/2 - 1024;
DrawRectGraph( 0, 0, Sx, 0, 640, 480, Bg, TRUE, FALSE ) ;
Cam.Pxは左右キーで増えたり減ったりします。
このように書いているのですがループが急に切れてしまいます。
マイナスを使うような値は駄目なのでしょうか?
画面背景のループ
Re:画面背景のループ
softya様
ありがとうございます。
if(Cam.Px/2 >= 1024 - 640) Sx = Cam.Px/2 - 384;//384;
のようにしたのですが切れるのは直ったのですが切り替わる瞬間に気になってしまいます。
画像は1024*512ですが512×512の画像が2枚連続して繋がっているものです。
画像が悪いのでしょうか?
ありがとうございます。
if(Cam.Px/2 >= 1024 - 640) Sx = Cam.Px/2 - 384;//384;
のようにしたのですが切れるのは直ったのですが切り替わる瞬間に気になってしまいます。
画像は1024*512ですが512×512の画像が2枚連続して繋がっているものです。
画像が悪いのでしょうか?
Re:画面背景のループ
画像サイズを640*480にしたのですがこれをどの様にすればループさせることが出来るのでしょうか?
今回の様な処理をしたことがないのでできるか不安になってきました・・・。
今回の様な処理をしたことがないのでできるか不安になってきました・・・。
Re:画面背景のループ
>画像サイズを640*480にしたのですがこれをどの様にすればループさせることが出来るのでしょうか?
つながって見えるようになっている前提ですが、2枚を横に並べて表示します。
2枚一組を1つの画像だと思って同じ処理をすれば良いので、プログラム的には大差ないですよ。
int Sx = int(Cam.Px/2);
if(Cam.Px/2 >= (640*2) - 640) Sx = Cam.Px/2 - 640;
DrawGraph( Sx-640, 0, Bg, TRUE ) ;
DrawGraph( Sx, 0, Bg, TRUE ) ;
つながって見えるようになっている前提ですが、2枚を横に並べて表示します。
2枚一組を1つの画像だと思って同じ処理をすれば良いので、プログラム的には大差ないですよ。
int Sx = int(Cam.Px/2);
if(Cam.Px/2 >= (640*2) - 640) Sx = Cam.Px/2 - 640;
DrawGraph( Sx-640, 0, Bg, TRUE ) ;
DrawGraph( Sx, 0, Bg, TRUE ) ;
Re:画面背景のループ
背景のループが出来ました。
ただ問題が御座いまして背景のループ方向が逆?になってしまいました。
Cam.pxの値は右に行くほど+になっております。
*-1等してみたのですがどれも画面が途切れてしまったりと期待の行く結果を得ることが出来ません・・・。
ただ問題が御座いまして背景のループ方向が逆?になってしまいました。
Cam.pxの値は右に行くほど+になっております。
*-1等してみたのですがどれも画面が途切れてしまったりと期待の行く結果を得ることが出来ません・・・。
Re:画面背景のループ
では、
DrawGraph( -Sx, 0, Bg, TRUE ) ;
DrawGraph( 640-Sx, 0, Bg, TRUE ) ;
これでは、どうでしょう。
DrawGraph( -Sx, 0, Bg, TRUE ) ;
DrawGraph( 640-Sx, 0, Bg, TRUE ) ;
これでは、どうでしょう。