Flash全景漫游教程及代码(PV3D)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
package
{
import fl.controls.ColorPicker;
import flash.events.*;
import .*;
import flash.display.*;
import flash.sampler.NewObjectSample;
import flash.text.*;
import fl.containers.ScrollPane;
import org.papervision3d.cameras.CameraType;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.view.Basic View;
import org.papervision3d.materials.BitmapFileMaterial;
import sliz.miniui.Button;
import caurina.transitions.Tweener;
public class mode3 extends Basic V iew
{
private var sphere:Sphere;
private var material:BitmapFileMaterial;
private var panoramas_array:Array=new Array();
private var room_name:Array=new Array();
private var x_point:Array=new Array();
private var y_point:Array=new Array();
private var guider:Array=new Array();
//舞台长宽
private var w:Number=1000;
private var h:Number=900;
//平面图的长宽,总的平面图的宽度
private var panel_width:Number;
private var panel_height:Number;
//球体在XY轴上旋转地角度
private var angleX:Number;
private var angleY:Number;
//功能按钮状态
private var down:Number=0;
//拖动球体是按下时鼠标的坐标
private var downX:Number;
private var downY:Number;
//选择的房间号
private var room_no:Number;
//定义功能按钮
//private var up_btn:Sprite=new Button("button1");
private var up_btn:Sprite=new Button("向上");
private var down_btn:Sprite=new Button("向下");
private var left_btn:Sprite=new Button("向左");
private var right_btn:Sprite=new Button("向右");
private var zoomIn_btn:Sprite=new Button("放大");
private var zoomOut_btn:Sprite=new Button("放小");
private var previous_btn:Sprite=new Button("向下");
private var next_btn:Sprite = new Button("向下");
private var showhide_btn:Sprite = new Button("");
//按钮数组
private var buttons:Array=new Array();
private var points:Array=new Array();
//xml导入器
private var xml_loader:URLLoader;
private var dataXML:XML;
//全景相关信息
private var panel_image:String="";
private var panoramas_image:String="";
private var guide_image:String="";
private var room_x:String="";
private var room_y:String="";
private var image_name:String="";
//布局容器
private var panel_image_container:ScrollPane=new ScrollPane();
private var guide_image_container:ScrollPane=new ScrollPane();
//显示房间名字的文本
private var room_name_container:TextField;
private var panel_room_name:TextField;
private var formatter:TextFormat;
//panel_image_container容器中的二级容器,在总图里的的链接
private var point_container:Sprite;
private var panelImg_loader:Loader;
//总的楼房数
private var totalhouse:Number;
//选择的楼房
private var house_number:Number=0;
public function mode3()
{
//布置全景显示的位置
super(800,390,false, false,CameraType.FREE);//第1、2个参数设置主画面的大小。
this.x=20;//左上角的起点坐标
this.y=20;
init();
}
private function init():void
{
initObj();
//注册帧频侦听用于不断刷新屏幕
this.addEventListener(Event.ENTER_FRAME,onEnterFrame);
//拖动球体鼠标按下时注册侦听
this.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
//拖动球体鼠标发开时注册侦听
this.addEventListener(MouseEvent.MOUSE_UP,onUp);
//设置全屏参数
//stage.scaleMode=StageScaleMode.NO_SCALE;
stage.align=StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.SHOW_ALL;
panel_image_container.alpha = 0.02;
panel_image_container.addEventListener(MouseEvent.MOUSE_OUT, panelout);
panel_image_container.addEventListener(MouseEvent.MOUSE_OVER, panelover);
}
private function initObj():void
{
//设置舞台背景