这篇我们来看一下BasicView这个类,它可以让我们非常方便的创造出一个包含前面所说的那四个基本元素的3D世界。你只需要实例化它并加入到显示列表中即可,但我们更常用的是通过继承它来直接使用这个3D世界,现在先看一下它的文档。
BasicView
Package org.papervision3d.view
Class public class BasicView
Inheritance BasicView AbstractView flash.display.Sprite
Implements IView
Subclasses ReflectionView
BasicView provides a simple template for quickly setting up basic Papervision3D projects by creating a viewport, scene, camera, and renderer for you. Because BasicView is a subclass of Sprite, it can be added to any DisplayObject.
BasicView为我们提供了一个包含viewport, scene, camera, 和renderer,可以 快速创建PV3D项目的模版,而且它是Sprite的子类,可以直接添加到任何DO里面。
构造方法
BasicView(viewportWidth:Number = 640, viewportHeight:Number = 480, scaleToStage:Boolean = true, interactive:Boolean = false, cameraType:String = “Target”)
参数应该能理解吧,不理解的看看前面那篇笔记。
然后看几个它继承自AbstractView的比较有用的属性和方法
camera : CameraObject3D
renderer : BasicRenderEngine
scene : Scene3D
viewport : Viewport3D
viewportHeight : Number
viewportWidth : Number
这些属性不清楚的看下前面的笔记
方法:
singleRender():void
渲染一次
startRendering():void
开始每帧渲染
stopRendering(reRender:Boolean = false, cacheAsBitmap:Boolean = false):void
结束每帧渲染
了解了这些属性和方法,我们来看一段代码,这段代码实现了和前面教程完全一样的效果。
package {
import flash.events.Event;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.view.BasicView;
[SWF(width="640",height="480",backgroundColor="#000000",frameRate="30")]
public class BasicViewExample extends BasicView {
private var _sphere:Sphere;
public function BasicViewExample() {
super();
init();
}
private function init():void {
setupSphere();
startRendering();
}
private function setupSphere():void {
_sphere=new Sphere(new WireframeMaterial );
scene.addChild(_sphere);
}
override protected function onRenderTick(event:Event=null):void {
_sphere.rotationY+=2;
renderer.renderScene(scene,camera,viewport);
}
}
}
熟悉BasicView并熟练使用它,以后很多时候都会很方便的。
分享到:
相关推荐
"pv3d学习笔记 (2).rar"和"pv3d学习笔记.rar"中可能包含了作者在实践中遇到的问题、解决方法、示例代码以及对PV3D特性的深入理解。这些笔记可以帮助初学者快速上手,避免重复踩坑,同时也为有经验的开发者提供了新的...
这个教程集合提供了深入学习Papervision3D所需的知识,包括PV3D的基本概念、对象模型、渲染技术以及与Flex框架的集成。 1. **Papervision3D基础**:Papervision3D是Flash平台上的3D引擎,它允许开发者在网页和桌面...
- **FlashDevelop + Flex 2 SDK**: 这一组合提供了开发Papervision 3D项目的集成开发环境。FlashDevelop是一个免费的IDE,支持ActionScript 3.0编程;Flex 2 SDK则是开发Flash应用程序所需的软件包之一。 - **下载...
PV3D,全称为Papervision3D,是一款强大的开源3D图形引擎,专为Adobe Flash平台设计。它允许开发者在网页上创建复杂的3D场景,游戏以及交互式应用程序,从而突破了传统2D Flash的限制。PV3D Essentials是一份专门...
Papervision3D(简称PV3D)是Flash平台上最早的3D渲染引擎之一,它为开发者提供了在Web浏览器中构建三维互动体验的能力。这本书的中文翻译版本,对于国内的开发人员来说,无疑是一个学习PV3D技术的重要资源。 1. **...
《Papervision3D演示项目详解:七个实例深度剖析》 Papervision3D是一种基于Adobe Flash Platform的开源3D渲染引擎,它允许开发者在网页上创建复杂的3D场景和交互式应用。该技术的出现极大地拓宽了Flash的潜力,使...
此外,官方文档、社区论坛和各种教程资源都是学习PV3D的好去处。 总结,通过MyEclipse、Flex和PV3D的结合,开发者可以创建出引人入胜的3D Web应用程序。虽然初学者可能会觉得3D编程有些复杂,但随着对PV3D的深入...
- **ISBN**: 978-1-847195-72-2。 #### 六、作者介绍 - **Jeff Winder**: 独立Flash开发者,居住并工作在荷兰阿姆斯特丹。他对与Flash相关的新兴技术特别感兴趣,尤其是开源项目如WiiFlash、FLARToolKit和...
原文推荐了一个名为“pv3d傻瓜包”的资源包,这个包包含了Papervision3D的核心库文件和其他辅助工具。 2. **创建项目**:在Flash CS3或CS4中新建一个FLA文件,并将其命名为`test01.fla`。设置文件属性如下:帧频30...
关于文件名列表中的"PaperVision3D",这可能是一个包含完整示例代码、文档或者教程的资源包。通常,这样的资源会帮助开发者快速上手,了解如何初始化场景、加载模型、设置动画以及处理用户交互等。开发者可以通过...
Papervision3D(PV3D)是Flash平台上的一款强大的3D图形库,它允许开发者在网页上创建丰富的、交互式的三维图形和应用程序。本篇文章将深入探讨Papervision3D的API,帮助读者理解并掌握这个工具的核心概念和功能。 ...
描述中的“FLASH,FLEX最新PV3D帮助文档”意味着这个压缩包包含的是Papervision3D的最新版官方文档。这份文档可能是开发者学习和理解Papervision3D的关键资源,提供了详细的API参考、教程和示例代码,帮助开发者快速...
《Papervision3D精髓》一书是针对初学者及有一定基础的开发者设计的,旨在教授如何使用Papervision3D(PV3D)创建具有惊人效果和强大动画功能的交互式3D应用程序。PV3D是一种开源的3D引擎,用于Adobe Flash平台,它...
2. **Papervision3D核心组件** - **Display Objects**: 这些是构成3D场景的基本元素,如几何体(Box, Sphere, Plane等)、纹理、光源等。 - **Material and Textures**: 材质(Material)定义了物体表面的视觉特性...
Papervision3D(简称PV3D)是一个强大的开源库,它为Adobe Flash平台提供了先进的3D图形渲染能力。在Flash3D的世界里,Papervision3D_1_5是一个里程碑式的版本,它使得Flash不再仅仅是一个2D动画工具,而是能够处理...
《Papervision3D Essentials》是一本深入探讨Papervision3D(PV3D)的权威指南,中文版的出现使得更多中国开发者能够掌握这个强大的三维渲染库。Papervision3D是一个用于Adobe Flex和Flash平台的开源项目,它为Web...