またルービックキューブの話
前に作ったルービックキューブFlash を、マウスで操作できるようにした。
画像クリックで動きます↓(重いかも)
Papervision3D のプリミティブに対してマウスイベントを送るには、org.papervision3d.events.InteractiveScene3DEvent を使う。
まず Viewport3D で
viewport.interactive = true;
としておいて、必要なら
viewport.buttonMode = true;
にして、
次にプリミティブのマテリアルで
mat.interactive = true;
とする。
あとは org.papervision3d.objects.primitives.* のインスタンスで
addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onClick);
みたいにすれば、特定の対象だけにマウスイベントを送れる。
背景領域のドラッグは Papervision3D とは関係なく、いつも通りに
stage.addEventListener(MouseEvent.MOUSE_MOVE, onDrag);
みたいにするだけ。
AS3ソースはこちら
関係ないけど、なんとセンターキューブがないボイドキューブというものをつい最近知った。
中心がくり抜かれていてキューブの向こう側が見える。
真ん中がないのに回るとは、どんな仕組みなんだ!
と思って、すぐに買った。
この構造はもはや手品の領域だ。
考えた人すごい。
パズルとしては、普通に解くとノーマルのルービックキューブでは有り得ない状態になることがあるのがさらに面白い。
前に作ったルービックキューブFlash を、マウスで操作できるようにした。
画像クリックで動きます↓(重いかも)
Papervision3D のプリミティブに対してマウスイベントを送るには、org.papervision3d.events.InteractiveScene3DEvent を使う。
まず Viewport3D で
viewport.interactive = true;
としておいて、必要なら
viewport.buttonMode = true;
にして、
次にプリミティブのマテリアルで
mat.interactive = true;
とする。
あとは org.papervision3d.objects.primitives.* のインスタンスで
addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onClick);
みたいにすれば、特定の対象だけにマウスイベントを送れる。
背景領域のドラッグは Papervision3D とは関係なく、いつも通りに
stage.addEventListener(MouseEvent.MOUSE_MOVE, onDrag);
みたいにするだけ。
AS3ソースはこちら
関係ないけど、なんとセンターキューブがないボイドキューブというものをつい最近知った。
中心がくり抜かれていてキューブの向こう側が見える。
真ん中がないのに回るとは、どんな仕組みなんだ!
と思って、すぐに買った。
この構造はもはや手品の領域だ。
考えた人すごい。
パズルとしては、普通に解くとノーマルのルービックキューブでは有り得ない状態になることがあるのがさらに面白い。