トップページgamedev
1001コメント311KB

HSP - Hot Soup Processor [11]

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/12/02(金) 11:02:48ID:/jDdeuWB
       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 歴代スレ、関連サイトは >>2-8 あたり
    ヽ ──── '

  ONION software (本家)
   http://www.onionsoft.net/

0444名前は開発中のものです。2006/01/20(金) 15:51:22ID:JBo4Bm5J
>435
だよね。IDEのメニューからいちいち再読込しなくて済むし、
あ、ていうか自分、外部のテキストエディタ使ってるから、秀丸。

>416
キャラクターの中心だけで行ける/行けない判定してるんちゃう?
キャラクターの大きさの中で少しずれた位置もいくつか判定して、
どれか一つでも当たり判定に引っかかったら行けないということにしたら。
自分は昔遊びで作ったとき、キャラの中心ではなく、左上、左下、右上、右下の
四カ所で判定してたような記憶が。
左に移動しようとして左上か左下の判定のどちらかにひっかかったら
行けないと判断できる。
左上に移動しようとしたら、左上、左下、右上のどれかの判定にひっかかったら
行けないとする。壁にそって移動したいときはさらに細かく判定すると。

0445名前は開発中のものです。2006/01/20(金) 16:38:54ID:V6V9y4Vy
>>416
一つのやり方として
前回の座標を保存しといて、ブロックと衝突したら前回と、今回の座標から
どの方向から衝突して、どの面に接触したかを判別する。

簡単な方法として前回のキャラの判定領域がブロック判定領域のx、yどちらかに
重なっているか、両方重なっていないで分けて、

前回xが重なってるならy軸の移動は出来ない>下に移動中なら上に上に移動中ならブロックの下に合わせる
前回yが重なってるならx軸の移動は出来ない>右に移動中なら左に左に移動中ならブロックの右に合わせる

両方重なっていない場合
前回の位置が左上ならブロックの左か上にしか触れない>当たった場所がブロックの中心から左、上側の離れている(*1)方に合わせる
斜め45度の場合距離は同じなので優先度を決めておく

このまま実装すると、キャラのスピードや、一度に二つ以上接触した時の処理順序などで、色々不都合が出ると思う
でも、これ以上は作るゲームによって変わってくるので、色々やってみてくれ

(*1、中心からの距離の比較だけで見るとゲームとして厳しい場合は半分より上なら上に載せるとかやってもいいと思う)
■ このスレッドは過去ログ倉庫に格納されています