改め Objective Technician

はぐれ技術者のやりたい放題

PV3D(AS3):Flashでマウスインタラクティブなルービックキューブ

2009-10-19 00:25:36 | プログラミング
またルービックキューブの話




前に作ったルービックキューブ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ソースはこちら











関係ないけど、なんとセンターキューブがないボイドキューブというものをつい最近知った。

中心がくり抜かれていてキューブの向こう側が見える。


真ん中がないのに回るとは、どんな仕組みなんだ!

と思って、すぐに買った。


この構造はもはや手品の領域だ。


考えた人すごい。




パズルとしては、普通に解くとノーマルのルービックキューブでは有り得ない状態になることがあるのがさらに面白い。




最新の画像もっと見る

コメントを投稿