シューティングゲーム製作技術総合 16機目at GAMEDEVシューティングゲーム製作技術総合 16機目 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト108:名前は開発中のものです。 08/09/01 18:28:42 Ik31Cyne 全然自信なくて全然参考にならんと思うけど まず命中位置と発射位置を計算して弧でつなぐ 「短い線」の本数は距離によって変える 「短い線」が > こうなってるところは < こんなふうにしてつなぎ目を対象移動できる そしたら上の線とさらに上の線は > こんなふうになっているからそれも移動できる それを最後まで繰り返す 45度以上になるときは対象移動できなくする 棒を飛ばしたり 何個も含んで対象移動するとちょっと変わる 109:名前は開発中のものです。 08/09/01 21:22:13 08mwU9Dg >>107 とりあえず、雷の画像をメモリに置いておいて、発射位置と命中位置が合うように回転/拡大縮小すればいいんじゃないかと思った。 110:名前は開発中のものです。 08/09/01 22:19:08 7DSWwsP5 >104 PCMCONVってやつで綺麗に変換できた どもです 111:名前は開発中のものです。 08/09/02 02:51:02 csq9srzC >>107 2点を発射位置P(x,y)、命中位置Q(x2,y2)とする。 平行移動して発射位置が原点に来るように移動。 P' = (0, 0) Q' = (x2-x, y2-y) = (x', y') 新しい命中位置Q'(x',y')がX軸に重なるように回転。 回転させるために回転行列Rを用意する。 R = ( cosX, sinX ) ( -sinX, cosX ) 角度Xは線分P'Q'とX軸の間 P'' = RP' = 原点 Q'' = RQ' = X軸上の点 最後に原点からQ''までの間を、長さrでn本の線分Tで目指す。 線分の各点を Tn(tx(n),ty(n)) とするとき、極座標で差分を表現する。 tx(n) = tx(n-1) + r*cos(t) ty(n) = ty(n-1) + r*sin(t) rに乱数を混ぜれば線分の長さがかわる。 角度tの変化を抑えれば急激な曲がり方はしない。 例えば t(n) = t(n-1) + rand() * ??? という風に。 計算が終わったら逆回転と逆平行移動すればおわり。 0除算に気をつけろ! とか、如何ですか。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch