playerというオブジェクトが所定のx座標に到達したら、操作を無効化し、playerを追従していたview[0]をview_xport+=1を所定の位置まで実行したのですが、背景にしていたスプライトが引き延ばされ手描写されてしまいます......。
playerというオブジェクトが所定のx座標に到達したら、操作を無効化し、playerを追従していたview[0]をview_xport+=1を所定の位置まで実行したのですが、背景にしていたスプライトが引き延ばされ手描写されてしまいます......。
スクショを貼れますか?
引き伸ばされた状態が不明ですが、
スクロールによって背景がない部分に残像が残りそのように見えることがあります。
その場合はClear Display BufferとClear Viewport Backgroundをオンにして毎フレーム描画をクリアすると解消されます
こんな感じです!一番左がview_xport-=1を実行しなかった場合で、真ん中(左)⇒真ん中(右)が実行した場合です!!
Clear Display BufferはすでにオンにしてあったのでClear Viewport Backgroundもオンにしてみたのですが、次は一番右のように背景が切れてしまいました......。
その他のルーム設定及び、オブジェクトのプログラムはこんな感じです!!
1枚目 伸びてない背景
2枚目 伸びてる
3枚目 伸びてる
4枚目 伸びないがroom外が映ってる
ということで、2~3枚目はおそらく、Clear Viewport Backgroundがオフになっていたから背景の残像がクリアされず、スクロールすると背景が伸びたように見えている状態だと思います。
4枚目の背景が切れているのはそこがroomの境界ではないですか?
room全体の作りが不明なので、その仮定で書きますが、
カメラを際限なくずっと動かしていったらroomの外が映り、4枚目のようになるはずです。
(スクロールを止めなかったら最終的に画面は真っ黒になります)
room外を映さないためには、roomの境界までスクロールしたらスクロールを止めるように処理する必要があります。
何度もすみません!!背景は実際こんな感じで続いてます!!
roomの全体が分かりました。すいません。
view_portを-1で動かしているので、画面に描画する範囲を左に動かしています。
その結果右に余白が出ているのだと思います
view_portを動かしているのはどういう動きをさせるためですか?
リンク
操作しているキャラクターが所定の位置に行ったら、プレイヤーの追従&操作を止めて、view_portを動かす.....的な動きをさせたいです!分かりにくかったら、貼らせていただいたアンダーテールというゲームの動画の0:07~0:13の動きが正にやりたかった動きです!!何回もすみません!!
画面をスクロールさせる(カメラを動かす)には、
view_portではなくcamera viewの位置を動かします。
こんな感じです。
playerが所定の位置まで行ったら操作受付を止めて自動スクロールするには例えば下記のようになります
ロジックは一例ですのでご自分のやり方で書いてください
(roomのカメラのObject Followingがセットされているとカメラを自前で制御できないので"No Object"にしてください)
playerオブジェクト
何度も説明不足ですみませんでした!!!!めっちゃ助かりました!!!!!!!!!!!!!!!!!!