[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00203] Re: Java3Dインストール日記(WindowsNT)
◆『世界各国経済情報ファイル』「The World 98 CD-ROM」◆=========
★ 世界各国の経済・地理・社会の様々なデータを収録!
★ コピー&ペースト、ダウンロード機能でとっても便利!!
<<節分特別セール 定価 6,800円 → 4,800円(税、送料込み)>>
お問い合わせ先:日本データベース開発(株) kanzaki@xxxxxxxxxx
============== http://www.ndk.co.jp/06SUBM/saisin.html ==============
>> \jdk1.2\demo\java3d\PickTest 以下のソースがこれをやっています。
>> 私もこれを調査中です。
>お願いします!!
>私もPickTestを見ているのですが、マウスの動作をとるにはPicking系とMouse系
>(\jdk1.2\java3d-utils-src.jar)というような2つがあると考えて良いのでしょうか?
先週ずっとソースを読んでいたのですが、いちおうこのように整理しました。
com.sun.j3d.utils.behavior.mouse パッケージのクラスですが、
コンストラクターで与えられた TransformGroup を操作します。
これに対して、com.sun.j3d.utils.behavior.picking パッケージのクラスは、
マウスでポイントした座標に一番近い TransformGroup をピックし、
そのピックした TransformGroup を操作します。
サンプルの PickTest 配下のソースでは、
com.sun.j3d.utils.behavior.picking パッケージのクラスを使って、
別々のモデルをそれぞれ回転/移動/ズームさせることができます。
例えばシーン全体を操作したいなら、すべてのモデルの親になる TransformGroup を
com.sun.j3d.utils.behavior.mouse パッケージのクラスのコンストラクターに
与えて、シーン全体にマウス操作を適用すると良いと思います。
モデルがいくつもあって、それぞれ別々に操作したいなら
com.sun.j3d.utils.behavior.picking パッケージのクラスを使うと良いでしょう。
もちろん自分で javax.media.j3d.Behavior を継承したクラスを書いても良いです。
(私はこれがまだ良く分かっていなくて、
自分で書いたマウス操作の Behavior クラスでは processStimulus() が
1回しか呼ばれなかったりして、きのうは夜遅くまで四苦八苦していました。
けっきょく Behavior ではなく、普通の MouseListener を使うコードを書いて
納品してしまいました^^;)
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル FAX 03-5362-9008