明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 320万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

Skyline WEB端开发 ——添加事件

Posted on   且行且思  阅读(327)  评论(0编辑  收藏  举报

skyline中有很多自带的事件可以进行调用,今天给大家介绍几种常用的事件

一、Open() 

打开指定工程

复制代码
//初始化加载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);
    }
});
复制代码

二、OnProjectLoadFinished()

在我们执行SGWorld的Open方法,加载完成一个FLY工程后,就会触发这个事件。

也就是说,我们通过这个事件可以判断在什么时间完成了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!");
}
复制代码

 三、OnFrame()

帧被渲染前发送事件,允许客户端以帧运动方式执行操作(例如,移动地面对象)。每一帧移动都会触发该方法。

//添加事件
sgworld.AttachEvent("OnFrame",OnFrame);
//进行调用
function OnFrame() {
    if(lable != null) {
        lable.Position = lable.Position.Move(100, -90, $("#pitch").val());
    }
}

四、OnLButtonClicked()

当用户点击鼠标左键时触发

复制代码
//注册鼠标左键点击事件
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 坐标。坐标为屏幕坐标,三维窗口左上角为起始坐标
复制代码

 

五、OnLButtonDblClk()

当用户双击鼠标左键时触发事件

四、OnLButtonClicked()类似

 

六、OnLButtonDown()

当用户按下鼠标左键时触发事件

四、OnLButtonClicked()类似

 

七、OnLButtonUp()

用户释放鼠标左键时触发事件

四、OnLButtonClicked()类似

 

八、OnMButtonDblClk()

用户双击鼠标中键时触发事件

四、OnLButtonClicked()类似

 

九、OnMButtonDown()

用户按下鼠标中键时触发事件

四、OnLButtonClicked()类似

 

十、OnMButtonUp()

用户释放鼠标中键时触发事件

四、OnLButtonClicked()类似

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示