Skyline开发:TE飞到对象完成事件

本文介绍在TE的二次开发中如何定义并使用飞到对象完成事件的方法。通过创建临时对象并监听其到达指定位置后的停止事件,进而触发一系列自定义的操作。示例代码展示了如何在CS中实现这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在TE的二次开发中,可以选择一个对象,并飞到对象的位置,在其中可以加入一些其他的程序操作,假如想飞到对象完成后,进行一系列的程序操作,就需要在二次开发中定义TE的对象事件。
下边以在CS中开发一个飞到对象完成事件为例,具体的代码如下:
//定义对象的事件
_sgworld = new SGWorld66();
_sgworld.OnObjectAction += _sgworld_OnObjectAction;
//事件的实现
string _tempLabel = string.Empty; //临时记录对象的ID
void _sgworld_OnObjectAction(string ObjectID, IAction66 Action)
{
//事件会判断所有的对象,所以要根据临时对象做操作,并且是在对象停 //下来的情况下
if (_tempLabel == ObjectID && Action.Code == ActionCode.AC_STOP)
{
//得到对象停止,执行下一步操作
dynamic _lab = _sgworld.Creator.GetObject(ObjectID);
_tempLabel = string.Empty;
}
}
//执行飞到对象事件
{
var _tPos = _sgworld.Creator.CreatePosition(_disPint.X, _disPint.Y, 0, AltitudeTypeCode.ATC_TERRAIN_RELATIVE, 0, -89, 0, 500);
_tempLabel = _sgworld.Creator.CreateLabel(_tPos, “”, string.Empty).ID;
_sgworld.Navigate.FlyTo(_tempLabel);
}
此事件同样适用于飞到一个位置,需要自己程序创建个临时的对象,才能判断已经飞到了位置。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值