001 The Item Class_cn-虚幻引擎C++终极射击课程(第五章)

AID:
CID:
视频图片:
作者头像:
弹幕地址:
视频描述:

热门回复:

  • aaaerik:p10 有一些bug 当玩家在一个武器的圈内时 看向圈外的另一个武器 也可以显示另一个武器的UI 少了一个判断 是否在当前圈内 可以在Item内定义一个布尔值 用来判断是否在当前圈内 然后当重叠时设置为true 另一边的检测条件多加一个 if (HitItem && HitItem->GetPickUpWidgetComp() && HitItem->ReturnIsCurrentItemFocus()) HitItem->ReturnIsCurrentItemFocus()是一个内联函数 只用来返回布尔值真假
  • aaaerik:p21 可以使用合体碰撞的委托来设置ItemState 就避免了Tick
  • aaaerik:p9 实际上这一类的触发式事件 就是委托 关于委托 就是不需要时时刻刻检测 而是触发某个条件的时候再触发委托的函数 像闹钟叫你起床 这一类就是委托 委托绑定的回调函数 如果是UE已经有的委托 可以跳转到定义看签名 比如下面两个 就是触发盒子的OnBeginOverlapped和OnEndOverlapped 我们可以看到 委托是 动态多播委托的 这一类委托可以在蓝图中使用 像OnBeginOverlapped就可以在蓝图中找到 也可以看看蓝图中的输出 其实也是六参数 不过他们参数就有一些限制 可以看到OnBeginOverlapped是六个参数 那么只需要从括号内从后往前数六个参数即可 然后把参数类型和参数名之间的 "," 去掉即可 相似的委托还有很多类型 比如单播委托 多播委托等等
  • aaaerik:p11 12 13 这种绑定方式是tick绑定的 比较消耗性能 可以通过PickUpWidgetComp->GetUserWidgetObject()->GetWidgetFromName() 利用反射机制得到控件中的组件(个人觉得应该是反射 从蓝图到C++) 然后在合适时间 对文字 数量 星星等进行设置(写一个函数)
  • 北冥没有鱼啊_:我想问一下,当人物走进武器的球体碰撞里,鼠标移动到武器身上显示UI,作者为什么要用int超过0返回布尔值来判断人物是否进入球体碰撞,直接用布尔不就行吗,进入为真,退出为假