トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     移動についてのアルゴリズム?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops