Flex+Papervision3D三维技术研究(基础篇一)

3 篇文章 0 订阅

在上一篇上讲到了开发工具及包需要的包,下面让我们动手来实现一下第一个3D场景。

1、在eclipse中新建一个flex项目,添加Papervision3D.swc包到flex_libs中,设置好目录结构。上图


2、在as包下添加一个as类继承UIComponent,命名为Map3D.as


3、实现第一个3D场景,在场景中添加一个Panel平面,并让这个平面绕Z轴旋转,上代码:

package com.neil
{
import flash.events.Event;

import mx.core.UIComponent;

import org.papervision3d.cameras.Camera3D;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;


public class MainView extends UIComponent
{
private var viewport:Viewport3D;//添加一个3D窗口,所有3D对象将透过这个窗口观察
private var scene:Scene3D;//添加一个3D场景,跟flash中的舞台含义相似
private var camera:Camera3D;
private var renderer:BasicRenderEngine;
private var material:ColorMaterial;
private var plane:Plane;

public function MainView()
{
init();
}
private function init():void{
viewport=new Viewport3D(640,480,false,true);
addChild(viewport);
scene=new Scene3D();
camera=new Camera3D();
renderer=new BasicRenderEngine();

material=new ColorMaterial(0xcc00FF);
material.interactive=true;
material.doubleSided=true;


plane=new Plane(material);
scene.addChild(plane);

addEventListener(Event.ENTER_FRAME,onEnterFrame);
}
private function onEnterFrame(e:Event):void{
plane.yaw(2);//设置动画速度
renderer.renderScene(scene,camera,viewport);
}
}
}


添加以上代码后,要需要在前台引用这个类,就可以实现一个Hellow 3D实例了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值