当前位置: 首页 > news >正文

地方网站源码做网站公司需要帮客户承担广告法吗

地方网站源码,做网站公司需要帮客户承担广告法吗,广州seo网站排名优化,怎么写软文推广在脚本中,子系统通过以下全局财产可用:时间、文件系统、日志、缓存、网络、输入、ui、音频、引擎、图形、渲染器、脚本、控制台、debugHud、数据库。请注意,由于WorkQueue和Profiler的低级性质,它们不可用于脚本。 事件本身不需要…

在脚本中,子系统通过以下全局财产可用:时间、文件系统、日志、缓存、网络、输入、ui、音频、引擎、图形、渲染器、脚本、控制台、debugHud、数据库。请注意,由于WorkQueue和Profiler的低级性质,它们不可用于脚本。

事件本身不需要注册。它们通过名称的32位 hashes来识别。事件参数(数据负载)是可选的,包含在VariantMap中,由32位参数名称散列标识。对于内置的Urho3D事件,事件类型(E_UPDATE、E_KEYDOWN、E_MOUSEMOVE等)和参数散列(P_TIMESTEP、P_DX、P_DY等)使用帮助宏Urho3D_event和Urho3D_PARAM定义为包含文件(如CoreEvents.h或InputEvents.h)中的命名空间常量。

订阅事件时,必须指定处理程序函数。在C++中,这些必须具有签名void HandleEvent(StringHash eventType、VariantMap和eventData)。URHO3D_HANDLER(className,function)宏有助于定义所需的特定于类的函数指针。例如:

SubscribeToEvent(E_UPDATE, URHO3D_HANDLER(MyClass, MyEventHandler));

脚本中的事件由其字符串名称而不是名称哈希来标识(尽管这些名称在内部转换为哈希)。脚本事件处理程序可以具有与C++中相同的签名,或者在不需要事件类型和参数时使用简化的签名void HandleEvent()。相同的事件订阅如下所示:

SubscribeToEvent("Update", "MyEventHandler");

在C++中,事件必须始终由成员函数处理。脚本内程序事件处理也是可能的;在这种情况下,事件处理程序函数所在的ScriptFile成为事件接收器。有关详细信息,请参阅脚本。

也可以取消订阅活动。有关详细信息,请参阅UnsubscribeFromEvent()。

要发送事件,请填写事件参数(如果需要)并调用SendEvent()。例如,这(在C++中)是引擎子系统在每个帧上发送Update事件的方式。出于性能原因,在C++中,通过调用GetEventDataMap()而不是每次创建一个新的VariantMap对象,在每个帧中重用相同的映射对象。请注意,参数名称哈希位于与事件名称匹配的命名空间中:

using namespace Update;VariantMap& eventData = GetEventDataMap();
eventData[P_TIMESTEP] = timeStep_;
SendEvent(E_UPDATE, eventData);

在脚本中,事件参数(如事件类型)用字符串引用,因此相同的代码如下所示:

VariantMap eventData;
eventData["TimeStep"] = timeStep;
SendEvent("Update", eventData);

通过其他对象发送事件

由于SendEvent()函数是公共的,因此事件可以被“伪装”为源自任何对象,即使实际上不是由该对象的成员函数代码发送的。这可用于简化通信,尤其是场景中组件之间的通信。例如,物理模拟通过使用参与场景节点作为发送者来发出碰撞事件的信号。这意味着任何组件都可以很容易地订阅其自身节点的冲突,而不必知道所涉及的实际物理组件。同样的原则也可以用于任何特定于游戏的消息传递,例如,使“收到的损害”事件源自场景节点,尽管它本身没有损害或健康的概念。

C++11事件绑定和发送

事件可以绑定到lambda函数,包括捕获上下文:

SubscribeToEvent(E_UPDATE, [&](StringHash type, VariantMap& args) {});

std::bind() 类方法:

void MyObject::OnUpdate(StringHash type, VariantMap& args)
{}
SubscribeToEvent(E_UPDATE, std::bind(&MyObject::OnUpdate, this, std::placeholders::_1, std::placeholders::_2)));

std::bind() 丢弃不需要的参数:

void Class::OnUpdate(VariantMap& args)
{}using namespace std::placeholders;SubscribeToEvent(E_UPDATE, std::bind(&Class::OnUpdate, this, _2)));

有一种使用C++可变模板发送事件的方便方法,它减少了所需的样板代码量。使用上面的相同示例,在C++11标准中,代码可以重写为:

using namespace Update;
SendEvent(E_UPDATE, P_TIMESTEP, timeStep_);

在上面的示例中只有一个参数对,但是,此重载方法接受任意数量的参数对。

http://www.yayakq.cn/news/426016/

相关文章:

  • 网站开发与网页制作的区别平面设计哪里学
  • wordpress 门户网站涿州城乡建设局网站
  • 怎样建设公司网站小程序个人网页制作模板免费
  • 记录网站 自己做一对一视频网站建设
  • 搭建网站要用到的工具做百度网站需要多少钱
  • 娄底网站建设的话术微信公众号平台怎么上传wordpress
  • 网站权重批量查询vs2005做的网站转换为2012
  • 注册网站诚信承诺书织梦网站反应速度慢
  • 入侵网站后台管理系统企业crm销售管理系统
  • 哈尔滨制作网站多少钱健康服务管理中心
  • 广东峰凌建设有限公司网站泊头网站建设的有哪些
  • 网站名字大全有哪些wordpress 不显示摘要
  • 建设银行网站怎么下苏州专业做网站公司有哪些
  • 学习网页制作的网站政务信息系统网站建设规范
  • shopex 网站搬家房地产市场最新动态
  • 长春网站建设电话咨询有什么网站可以做logo赚钱
  • 工程网站建设网站代运营公司排名
  • 北京网站制作的网站后台登录界面
  • 网站一级域名申请千图网素材下载网站
  • 易思网站系统阿里云网站域名查询
  • 菲律宾做网站免费咨询劳动律师
  • 优化网站多少钱网站建设费一般多少
  • 做ppt的网站有哪些直播软件哪个好用
  • 做论坛网站的cms线上商城的推广方案
  • 手机移动端网站建设网站建设管理和维护
  • 中国建设银行官网站预定红念币中国软件是外包吗
  • qq官方网站登录跨境电商 网站开发
  • 政务公开网站建设整改方案刷单类网站开发
  • 做网站建设要什么证电子商务系统包括
  • 外贸企业的网站建设营销网络世界地图