Papervision3D 2.0 マウスアクションをつける際のハンドカーソル
3D上のオブジェクトで
クリックしたときとか、
ロールオーバーしたときとか、にイベントをとる方法。
いつも拝見させていただいていて勉強させてもらってます
feb19.jp さんのblogで紹介があります。
・Papervision3D 2.0 GreatWhiteでマウスに反応するキューブを作る
[Viewport3D_instance].containerSprite.buttonMode = true;
で、マウスカーソルをボタンタイプにできるようになるらしく、
しかして、interactiveでない3Dオブジェクトにも適応されてしまうっていう問題があるよう。
すべてのオブジェクトでハンドカーソル表示になってしまうということ
なんとか回避できないかと….
追って事足りなくなりそうだけど、とりあえずシンプルな考えで回避成功。
feb19.jp blogさんのご紹介内容を基本としまして、以下のように。
PV3Dのイベントは、interactive = true にしたものしか
(とうぜん)発生しないので、
マウスオーバーのタイミングで buttonMode = true に、
マウスアウトのタイミングで buttonMode = false にすます。
ベウリーシンポーす。
import org.papervision3d.events.InteractiveScene3DEvent;
[Material_instance].interactive = true;
[Primitives_object].addEventListener(InteractiveScene3DEvent.OBJECT_OVER, function(e) {
[Viewport3D_instance].containerSprite.buttonMode = true;
})
[Primitives_object].addEventListener(InteractiveScene3DEvent.OBJECT_OUT, function(e) {
[Viewport3D_instance].containerSprite.buttonMode = false;
})
Viewport3Dのinteractive = true もお忘れなく。
PV3D 1.5とかの時は、Group.asをつかって.container で 3Dが描画されているDisplayObjectを直接触れたので
マウスEventとるのとか、Filterつけるのとか、PV3Dなんて意識せず楽勝につけれたんだけど
2.0では、containerにアクセスできないっぽい?!
すんげーコレしりたい







DYO:
すげーなやんでました。ありがとうございました。
18 3 月 2009, 12:29 amekndesign:
DYOさん
20 3 月 2009, 11:59 pmこんにちは。
おやくにたててうれしいです!