Papervision3Dが使えるようになりたいメモその6_InteractiveScene3DEventについて


先日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した場合でもイベントを受け取ります。

なるほど。