先日Progressionワークショップ#3でリアルでお知り合いになった、PuchilogPlusのLaquさんから、Papervision3DのInteractiveScene3DEventについてアドバイスを頂いた件で、検証してみました。
内容としては、「useOwnContainerプロパティをtrueにすると、マウスイベントが使えなくなる」ということを僕がブログに書いた訳ですが、
Laquさんのコメントより
OBJECT_CLICKはイベントを受け取らなくてOBJECT_RELEASEなどは機能します。
だそうです。
InteractiveScene3DEventの種類は、
- OBJECT_ADDED
- OBJECT_CLICK
- OBJECT_DOUBLE_CLICK
- OBJECT_MOVE
- OBJECT_OUT
- OBJECT_OVER
- OBJECT_PRESS
- OBJECT_RELEASE
- OBJECT_RELEASE_OUTSIDE
9種有ります。
マウスイベント周りは、OBJECT_ADDEDを除いた8種だと思うので、それらを検証しました。
その結果、
- OBJECT_CLICK
- OBJECT_DOUBLE_CLICK
この2つはイベントを受け取っていないようです。
まー実際、僕はOBJECT_CLICKとOBJECT_RELEASEの違いが分かっていないため、OBJECT_RELEASEで代用出来るじゃん!!って簡単に考えている訳ですが、
やっぱり違いが有るのだと思うのですが、どなたか、教えて頂けませんか・・・・。
<追記>
Laquさんのありがたいコメントを頂いて、解決。
MouseEventのCLICKとMOUSE_UPの違いと同じような感じでリスナー登録したDisplayObject3D上でPressしてReleaseするのがOBJECT_CLICKで、OBJECT_RELEASEの場合はDisplayObject3D上ではないところでPress→PressのままDisplayObject上に移動し、そこでReleaseした場合でもイベントを受け取ります。
なるほど。