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

郑州制作企业网站个人网页设计作品模板代码怎么写

郑州制作企业网站,个人网页设计作品模板代码怎么写,第一ppt课件免费下载官网,集艾设计公司官网一. 代理机制#xff0c;代理也叫做委托#xff0c;其作用就是提供一种消息机制。 发送方 #xff0c;接收方 分别叫做 触发点和执行点。就是软件中的观察者模式的原理。 创建一个C Actor作为练习 二.单播代理 创建一个C Actor MyDeligateActor作为练习 在MyDeligateAc…一. 代理机制代理也叫做委托其作用就是提供一种消息机制。 发送方 接收方 分别叫做 触发点和执行点。就是软件中的观察者模式的原理。 创建一个C Actor作为练习 二.单播代理 创建一个C Actor  MyDeligateActor作为练习 在MyDeligateActor.h中不需要其他头文件UE自带的 1.类型的声明代理的名称参数类型个数在Actor外 //单播代理类型声明 DECLARE_DELEGATE(NoParamDelegate); //无参数代理 DECLARE_DELEGATE_OneParam(OneParamDelegate,FString); //单播代理 代理名称参数类型 DECLARE_DELEGATE_TwoParams(TwoParamDelegate,FString,int32); //带有两个参数 的单播代理 代理名称参数1类型参数2类型 DECLARE_DELEGATE_ThreeParams(ThreeParamDelegate,FString,int32,float); //带有三个参数 的单播代理 代理名称参数1类型参数2类型,参数3类型 DECLARE_DELEGATE_RetVal(FString,RevalDelegate); //带有返回参数的。返回参数类型代理名称 2.在Actor里声明对应类型的的单播代理变量 //声明单播代理变量 名称 NoParamDelegate NoParamDelegate; OneParamDelegate OneParamDelegate; TwoParamDelegate TwoParamDelegate; ThreeParamDelegate ThreeParamDelegate; RevalDelegate RevalDelegate; 3.声明代理用绑定的函数 void NoParamFunction();void OneParamFunction(FString str);void TwoParamFunction(FString str,int32 value);void ThreeParamFunction(FString str,int32 value,float value1);FString RevalParamFunction(); 4.在CPP中 构造时对单播代理进行绑定 BindUObject(this,Function); //代理绑定 NoParamDelegate.BindUObject(this,AMyDeligateActor::NoParamFunction); OneParamDelegate.BindUObject(this, AMyDeligateActor::OneParamFunction); TwoParamDelegate.BindUObject(this, AMyDeligateActor::TwoParamFunction); ThreeParamDelegate.BindUObject(this, AMyDeligateActor::ThreeParamFunction); RevalDelegate.BindUObject(this,AMyDeligateActor::RevalParamFunction); 5.在BeginPlay里执行 //代理执行 判断是否绑定 绑定后就执行NoParamDelegate.ExecuteIfBound();OneParamDelegate.ExecuteIfBound(OneParamDelegate);TwoParamDelegate.ExecuteIfBound(TwoParamDelegate,10);ThreeParamDelegate.ExecuteIfBound(ThreeParamDelegate,10, 5.0f);FString strValue RevalDelegate.Execute(); 6.实现绑定的函数 void AMyDeligateActor::NoParamFunction() {GEngine-AddOnScreenDebugMessage(-1,5.f,FColor::Red,TEXT(NoParamDelegate)); }void AMyDeligateActor::OneParamFunction(FString str) {GEngine-AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT(%s), *str)); }void AMyDeligateActor::TwoParamFunction(FString str, int32 value) {GEngine-AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT(%s %d), *str,value)); }void AMyDeligateActor::ThreeParamFunction(FString str, int32 value, float value1) {GEngine-AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT(%s %d %f), *str, value,value1)); }FString AMyDeligateActor::RevalParamFunction() { FString str FString::Printf(TEXT(RevalParamDelegate));return str; }7.生成BP蓝图后放入场景中。 二. 多播代理 1.多播代理的类型声明一个代理可绑定多个函数 //多播代理类型声明(多播代理可以绑定多个函数) DECLARE_MULTICAST_DELEGATE_OneParam(OneParamMultiDelegate,FString); 2.在Actor里声明对应类型的的多播代理变量 //多播代理声明OneParamMultiDelegate OneParamMultiDelegate; 3.在Actor里声明多播代理绑定的函数 //多播代理绑定的函数UFUNCTION()void MultiDelegateFunction1(FString str);UFUNCTION()void MultiDelegateFunction2(FString str);UFUNCTION()void MultiDelegateFunction3(FString str); 4.CPP实现绑定的函数 void AMyDeligateActor::MultiDelegateFunction1(FString str) {FString TmpStr str.Append(1); //组合一下GEngine-AddOnScreenDebugMessage(-1,5.0f,FColor::Red,FString::Printf(TEXT(%s),*TmpStr)); }void AMyDeligateActor::MultiDelegateFunction2(FString str) {FString TmpStr str.Append(2);GEngine-AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, FString::Printf(TEXT(%s), *TmpStr)); }void AMyDeligateActor::MultiDelegateFunction3(FString str) {FString TmpStr str.Append(3);GEngine-AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, FString::Printf(TEXT(%s), *TmpStr)); } 5.在构造函数里绑定AddUObject(this,Function); //多播代理绑定 可绑定多个函数OneParamMultiDelegate.AddUObject(this,AMyDeligateActor::MultiDelegateFunction1);OneParamMultiDelegate.AddUObject(this, AMyDeligateActor::MultiDelegateFunction2);OneParamMultiDelegate.AddUObject(this, AMyDeligateActor::MultiDelegateFunction3); 6.在BeginPlay里执行多播代理。 //执行多播代理OneParamMultiDelegate.Broadcast(OneParamMultiDelegate); 7.效果如下 三.动态多播代理 1.动态多播代理类型声明,区别在于可以暴露给蓝图在蓝图中进行事件的绑定。 //DECLARE_MULTICAST_One //动态多播代理类型声明,区别在于可以暴露给蓝图在蓝图中进行事件的绑定. DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDynamicMultiDelegate, FString, param); 2.动态多播代理变量的反射声明 //动态多播代理,UPROPERTY(BlueprintAssignable)FDynamicMultiDelegate DynamicMultiDelegate; 3.编译后在蓝图里绑定。 4.执行动态多播代理 //执行动态多播代理绑定在我们的蓝图中进行实现DynamicMultiDelegate.Broadcast(DynamicMultiDelegate); 5.效果如下
http://www.zqtcl.cn/news/220719/

相关文章:

  • 出口退税在哪个网站做怎么在一起做网站上拿货
  • 网站友链查询传到网站根目录
  • 网站服务器端口设置北京专业网络直播制作
  • 可以免费做演播的听书网站南京企业自助建站
  • 软件下载类型网站怎么做长沙官网优化技术
  • 药品网站订单源码外贸网站建设服务器
  • 深圳网站制作07551免费开发网站
  • 如何直接用jsp做网站不写servletwordpress模板 单栏
  • 长沙网站建设哪个公司好设计公司网站 唐山
  • 原创小说手机网站制作需要多少钱郴州seo外包
  • 深圳市大鹏建设局网站网站关键词没排名怎么办
  • 水果商城网站制作多少钱c#如何做公司网站
  • 国内做进口的电商网站网站建设的经验做法
  • 蚂蚁搬家公司官方网站免费网站软件制作
  • 搭建网站要用到的工具外链代发免费
  • 肥城网站建设流程oem中国代加工网
  • 到底建手机网站还是电脑网站网站视频怎么做
  • 小区网站建设前端手机网站
  • 做一个网站价格WordPress好看的404
  • 查看注册过的网站在线网站软件免费下载
  • 门户网站建设公司价位域名出售网站
  • 亿级流量网站架构自己制作一个网站
  • 企业网站seo成功案例天津网站建设制作品牌公司
  • 衡水做网站电话郏县建设局网站
  • 美工做网站尺寸多少钱怎么做网站免费的
  • 会计信息系统网站建设流程图手机网站图片宽度
  • 已备案网站增加域名wordpress 百度熊掌号
  • 网站建设维护课件ppt百度搜索一下百度
  • 重庆企业网站开发方案wordpress菜单插件
  • 江苏网站seo设计什么学习网站建设