skyline中有不少自带的事件能够进行调用,今天给你们介绍几种经常使用的事件函数
1、Open() spa
打开指定工程code
//初始化加载TerraExplorer工程 $(window).load(function() { try { var flyPath = "C:\\Users\\admin\\Desktop\\SkyglobeLB.fly"; sgworld.AttachEvent("OnLoadFinished", OnProjectLoadFinished); sgworld.Project.Open(flyPath); } catch(ex) { addLog(ex.message); } });
2、OnProjectLoadFinished()对象
在咱们执行SGWorld的Open方法,加载完成一个FLY工程后,就会触发这个事件。blog
也就是说,咱们经过这个事件能够判断在什么时间完成了FLY工程的加载,而后,咱们就能够在这个事件函数里说上一句“Hello World!”或者,再去执行一些其余操做,好比飞到某个地点,开启或者关闭某些图层等等。事件
//加载事件 function OnProjectLoadFinished(){ //默认飞到某一个位置 var Washington = sgworld.Creator.CreatePosition( 116.3912630081, 39.9074812817, 1000, 0, 0.0, // 偏航角 -43.0); // 俯仰角 sgworld.Navigate.FlyTo(Washington);
alert("Hello World!"); }
3、OnFrame()it
帧被渲染前发送事件,容许客户端以帧运动方式执行操做(例如,移动地面对象)。每一帧移动都会触发该方法。io
//添加事件 sgworld.AttachEvent("OnFrame",OnFrame); //进行调用 function OnFrame() { if(lable != null) { lable.Position = lable.Position.Move(100, -90, $("#pitch").val()); } }
4、OnLButtonClicked()function
当用户点击鼠标左键时触发class
//注册鼠标左键点击事件 sgworld.AttachEvent("OnLButtonClicked", OnLButtonClicked); //鼠标左键点击事件 function OnLButtonClicked(Flags, X, Y) { alert(Flags + "===" + X + "===" + Y); } //Flags, 定义各类组合键被按下, /*MK_LBUTTON = 1 MK_RBUTTON = 2 MK_SHIFT = 4 MK_CONTROL = 8 MK_MBUTTON =16 */ //X,鼠标的 X 坐标。坐标为屏幕坐标,三维窗口左上角为起始坐标 //Y,鼠标的 Y 坐标。坐标为屏幕坐标,三维窗口左上角为起始坐标
5、OnLButtonDblClk()
当用户双击鼠标左键时触发事件
与4、OnLButtonClicked()相似
6、OnLButtonDown()
当用户按下鼠标左键时触发事件
与4、OnLButtonClicked()相似
7、OnLButtonUp()
用户释放鼠标左键时触发事件
与4、OnLButtonClicked()相似
8、OnMButtonDblClk()
用户双击鼠标中键时触发事件
与4、OnLButtonClicked()相似
9、OnMButtonDown()
用户按下鼠标中键时触发事件
与4、OnLButtonClicked()相似
10、OnMButtonUp()
用户释放鼠标中键时触发事件
与4、OnLButtonClicked()相似