テキストデータの配置と角度変更 テキストデータの配置と角度変更 * use papervision3d katan_t forked:0favorite:0lines:38license : All rights reserved modified : 2009-02-28 13:43:17 Embed Tweet /* * テキストデータの配置と角度変更 * use papervision3d */ package { //必要なクラスのimport import flash.display.Sprite; import org.papervision3d.view.Viewport3D; import org.papervision3d.scenes.Scene3D; import org.papervision3d.cameras.Camera3D; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.materials.special.Letter3DMaterial; import org.papervision3d.typography.Text3D; import org.papervision3d.typography.fonts.HelveticaBold; import flash.events.Event; public class Sample08 extends Sprite { //Spriteクラス継承 public var viewport:Viewport3D; public var scene:Scene3D; public var camera:Camera3D; public var renderer:BasicRenderEngine; public var letterformat:Letter3DMaterial; public var textdata:Text3D; //コンストラクタ public function Sample08() { init();//初期化関数開始 } //初期化関数 public function init():void{ viewport = new Viewport3D(stage.stageWidth , stage.stageHeight); addChild(viewport);//viewportを表示ツリーに追加 renderer = new BasicRenderEngine(); scene = new Scene3D(); camera = new Camera3D(); //文字の設定 引数は色コード・透過度 letterformat = new Letter3DMaterial(0x0000ff , 0.5); //表示文字内容の設定 //引数は表示文字・フォント・Letter3DMaterial textdata = new Text3D("SEISYUN-B\nWe love creative life!!" , new HelveticaBold() , letterformat); scene.addChild(textdata); addEventListener(Event.ENTER_FRAME , onEnterFrame);//ENTER_FRAMEイベント定義 } //ENTER_FRAME時関数 public function onEnterFrame(event:Event):void { //マウスカーソルの位置に合わせて水平方向の角度を変更 //横に回すということはy座標中心に回すということ textdata.rotationY = ((mouseX / stage.stageWidth) * 180 - 90); //マウスカーソルの位置に合わせて垂直方向の角度を変更 //縦に回すということはx座標中心に回すということ textdata.rotationX = ((mouseY / stage.stageHeight) * 180 - 90); renderer.renderScene(scene, camera, viewport);//描画 } } } Code Fullscreen Preview Fullscreen papervision3d viewport scene BasicRenderEngine Viewport3D renderScene rotationX rotationY mouseY mouseX addEventListener addChild Event.ENTER_FRAME Event Sprite