プロが教えるわが家の防犯対策術!

座標(0,0)から見て、座標(x,y)は何時の方向にあるか判断したいです。
この時、「1時15分」であれば、「1時」の様に、分を切り捨てた値を
取得したいです。

A 回答 (2件)

普通は Math.atan2 を使います。




Flashゲーム講座&ASサンプル集 より
「ベクトルを使ってみよう」
http://hakuhin.hp.infoseek.co.jp/main/as/vector. …
「x方向とy方向の移動量から角度を求める」
http://hakuhin.hp.infoseek.co.jp/main/as/math.ht …
「MCを2点間で拡大して線を引く」
http://hakuhin.hp.infoseek.co.jp/main/as/fdraw.h …



サンプルを書きます。

ステージのちょうど真ん中あたりに,
直径5mmくらいの小さなムービークリップを作成してください。

そして,そのムービークリップ自体に次のようなスクリプトを書いて(コピペして)ください。

onClipEvent (mouseMove) {
_root.my_hour.text = Math.floor((-Math.atan2(this._xmouse, this._ymouse)+Math.PI)/Math.PI*6);
}

そして,
ステージ上のどこでも良いので,
「my_hour」 というインスタンス名(変数名ではありません)のダイナミックテキストフィールドを作成してください。
文字の色は必ず黒など,背景色(白)以外の色の文字になるようにしてください。

そして「制御」→「ムービープレビュー」してもらうと,
ムービークリップから見た,マウスの座標が,時の数 となってダイナミックテキストに表示されると思います。

これを発展させてください。
 
    • good
    • 0
この回答へのお礼

sassakunさん。再びありがとうございます。

頂いた解答で実現できました。

Math.PIの180分割が「角度」に対して、Math.PIの6分割が「1時」になるんですね。

まだ、考え方に慣れないのですが、だんだん理解が深まってきました。
「Flashゲーム講座&ASサンプル集 」をよく読んでおきます。

ありがとうございました。

お礼日時:2007/04/06 12:02

それを、どのような手段で(プログラミング言語、Excel・・・)で実現したいのですか



また、「1時15分」はどのような形式のデータですか

この回答への補足

Flashで実現したかったのですが、No2で解答を得られました。
ありがとうございます。

質問の最初に、カテゴリを書いた方が良かったかもしれません。
失礼しました。

補足日時:2007/04/06 12:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!