在平面上按住鼠标左键可以拉框:
原理是获取坐标的坐标,实时绘制一个立方体,这个例子是想说明:3d物体也没什么神奇的,就是定义几个顶点的
坐标就可以了,要想使物体形变,也可以通过修改坐标来实现。
主要代码如下:
/* 注册事件*/
addEventListener(MouseEvent.MOUSE_UP, removeDragListener);
addEventListener(MouseEvent.MOUSE_DOWN, setDragListener);
private function setDragListener(evt:MouseEvent=null):void
{
pt1=getMousePointOnFloor();//使用方法一
// var intersect:Number3D=getMousePointOnFloor2();//使用方法二
addEventListener(MouseEvent.MOUSE_MOVE, move3DMap);
}
private function move3DMap(evt:MouseEvent=null):void{
pt2=getMousePointOnFloor();//使用方法一
// cube.position=new Number3D((pt2.x+pt1.x)/2,(pt2.y+pt1.y)/2,0);
var v4:Vertex3D = cube.geometry.vertices[4];
var v5:Vertex3D = cube.geometry.vertices[5];
var v6:Vertex3D = cube.geometry.vertices[6];
var v7:Vertex3D = cube.geometry.vertices[7];
v6.x =pt2.x; v6.y =pt2.y ;
v5.x =pt1.x; v5.y =pt1.y ;
v4.x=v5.x; v4.y=v6.y;
v7.x=v6.x; v7.y=v5.y;
var v0:Vertex3D = cube.geometry.vertices[0];
var v1:Vertex3D = cube.geometry.vertices[1];
var v2:Vertex3D = cube.geometry.vertices[2];
var v3:Vertex3D = cube.geometry.vertices[3];
v0.x=v6.x;v0.y=v6.y;v0.z=-v6.z;
v1.x=v7.x;v1.y=v7.y;v1.z=-v7.z;
v2.x=v4.x;v2.y=v4.y;v2.z=-v4.z;
v3.x=v5.x;v3.y=v5.y;v3.z=-v5.z;
cube.visible=true;
}
private function removeDragListener(evt:MouseEvent=null):void
{
removeEventListener(MouseEvent.MOUSE_MOVE, move3DMap);
}
分享到:
相关推荐
Papervision3D is a powerful real-time 3D engine for Flash. Papervision3D can take externally created 3D models and render them as Flash content, without requiring end-users to download or install an ...
Papervision3D 教程,pv3d,pv3d+Flex,pv3d中文帮助
这个是as3版本,如果有需要用as... 同时在Flash 大量应用的今天,Flash在 3D领域的应用相对贫乏,但是如果能在Flash Player中播放,体积小,与用户交互能力强,效果逼真的3D web应用程序,无疑将给用户带来全新的体验。
Papervision3D_2.0.869.swc
例子来自于Flash3D研究所,超简易Papervision3D基础 Main.cs 小球加外部贴图 Main2.cs 物体的各种移动 (讲解移动/旋转/放大物体的方法) Main3.cs导入外部模型 (讲解如何从外部软件导入collada文件) Main4.cs pv...
《Papervision3D+Essentials》中文翻译
Papervision3D Essentials (PV3D)的中文版电子书及 书中实例源码下载 PV3D FLEX 三维渲染必备开源包
一个不错的Flash 3D引擎Papervisio3D,让你的flash从2D转化3D不再是难事.最新版本as3
Papervision3D_2.1.932.swcPapervision3D_2.1.932.swcPapervision3D_2.1.932.swc
整理了Papervision3d的各方面资料,并且提供一个全景代码案例!
希望对学习PV3D引擎的人提供点帮助。这是一pv3D的api电子书
Papervision3D Essentials 中文版 翻译 第一章 docx格式
Papervision3D的api,这个帮助文档介绍各种包的使用,有利于快速学习3D
使用papervision3d引擎做的7个实例源码
《Papervision3D Essentials》是一本最新的Papervision3D入门书,对学习 Papervision3D很有帮助。包括pv3d库和源码以及书中代码
Papervision3D 中文文档,同学们不好意思,这个资源收点儿分,哥,最近穷了,没有分了 下次有好资源的时候,哥,免费送给你们
papervisiion3d sdk,开发环境myeclipse+flex+pv3d
papervision3d 精髓,入门者必备,最新版本
博文链接:https://ioryioryzhan.iteye.com/blog/206368
Papervision3D.doc Papervision3D入门 Collada模型文件