May 25, 2009
[Papervision3D] マウスイベントでハンドカーソルにならない?
PV3DでDisplayObject3Dをボタンにしたいときの設定。バージョンは2.0.0。
Viewport3D.interactive プロパティを true にしてインタラクティブイベントを取得できるように。
続いて、Viewport3D.buttonMode プロパティを true に。これで指アイコンに。
コードは以下
_viewport = new Viewport3D(width, height);
_viewport.interactive = true;
_viewport.buttonMode = true;
ただこれだけだと、イベントを取りたくないオブジェクトまで指アイコンになってしまうので、
_viewport = new Viewport3D(width, height);
_viewport.interactive = true;
//_viewport.buttonMode = true; // ここはコメントアウト
var material:ColorMaterial = new ColorMaterial(0x0, 1);
material.interactive = true;
var object:Plane = new Plane(material, 100, 100);
object.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, _objOverHandler);
object.addEventListener(InteractiveScene3DEvent.OBJECT_OUT, _objOutHandler);
function _objOverHandler(e: InteractiveScene3DEvent):void {
_viewport.buttonMode = true;
}
function _objOutHandler(e: InteractiveScene3DEvent):void {
_viewport.buttonMode = false;
}
これで一応意図した動きに。
参考にさせていただきました!
Papervision3D 2.0 マウスアクションをつける際のハンドカーソル | FlashやWebにまつわるいろいろなこと