这篇文章给大家分享的是有关TE中如何实现飞到对象完成事件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在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);
}
此事件同样适用于飞到一个位置,需要自己程序创建个临时的对象,才能判断已经飞到了位置。
感谢各位的阅读!关于“TE中如何实现飞到对象完成事件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。