怎样将flex的代码应用到flash
(2009-10-17 21:45:05)
有人说去掉: “[SWF ( backgr....” ;并且把QJPV.as设置为doc class
把QJPV.as设置为doc class这一部怎么做?看不懂
代码如下:
package {
import flash.display.Sprite;
import flash.events.Event;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.Plane;
import org.papervision3d.materials.BitmapFileMaterial;
import flash.display.*;
import flash.ui.Keyboard;
import flash.media.Camera;
import org.papervision3d.cameras.Camera3D;
import flash.events.MouseEvent;
[SWF ( backgroundColor = '0', width = '800', height = '600')]
public class QJPV extends Sprite
{
//_____________________________________
private var camera :Camera3D;
private var container :Sprite;
private var sence :Scene3D;
private var rootNode :DisplayObject3D;
private var du :Number = 1;
private var space :DisplayObject3D;
// 构造函数
public function QJPV()
{
stage.scaleMode = "noScale";
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = 30;
init3D();
stage.addEventListener(Event.ENTER_FRAME,onEnterFrame);
stage.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown); //鼠标 down
stage.addEventListener(MouseEvent.MOUSE_UP,onMouseUp); //鼠标up
}
/**
* 初始化3d
*/
private function init3D():void{
container = new Sprite;
container.x = stage.stageWidth/2;
container.y = stage.stageHeight/2;
this.addChild(container);
sence = new Scene3D(container);
rootNode = sence.addChild(new DisplayObject3D);
camera = new Camera3D();
camera.focus = 150;
camera.zoom = 10;
//_______________________ add object
// space 代表一个空间,这个空间里,我们把正方体的六面加上
space = rootNode.addChild(new DisplayObject3D());
// 设置每个面的位置,以组成一个box,摄像机在 box里面
var pb:Plane = Plane(space.addChild(new Plane(new BitmapFileMaterial("sea\sea_b.jpg"),1000,1000,10,10)));
pb.z = -500;
pb.rotationY = 180;
var pf:Plane = Plane(space.addChild(new Plane(new BitmapFileMaterial("sea\sea_f.jpg"),1000,1000,10,10)));
pf.z = 500;
var pl:Plane = Plane(space.addChild(new Plane(new BitmapFileMaterial("sea\sea_l.jpg"),1000,1000,10,10)));
pl.x = -500;
pl.rotationY = -90;
var pr:Plane = Plane(space.addChild(new Plane(new BitmapFileMaterial("sea\sea_r.jpg"),1000,1000,10,10)));
pr.x = 500;
pr.rotationY = 90;
var pu:Plane = Plane(space.addChild(new Plane(new BitmapFileMaterial("sea\sea_u.jpg"),1000,1000,10,10)));
pu.y= 500;
pu.rotationX = 90;
var pd:Plane = Plane(space.addChild(new Plane(new BitmapFileMaterial("sea\sea_d.jpg"),1000,1000,10,10)));
pd.y= -500;
pd.rotationX = -90;
}
private function onEnterFrame(e:Event):void{
container.x = stage.stageWidth/2;
container.y = stage.stageHeight/2;
// 设置水平方向与鼠标的关系
space.rotationY = (1-stage.mouseX/stage.stageWidth)*500;
// 设置上下方向
camera.target.y = (0.5-stage.mouseY/stage.stageHeight)*1000;
sence.renderCamera(camera);
}
/**
* 设置线框
*/
private function setLine(a:int):void{
for each(var child:DisplayObject3D in space.children){
child.material.lineAlpha = a;
}
}
private function onMouseDown(e:Event):void{
setLine(1);
}
private function onMouseUp(e:Event):void{
setLine(0);
}
}
}