レス数:6 / 状態:未解決 / No:10 / ATOM
1
日付:2010/04/15(木)07:20:20
ID:/aLMGC4upQ
このサイトにも地形座標の説明は載っていますが、
すこしアレンジして動く床を作ってみたいと思っています。(AS1.0)
動くブロック製作の場合、座標が固定ではありません。
HitRectを座標を持つブロックに持たせて
キャラクターのmyRectが当たった場合、
衝突する仕組みにしたいと思っています。
(座標MINとMAXを常にロードする必要がありますが、)
キャラクターが動く床判定に乗っている場合は、床の動きに合わせて
キャラクターの座標を修正する必要があります。
もしよければ、誰か製作法か、製作にお勧めなサイトを
教えてくれませんか?どうか、よろしくお願いします。
すこしアレンジして動く床を作ってみたいと思っています。(AS1.0)
動くブロック製作の場合、座標が固定ではありません。
HitRectを座標を持つブロックに持たせて
キャラクターのmyRectが当たった場合、
衝突する仕組みにしたいと思っています。
(座標MINとMAXを常にロードする必要がありますが、)
キャラクターが動く床判定に乗っている場合は、床の動きに合わせて
キャラクターの座標を修正する必要があります。
もしよければ、誰か製作法か、製作にお勧めなサイトを
教えてくれませんか?どうか、よろしくお願いします。
2
日付:2010/04/15(木)13:35:00
ID:2iuB4losX8Zs
A.まず動く床を移動させる。このとき「移動前の座標」、「移動前と移動後の座標の変化量」を残す。
B.次にプレイヤーを移動させる。
C.プレイヤーと「移動前の床」とで当たり判定を計算する。
D.もし当たり判定があれば「移動前の床」と重ならないようプレイヤーの位置補正をする。さらに「移動前と移動後の座標の変化量」をプレイヤーの座標に加算する。
E.最後にプレイヤーと「移動後の床」とで当たり判定を計算する。
F.もし当たり判定があれば「移動後の床」と重ならないようプレイヤーの位置補正をする。
これで
結構な速度の床とでもいい感じに押し合えると思います。
3
名前:ううむ
日付:2010/04/15(木)13:36:14
ID:6bUIa6bNwgog
床って、3D的なものではないと察しましたが、
例えば、2Dでもクォータービュー(擬似的に3Dに見える)とかいろいろ
考えられます。
マリオのような、矩形が左右に動くものならば、
ゲーム定義のキーに反応して動く(左右に)ものをコンポーネント
(独自のタイムラインをもつMc)にして貼って常に動くようにしておき、
(左右のキーで反転する)、コンポーネントのエリアにキャラが入ったかどうかは
キャラの判定用の座標をコンポーネントに通知して真偽を得るようなつくりが
効率がよさそうなきがします。
このような処理のFlaなどを公開しているサイトは、国外にはあったようなきがしますね。
(以前、パックマンやインベーダーのFlaは見たことがあります。)
例えば、2Dでもクォータービュー(擬似的に3Dに見える)とかいろいろ
考えられます。
マリオのような、矩形が左右に動くものならば、
ゲーム定義のキーに反応して動く(左右に)ものをコンポーネント
(独自のタイムラインをもつMc)にして貼って常に動くようにしておき、
(左右のキーで反転する)、コンポーネントのエリアにキャラが入ったかどうかは
キャラの判定用の座標をコンポーネントに通知して真偽を得るようなつくりが
効率がよさそうなきがします。
このような処理のFlaなどを公開しているサイトは、国外にはあったようなきがしますね。
(以前、パックマンやインベーダーのFlaは見たことがあります。)
4
日付:2010/04/17(土)07:21:39
ID:x9JDoBxaOZQ1
5
名前:ううむ
日付:2010/04/17(土)11:25:04
ID:6bUIa6bNwgog
動く床(ブロック)にオブザーバー(インターフェース)を用意して
キャラクターのスクリプトにインプリメントします。
キャラクタの状態変異をしたときにイベントを返すようにオブザーバー
にパッシングします。Flashのイベントハンドラに自由にハンドラを
作ることが出来ます。いわゆるデザインパターンのオブザーバーモデル
になります。
ちなみに、状態変異のときにメッセージングを行う要の要素は
DelegateのCreateメソッドを使えば可能になります。
メッセージングコールバックを作ることが出来ます。イベント処理の
委譲などとも言われますが単にコールバックを作ると考えると
理解しやすいかもしれません。
デザインパターンでググルと参考資料はいくらでも出てきます。
キャラクターのスクリプトにインプリメントします。
キャラクタの状態変異をしたときにイベントを返すようにオブザーバー
にパッシングします。Flashのイベントハンドラに自由にハンドラを
作ることが出来ます。いわゆるデザインパターンのオブザーバーモデル
になります。
ちなみに、状態変異のときにメッセージングを行う要の要素は
DelegateのCreateメソッドを使えば可能になります。
メッセージングコールバックを作ることが出来ます。イベント処理の
委譲などとも言われますが単にコールバックを作ると考えると
理解しやすいかもしれません。
デザインパターンでググルと参考資料はいくらでも出てきます。
6
名前:ううむの補足
日付:2010/04/17(土)11:29:14
ID:6bUIa6bNwgog
オブザーバー(監視者)とサブジェクト(被監視者)の関係は、
サブジェクト(この場合キャラクタ)がこうしてほしいを、
こうしてほしいときにオブザーバーに知らせるという
我々の世界のありきたりの要素です。
こうしてほしいをまつよりも、この時はこれをコールしてください
を投げておいて、このときになったら、「今」を送るということに
なります。
なのであくまでもサブジェクト主体になります。
サブジェクト(この場合キャラクタ)がこうしてほしいを、
こうしてほしいときにオブザーバーに知らせるという
我々の世界のありきたりの要素です。
こうしてほしいをまつよりも、この時はこれをコールしてください
を投げておいて、このときになったら、「今」を送るということに
なります。
なのであくまでもサブジェクト主体になります。
このスレッドについて
質問の状態 : | 未解決 |
投稿開始日 : | 2010/04/15(木)07:20:20 |
投稿終了日 : | 2010/04/17(土)11:29:14 |
投稿者 : | |
レス総数 : | 6 |
スレッド番号 : | 10 |