Away3D带你360°漫游全景影像
2013-09-11 19:09
302 查看
1代码展示
package { import away3d.containers.View3D; import away3d.controllers.HoverController; import away3d.entities.Mesh; import away3d.materials.TextureMaterial; import away3d.primitives.SphereGeometry; import away3d.textures.BitmapTexture; import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.events.KeyboardEvent; import flash.events.MouseEvent; [SWF(width='1024',height='512',frameRate='60')] public class Study05 extends Sprite { [Embed(source='/../embeds/pano_sphere.jpg')] private var _pano:Class; private var _startX:Number; private var _startY:Number; private var _mouseX:Number; private var _mouseY:Number; private var _view:View3D; private var _hover:HoverController; private var _mesh:Mesh; private var _sphere:SphereGeometry; private var _material:TextureMaterial; private var _bitmap:BitmapTexture; private var _delta:int; public function Study05() { _view = new View3D(); addChild(_view); _view.camera.lens.far = 2000; // 设置照相机的渲染上限(不能低于球半径) _bitmap = new BitmapTexture(new _pano().bitmapData); _sphere = new SphereGeometry(1000,32,32); _material = new TextureMaterial(_bitmap); _material.bothSides = true; _mesh = new Mesh(_sphere,_material); _hover = new HoverController(_view.camera,null,90,0,300); _view.scene.addChild(_mesh); stage.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownFunction); stage.addEventListener(MouseEvent.MOUSE_UP,onUpHandler); stage.addEventListener(MouseEvent.MOUSE_WHEEL,onWheelHandler); addEventListener(Event.ENTER_FRAME,onLoopHandler); } protected function onWheelHandler(event:MouseEvent):void { _delta+=event.delta; _hover.distance=_delta; //trace(del); } protected function onUpHandler(event:MouseEvent):void { stage.removeEventListener(MouseEvent.MOUSE_MOVE,mouseMoveFunction); } private function mouseDownFunction(event:MouseEvent):void { _startX = _hover.panAngle; _startY = _hover.tiltAngle; _mouseX = mouseX; _mouseY = mouseY; stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveFunction); //stage.addEventListener(MouseEvent.MOUSE_UP,mouseUpFunction); } private function mouseMoveFunction(event:MouseEvent):void { _view.camera.x=_delta; _hover.panAngle = (mouseX - _mouseX) * .3 + _startX; _hover.tiltAngle = (mouseY - _mouseY) * .3 + _startY; } protected function onLoopHandler(event:Event):void { _view.render(); } } }
2效果预览
相关文章推荐
- PanoramaGL向你展示360°全景影像
- 一张图看懂360°全景和VR的区别
- 360全景漫游(unity3d + 暴风魔镜)
- 360°全景影像移动端类库--PanoramaGL
- 可以制作照片360°全景flash文件的jp软件
- 【Android开发VR实战】二.播放360°全景视频
- 360°全景影像建库流程
- 360°全景影像数据流图和代码走读
- 360°全景影像优化建议
- android图片全景360°自动(手动)循环滚动
- Unity3D for VR 学习(7): 360°全景照片
- 厦门云感科技:公交大巴商用车3D-360°全景环视影像系统提供商
- 360°全景影像切片和POI管理
- 推荐(1月26日):360°展示图片 应用Taasky的带有3D效果的折叠菜单
- 360全景摄像相关
- 360全景图 制作心得
- <Three.js>(第三节)全景漫游
- 产品360°旋转
- UE4中采集360°全景图片和视频
- 360全景实现