地球儀的なもの(PaperVision3D)
2009 年 11月 27 日(1)ちょっと落ち着いた時間に「.fla2」を詠んでいたら、仕事とは関係ないFlashを作りたくなった。
(2)どうも風の噂では久々に3Dの案件が舞い込んでくるらしい。
以上2点から、PaperVision3Dのライブラリを引っ張り出してきて、地球儀的なFlashを作りました。マウスホイールでぐりぐり回せます。
処理としては、
・各都市の「緯度・経度」から、3次元上に「DisplayObject3D」を配置。
・それぞれの「DisplayObject3D」のスクリーン座標を得る(DisplayObject3D.screen.x、DisplayObject3D.screen.y)
・その座標に都市名の噴出しSpriteを表示させる(EnterFrame処理)
みたいな感じでやりましたが、2番目のスクリーン座標がいっくらやっても「0」しか返さず、小一時間ほど悩んで悩んで悩んで検索したら、どうも
-
var display_object_3d : DisplayObject3D;
-
display_object_3d.autoCalcScreenCoords = true;
という「autoCalcScreenCoords」プロパティをtrueにしてやんないとスクリーン座標は「0」のママとのことで、ここにつまづきました。
以前担当した3D案件で、3D内のテキストはsmooth処理してやらない限りギワギワになっちゃったり、smooth処理入れたら入れたで重くなっちゃったりで、そんな感じの「重さとデザイン精度のバランス感」に苦しみまして、テキストはやっぱり2次元上のSpriteに別で表示してあげた方が良かったかなぁ、とずっと心残りだったことから、今回screen座標にチャレンジ。
使っている地球の画像の精度と、各都市の緯度経度の設定を細かく設定しているわけではないので、ちょっとずれたりしているとこもありますがご容赦ください。各都市の緯度・経度を参考にしたのはこのページです。

