トピック
まりを tomoyaTT88

スクロールについて

画面のはしっこに行って、画面を横にスクロールさせるにはどうすればいいですか?
0そうだね
プレイ済み
返信[1]
親投稿
キャラクターの移動するプログラムは書けますか? BGスクロールはキャラクターの座標が一定範囲外になった時に、キャラクターの代わりにBGを動かすことで実現出来ます。BGを動かすのはBGOFSです。 ただBGは標準で画面内し置けないので、広いBGを用意したいときはBGSCREEN命令でサイズを大きくして利用してください。
1そうだね
プレイ済み
返信[2]
親投稿
まりを tomoyaTT88
分かりにくい事をこれから言います。 30mの道のりがあるとしましょう。 画面に入る範囲はせいぜい5m。 スタート地点Aから30m先のBまで目指します。 A地点の景色にビル、B地点の景色に家がある。 [Aから30m歩くと、やがて家が見える] ということも可能でしょうか?
0そうだね
プレイ済み
返信[3]
親投稿
初代ゼルダの伝説みたいなスクロールの事ですか?
0そうだね
プレイ済み
返信[4]
親投稿
まりを tomoyaTT88
あ……… マップと言うか、こんな感じです。 プロフィールなど拝見しましたが、お仕事なさっていたのですね……! 夜遅くまですみません……
0そうだね
プレイ済み
返信[5]
親投稿
まりを tomoyaTT88
歩かせることはようやく出来るようになったのです。 ですがしかし、私が考えているのは 『 操作キャラクターがはしっこに行くことにより、BGが一気に動く』でなく、『歩くスピードに合わせてBGがヌーッと現れる』事なのです。 質問が変わったような気がします。
0そうだね
プレイ済み
返信[6]
親投稿
いえいえ。なんかうまくイメージがわからなくてすいません…。 基本的には出来る話だと思うんですが、イメージが掴みきれてなくてうまく返事が出来ません…。 例えば普通のスクロールみたいに画面の1/3まで進んだらBGがスクロールして移動出来るというのは始めに僕が書いたイメージです。 それに対して初代ゼルダ風というのは、基本画面は固定ですが、キャラクタが一番端まで行くと、画面全体がスクロール(その時にキャラも動く)して、その先の画面が1画面分現れます。 と言うことなのかなと思ったのですが、それもちょっと違うのかもしれない?とも思ったりもしてイマイチ自信が持てません。 とりあえずBGをスクロールするにはBGANIMという命令があるので、それを使うとスクロール自体は簡単に行う事が出来ます。 と書いていたらまた書き込みが…。やっぱり始めのイメージの方が近いのかな…?
0そうだね
プレイ済み
返信[7]
親投稿
それともキャラクターは中央固定で必ず背景の方がスクロールするパターンですかね? 色んなパターンがありますが、どれもやることは出来るので、イメージが掴めればと言う感じですね…。
0そうだね
プレイ済み
返信[8]
親投稿
まりを tomoyaTT88
こちらも伝えたいのに上手く伝えられなくて、文章を書く事に苦戦しています……。 えー、スッと言うと、 A君「右行こ」 スタスタ 立ち止まっているB君「A君じゃん」 (つまりA君は真ん中にいるが、B君を左にスライドさせることで、A君が動いていると錯覚させている) A君「じゃあね」 左にスタスタ A君真ん中のままでB君右スライド そしてフレームアウト [私は『地面に見えるよう』に色を塗って、重力つけて、落ちないようにプログラムしているだけ! BGなど使わぬ!どうやってこのスライド運動を実現するか!?]です。 待ってだんだんわからん
0そうだね
プレイ済み
返信[9]
親投稿
まりを tomoyaTT88
ミス発見! すみません! BGは使いません! 勘違いです! いいですかBGは最初からいなかった いいね
0そうだね
プレイ済み
返信[10]
親投稿
まりを tomoyaTT88
ちなみに使っているものはスプライトです。 勘違いでなければ、あのーイチゴとかハカセとかが描かれているヤツ
0そうだね
プレイ済み
返信[11]
親投稿
まりを tomoyaTT88
これがプログラムです。 さっさと見せればすぐ解決したと後悔しています。
0そうだね
プレイ済み
返信[12]
親投稿
おお…。なんとBGを使わないという衝撃的事実が…。BGを使わずにスプライトの動きがスクロールしている風?みたいなイメージですかね? 添付したプログラムはBGスクロールしていますが、その中の人に関してはスプライトなので、この部分だけの動きなら目的に近い? ちなみにこれはSPLINKを使う事でスプライトの動きをBGに追従させるような処理ですが、BGが無くても似たような動きには出来ます。 と言うことなのかなぁ?
0そうだね
プレイ済み
返信[13]
親投稿
あ、直前の投稿はプログラムを見る前のものです。 ちょっとプログラムを見てみて気づいた事があったらまたコメントしますね。 ではでは。
0そうだね
プレイ済み
返信[14]
親投稿
まりを tomoyaTT88
今の計画であり、目標であるゲームが、 画面外もふんだんに使った『ぶっとばし系格闘ゲーム』です。 スマブラとは少し違い、画面外にふっとんでも死なず、迅速な画面移動で相手をパアアァァン!! いわゆるうごメモでよく見られる棒バトをゲームにしたヤツです。 棒バトを見ると、[ふっとんで壁に激突して、死にそうになっても、反撃して倒す]というパターンがあることがわかります。
0そうだね
プレイ済み
返信[15]
親投稿
まりを tomoyaTT88
あ、おやすみなさい。
0そうだね
プレイ済み
返信[16]
親投稿
とりあえずBGは使ってないようなので最後に書いたSPLINKでスプライトの動きを同期させるやり方がいちばん近いのかなぁ? って思ったりしますが、イメージがあってるかどうかの問題があるので、その辺はまだ不明…。 ちなみにSPLINKを使う場合、透明のスプライトに対してSPLINKすることで、その透明スプライトを動かすとそれにリンクされているスプライトを全て動かすことが出来ます。つまり画面全体が動いているに近い動作になるわけですね。 まあSPLINKを使わなくても出現しているスプライトを全て一定方向に動かすようにすればスクロールしている風に感じはします。 僕のサンプルではメインのキャラはSPLINKに乗せてないけど、全部乗せればダミーである透明キャラを動かすことがカメラを動かすことに近い動作になります。 ただBGがスクロールしないと動いた感が薄いかもですが…。
0そうだね
プレイ済み
返信[17]
親投稿
まりを tomoyaTT88
では、BGで背景を作ってスクロールさせる方が早いですかねぇ… 適当にビルでも描いて
0そうだね
プレイ済み
返信[18]
親投稿
棒バトの動画を見てみましたが、なるほどスピード感がありますね。 (って見た動画がイメージと合ってるかはわかりませんが…) 棒バトの動画にはあまり背景は無かったですし、別に必ずしもBGが無ければスクロールできないというわけではないので無くても大丈夫だとは思いますよ。 ただその分うまく雰囲気を再現しないとスクロール感を出すのが難しくなる可能性はありますが、とりあえずプログラム上は必ず必要というわけではないです。 ……という感じですが頑張ってください!
0そうだね
プレイ済み
返信[19]
親投稿
まりを tomoyaTT88
最近の棒バトは昔より進化して、背景がよく付くようになりました! という訳でようやくhelpのちからをかりてBGPUT。 あとはこれをうごかせば良いですね。 しかし浮いている! 添付はBGPUT 0,20,11,5を打ち込んだ結果です。 11を12にしても茶色をはみ出してしまいます……。 小数も試みましたがダメでした………。
0そうだね
プレイ済み
返信[20]
親投稿
なるほど〜。背景増えてるんですね。僕は適当に検索しただけだったので…、笑 BGは16×16がベースになるので、スプライトやグラフィックはそれに合わせて調整する必要があります。 ただBG自体を少し動かす的な感じでよければ、BGOPS 0,0,4(かな?-4かな?)とかすればBGのY座標を全体的にずらすことは出来ます。(実際はスクロールのために使う事が多いですが) という感じで調整していくしかないかなと思います。
0そうだね
プレイ済み
返信[21]
親投稿
まりを tomoyaTT88
BGOFS 0,0,-1にしたらちょうど置けました! あとは B=BUTTON IF(B AND 2)THEN X=X+1`(うろ覚え) でBGを動かすのですね! BGを動かす命令もある?そうですけど。
0そうだね
プレイ済み
返信[22]
親投稿
BGOFSがBGを動かす命令ですよー。 BGOFSでBGを縦に動かす(ずらす)ことで絵との位置を合わせた感じです。横の座標を変えれば横に動きますよ。 ただBGとスプライトは同期して動くわけではないので、スプライトも動かしたい場合は、BGの移動に合わせてスプライトも動かすことになります。
0そうだね
プレイ済み
返信[23]
親投稿
まりを tomoyaTT88
あれ?でもでんぺんさんが言っているBGOFSは『BGを動かす命令』のはず……… でも動きなんて無かったぞ! なんでだ~!? と言うわけで少し研究します。 これからもアドバイスお願い致します
0そうだね
プレイ済み
返信[24]
親投稿
まりを tomoyaTT88
ある程度操作キャラクターがはしっこに行くと、反対のはしっこへ行くプログラムを書きました。 BGを動かすことを目的としているのに今更関係ないなぁ………
0そうだね
プレイ済み
返信[25]
親投稿
まりを tomoyaTT88
床などはGLINEで引かずに、BGを自分で書いて、マップを作ってやった方が早いのかなぁ…… そうすれば今後簡単にステージも作れるし………
0そうだね
プレイ済み
返信[26]
親投稿
そうですねー。グラフィックを使う積極的な理由がなければ背景はBGで処理した方が楽な面も多いと思いますよ。BG自体も4面ありますしねー。
0そうだね
プレイ済み
返信[27]
親投稿
まりを tomoyaTT88
あとは例えば、壁や床のBGに当たり判定をつけて、それ以上行けなくして、画面を白に塗り潰して、背景用のBGを設置すれば良いですね!
0そうだね
プレイ済み
返信[28]
親投稿
そうですね。そんな風にイメージして組み合わせてみるといいと思いますよ! 頑張ってください!
0そうだね
プレイ済み
返信[29]
親投稿
まりを tomoyaTT88
ありがとうございました! 質問の解答は、ここで締め切らせていただきます! また別の質問をしますのでまたお会いするかもしれませんね! それでは!
1そうだね
プレイ済み