メイン コーダーズルーム【スクリプト系】 移動についてのアルゴリズム? | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nabe_1234 | Åê¹ÆNo.24762 投稿日時: 2006-4-9 10:41 |
新米 居住地: 投稿: 21
使用環境:
Windows Vista Home Premium SP1,Flash CS3 |
Re: 移動についてのアルゴリズム? 投稿No.24707のソースを元にしてFlashにしてみました。
http://www.geocities.jp/animecomic_pen_7380/note/bresenham16.swf 始点が格子境界に乗ったときの処理がおかしかったのでgridline.htmlも直しました。 |
smoke123 | Åê¹ÆNo.24763 投稿日時: 2006-4-9 12:21 |
新米 居住地: 投稿: 17
使用環境:
Windows Vista FLASH CS4 Flash Player 10 |
Re: 移動についてのアルゴリズム? >ankoさん
1ループ間に同じブロックに何度も同じ命令を出すようになってますが、 スピードが要求されない条件であれば、考え方としてシンプルで分かりやすい この方法が良いと思います。 >nabe_1234さん すごーい。 JavaScriptは分からないですが解説文とソースコードを見ながら ブレゼンハムをどのように利用しているのか考察中です。 (FLAファイルを見てみたいです...。 ) |
nabe_1234 | Åê¹ÆNo.24764 投稿日時: 2006-4-9 16:31 |
新米 居住地: 投稿: 21
使用環境:
Windows Vista Home Premium SP1,Flash CS3 |
Re: 移動についてのアルゴリズム? 前に公開なさってたソースの、
MovieClip「line」のスクリプトで、 「search」を定義している箇所を改造しました。 1)function getGridListおよびcalcをそのまま追加。 2)searchの定義を差し替えてgetGridListを呼び出す。 search = function () { getGridList(a._x, a._y, b._x, b._y, _root.tilesize); } 3)function getGridListの中で定義している、 function appendの定義を差し替え。 変数「ret」ではなく「_root.map」に情報をセットする。 function append (label) { //求めた格子点を配列に格納する。 //ret.push([cx[0], cy[0] /*, cx[2], cy[2], c2[3], label */].join(',')); _root.map[cx[0]][cy[0]] = 1; } 4)他はsmoke123さんの元のソースにそのままお任せ・・・ 格子境界上の処理をどうするべきかは良く分かりません。 適当に試行錯誤してたらそれっぽい感じになったので・・・ |
smoke123 | Åê¹ÆNo.24782 投稿日時: 2006-4-11 10:33 |
新米 居住地: 投稿: 17
使用環境:
Windows Vista FLASH CS4 Flash Player 10 |
Re: 移動についてのアルゴリズム? nabe_1234さんの解説をまだ完全に理解できていませんが、
なんとかできたようです。 FLAファイルはこちら。 間違いなどありましたらご指摘下さい。 投稿して頂いたみなさんの協力で目的達成できました。 (格子を通過する「順番」については、簡単に取得できると思います。) どうもありがとうございました。 |
anko | Åê¹ÆNo.24783 投稿日時: 2006-4-11 11:20 |
半人前 居住地: 投稿: 38
使用環境:
MAC_G4 FLASH5,FLASH MX2004 |
Re: 移動についてのアルゴリズム? ankoです。
お?完璧じゃないですか。素晴らしい。 また何か面白いネタがあったら提供してください。 では。 |
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |