ホーム › フォーラム › CF2.5使用法全般 › 画面のスクロールについての質問です。
- このトピックには84件の返信、4人の参加者があり、最後にCharにより7年、 9ヶ月前に更新されました。
-
投稿者投稿
-
2016-02-23 4:44 am #473tatikurami参加者
通常時は自機を画面の中心に表示し、壁に近づくと動かなくなるというのをやりたく、このように作ってみました。ただ、これだとフレームが始まった時に、スクロール制御のオブジェクトと壁が重なっているとうまく行きません。フレームが始まった時は自機が画面の端にいても壁から離れると普通にスクロールするようにするにはどうすればよいでしょうか。
2016-02-23 2:00 pm #476ASDキーマスター>>tatikuramiさん
このような感じでいかがでしょうか。– サンプルプログラム
https://blog.clickteam.jp/wp-content/uploads/2016/02/cf25_blog_2016-02-23_scroll_control.zip2016-02-24 5:12 pm #479tatikurami参加者フレームを開始した時点で自機が画面の端にいる、つまり壁を見えないようにしたいのですが、難しいでしょうか。
2016-02-28 12:29 am #490ASDキーマスター>>tatikuramiさん
一番単純なのは、開始時の自機の位置を壁近くにならないようにゲームデザインすることですが・・・。
開始時に自機が壁際に居た(スクロール制御オブジェが壁に重なっていた)場合、ギリギリの位置へ補正するようにしてみました。ご確認下さい。- この返信は8年、 2ヶ月前にASDが編集しました。
2016-03-21 2:47 pm #599Q-taroゲストお世話になっております。
2/28のサンプルを拝見し、スクロール範囲の制限を幅32ドットの細い棒で行う方法を思いついたのですが、ループを使ってカメラを停止させているにもかかわらず若干境界線が見えてしまいます。
境界線のはみ出る幅は一定でなく、移動速度によって大きくなります。
完全に境界線ぎりぎりで止める方法はございますでしょうか?
サンプルを提出します。ご確認よろしくお願いいたします。第三者がアップロードできないようですので、”Multimedia Fusion2 アップローダ”にアップロードさせていただきました。
http://ux.getuploader.com/mmf/download/963/境界線_カメラ制限.zip2016-03-21 6:28 pm #602ASDキーマスター>>Q-taroさん
改良しました。『重なっている時』を条件にすると、オブジェクト同士が最低1ドットは重なっていなければいけないわけですから、位置によっては画面上に現れてしまいますし、逆に『重なっていない時』の条件を発動させようと思えば、重なりを解く処理が必要になります。
上下左右のスクロール制御オブジェクトを廃止して自機と壁との距離で判定させたところ上手く行ったようです。– サンプルプログラム
https://blog.clickteam.jp/wp-content/uploads/2016/03/cf25_blog_2016-03-21_scroll_control_by_wall.zip2016-03-21 10:08 pm #603Q-taroゲスト>>ASD
修正いただきありがとうございます。仕組みを確認しました。
今まで接触、分離の条件しか使っていなかったので
距離を条件にするというのが思いつきもしませんでした。
本番のカメラ記述が膨大なことになってしまってますので早速修正します。
ありがとうございました。2016-03-26 1:15 am #623q_taro参加者>>ASD様
お世話になっております。
先日いただきましたサンプルの方法では上下左右で囲まれた枠が複数あった場合、
自機ではなく、右下側の枠に優先してカメラが配置されることを確認しました。
自機が配置されている枠にカメラを持ってきたいのですがよい方法はございますでしょうか?サンプルを提出いたします。
目的としましては自機にカメラを固定したまま
左上枠のワープオブジェクトから左下の枠へ移動するものなのですが、
右下枠のカメラに固定されてしまいます。ご確認よろしくお願いいたします。Attachments:
You must be logged in to view attached files.2016-03-26 4:10 pm #629ASDキーマスター>>q_taroさん
改良しました。各エリアの領域と同じサイズ(+上下左右2ドット)オブジェクトを配置し、それと壁を衝突判定させて壁の変数にエリア番号を入れ、同じ壁オブジェクトでも、どのエリアの壁であるかを判別させています。
壁オブジェクト自体をエリアごとに別々にしてあらかじめ変数にエリア番号を入れておいてもいいのですが、壁オブジェクトの数が増大するのでこちらの方法を取りました。余談ですが、スクロールゲームを作成する場合、オブジェクトプロパティの『動作領域から離れすぎている場合に破壊』を『無効』に、『表示領域から離れすぎている場合にオブジェクト無効』を『いいえ』にすることをお勧めします。ONの場合、システムが勝手にオブジェクトを破壊したり判定を無くしたりしてしまうので、無用なトラブルを防止できます。
– サンプルプログラム
https://blog.clickteam.jp/wp-content/uploads/2016/03/cf25_blog_2016-03-26_scroll_control_in_multi_areas.zip2016-04-03 2:11 am #656q_taro参加者>>ASD様
お世話になっております。
新しくいただきましたサンプルにより、自機を中心とした場合には視点切り替えに成功しました。
オブジェクトプロパティの設定もご指摘のとおり、画面外でキャラが操作不可能になるトラブルを確認していましたので、さっそく設定変更したところ、不具合が止まりました。
いつもありがとうございます。2016-04-05 11:13 pm #661q_taro参加者>>ASD様
お世話になっております。
3/26に作成いただきましたサンプルにてカメラ用のオブジェクトを作り、
これを中心にカメラスクロールしようとする場合、自機に設定されていたドット距離の条件式を
カメラ用オブジェクトに置き換えれば良いと思っていたのですが、ワープした後に(エリアが変わった瞬間)スクロールが無茶苦茶になります。試行錯誤してみましたが、おおよそ3パターンで、ワープ後に切り替わらないか、2重に分身したような状態になるか。ワープ後にカメラ配置が右上のほうに行って全く動かなくなるといった症状を確認しています。
どのように条件付けすればカメラを枠内に制限しながら、エリア切り替えできますでしょうか?間違えていることが明確な部分の記述を抜きましたサンプルを提出します。
ご確認よろしくお願いいたします。Attachments:
You must be logged in to view attached files.2016-04-11 3:38 pm #687ASDキーマスター>>
スクロールの基準をカメラオブジェクトに置き換えました。
方向転換時、カメラオブジェクトのXposもしくはYposがリセットされて瞬間移動していたようになっていたので、徐々に戻す処理を追加しました。あと、左上側の壁オブジェクトが、下のエリアの定義オブジェクトにも重なっていましたので位置を修正しました。
2016-04-18 11:17 pm #705q_taro参加者>>ASD様
お世話になっております。サンプルありがとうございます。
想定していた動作の完全な再現に成功しました。
ご指摘のとおり壁のオブジェクトが重なっていたことと、
他には、枠判定を別なレイヤーに移し替えて処理を行っていたことが
不審な挙動の原因になっていました。
新しくマップを配置しなおしたところ挙動不審な動作は完全に止まりました、またよろしくお願いいたします。
2016-07-20 1:49 am #1503EgyptゲストI’m not easily imeprssed but you’ve done it with that posting.
2016-07-20 2:04 am #1532ArtieゲストLast one to utziile this is a rotten egg!
-
投稿者投稿
- このトピックに返信するにはログインが必要です。