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

免费web服务器网站澳门深圳网站推广

免费web服务器网站澳门,深圳网站推广,做游戏的php网站,创建自己的博客网站吗162 actor components: creating our own components 设置自动导入时都使用/ 163 widget components: creating a health bar for enemy c实现 space选中world 玩家直到跑到角色面前才能够看见血条;而选中screen 玩家在viewport中看不到widget样式&#…

162 actor components: creating our own components

 设置自动导入时都使用/



163 widget components: creating a health bar for enemy

c++实现

space选中world 玩家直到跑到角色面前才能够看见血条;而选中screen 玩家在viewport中看不到widget样式,但在游玩过程中是能够实时不限角度看到血条的



164 user widget class: a c++ class for our health bar widget

We'll save everything and we're going to compile and launch the editor from here in Visual Studio. 我们将保存所有内容,然后我们将在 Visual Studio 中编译并启动编辑器。

So I'm going to hit Control F five. 所以我要按下 Control F 5。

Now, just to side note, sometimes if you close the editor and hit Control F five, you'll get an error 现在,顺便说一下,有时如果你关闭编辑器并按 Ctrl F 五,你会收到一个错误

that says cannot compile while live coding is active. 也就是说,当 Live Coding 处于活动状态时,无法编译。

That means you need to let the editor close down and wait a few seconds so it's completely closed before 这意味着您需要让编辑器关闭并等待几秒钟,以便它在此之前完全关闭

UPROPERTY(meta = (BindWidget)) 

在 UE(Unreal Engine)中,meta = (BindWidget) 是 UPROPERTY 宏的一个元数据标记,主要用于在 C++ 代码与蓝图中的 UI 元素(Widget)之间建立绑定关系 ,方便在 C++ 中直接访问和操作蓝图创建的 UI 控件。具体作用如下 

实现 C++ 与蓝图 UI 控件绑定

在基于 UUserWidget 的子类中,当在 C++ 代码里声明一个 UI 控件指针(如 UButton* 、UTextBlock* 等 ),同时使用 UPROPERTY(meta = (BindWidget)) 修饰该指针变量时,只要在蓝图中创建同名的 UI 控件,UE 运行时会自动将蓝图中的 UI 控件实例与 C++ 中的指针变量进行绑定。例如,C++ 代码里声明 UPROPERTY(meta = (BindWidget)) UButton* MyButton; ,在蓝图中创建名为 MyButton 的按钮控件,运行时就能实现二者关联,无需手动查找。

简化 UI 控件访问流程

若不使用 meta = (BindWidget) ,要在 C++ 中访问蓝图里的 UI 控件,需通过类似 GetWidgetFromName 等函数手动查找并初始化控件。而使用该标记后,UE 自动完成绑定和初始化,可直接在 C++ 代码中通过绑定的指针操作控件,比如为按钮绑定点击事件等,大大简化了开发流程。

便于 UI 逻辑分离与协作

借助 meta = (BindWidget) ,可在蓝图中专注设计 UI 的样式、布局等外观内容,在 C++ 中编写 UI 相关的逻辑功能(如事件响应、数据交互等 ),实现设计与逻辑的分离,便于团队协作开发。比如 UI 设计师可在蓝图中调整 UI 元素,程序员在 C++ 中实现对应交互逻辑,且不用担心二者连接问题。 另外,还有 meta = (BindWidgetOptional) 变体,若蓝图中不存在同名窗口小部件,不会显示错误 ;若蓝图存在同名且标记为 BindWidget 的属性,需在其 UPROPERTY() 标签中添加 BlueprintReadOnly 或 BlueprintReadWrite 才能在蓝图中访问 。

修改Widget蓝图所继承的父类

变量要同名



165 setting the health percent : accessing the healthbar userwidget in c++

流程是emeny设置healthbarcomponent的widget为WBP_HealthBar, HealthBarComponent中有HealthBar(父类为widget)的c++成员变量; HealthBar.h(WBP_HealthBar)中有healthbar(UProgressBar)类型(注意其中四者的包含关系,并且是由最外层enemy来指定中层的widget class)

WidgetComponent中UMG_API UUserWidget* GetUserWidgetObject() const;与TSubclassOf<UUserWidget> GetWidgetClass() const { return WidgetClass; }的区别

1. GetUserWidgetObject()

作用
  • 返回当前已实例化的 UMG 控件对象UUserWidget* 类型)。

  • 如果 WidgetComponent 尚未创建控件实例,则返回 nullptr

关键特性
  • 运行时获取:只能在控件被实际创建后调用(通常在 BeginPlay 之后)。

  • 操作具体实例:可以直接修改控件属性或调用其函数:

2. GetWidgetClass()

作用
  • 返回控件组件的蓝图类定义TSubclassOf<UUserWidget> 类型)。

  • 仅提供类信息,不涉及实例化。

关键特性
  • 设计时/运行时均可调用:即使控件未实例化也能获取。

  • 仅获取元数据:无法直接操作控件逻辑,但可用于:

    • 检查预期的控件类型。

    • 动态创建其他实例:



166 Damage : unreal engine's built-in damage system



167 custom health bar: spicing up the HUD

设置状态栏的压缩



168 enemy death animations:  animations for enemy death



169 enemy death: deading some fools

在代码中设置变量之后,如果是资产变量,一般需要在蓝图选择资产



170 death poses: making the enemy stay down

选中当前最后一帧作为动画资产

方法一

方法二 unreal 多线程 

 

 修改blender时间



171 polishing enemy death: finishing touches on enemy death

添加对血条的可视化或者隐藏;当角色死亡之后去除角色的胶囊体阻挡;

http://www.dtcms.com/wzjs/69343.html

相关文章:

  • wordpress全屏首页外贸网站优化推广
  • 柳州做网站有kv什么软件可以搜索关键词精准
  • 网站开发的核心技术河南网站优化公司哪家好
  • 网站标签制作宁波seo优化
  • 带数据库的网站做单页网站怎么优化
  • 互联网招聘网站百度服务中心投诉
  • 营销型网站建设推广今天新闻联播
  • 外贸商城网站模板seo综合查询接口
  • 阳谷做网站推广怎样做网站
  • 海口做网站哪家好客户管理软件
  • 天长网站建设天长精准营销
  • 企业建网站公司多少钱中国十大品牌策划公司
  • 成都有哪些做网站的域名注册万网
  • 动态视频网站开发合肥网站快速排名提升
  • 有没有免费的手机网站建设搜索引擎有哪些网站
  • 一张图片做单页网站营销软文是什么意思
  • 服装网站推广方案苏州网络公司
  • 电子政务网站开发色盲色弱测试
  • 个人网站自助建站平谷头条新闻
  • fullpage网站怎么做怎么搭建自己的网站
  • 手机网站与pc网站的区别手机推广平台有哪些
  • 有没有做任务一样的网站兼职seo网站建设优化什么意思
  • 包头做网站的成都网站seo公司
  • 怎么做 废旧回收网站b2b网站有哪些平台
  • html设计素材网站全国疫情今天最新消息
  • 西宁市网站建设公司网络营销有哪些例子
  • 网站建设设计师的工作内容谷歌广告
  • 网站开发语言排行榜最近的时事新闻
  • 免费全国网站在线客服软件网站百度推广
  • 金融网站模板免费下载宣传页面怎么制作