虚幻4 Function Library
来源:互联网 发布:淘宝怎么玩赚钱 编辑:程序博客网 时间:2024/05/16 14:06
转载地址:
http://blog.ch-wind.com/%E8%93%9D%E5%9B%BE%E5%87%BD%E6%95%B0%E5%BA%93%E5%B0%8F%E7%BB%93/
蓝图函数库小结
蓝图函数库的功能非常强劲,如果在项目中使用的话有时能达到事半功倍的效果。
蓝图函数库,Blueprint Function Library。可以非常方便的将代码中的函数暴露给所有的蓝图使用,同时也提供了很好的代码复用性。完成的蓝图函数库可以非常轻易的在其他项目中使用或者共享给其他人。由于在函数库中定义的所有函数都能在其他的蓝图中访问,可以说是和单例模式的C++代码接合的天然素材。也可以防止为了定义一些泛用的函数而频繁的使用接口继承。
使用起来也是非常的简单明了。类似下面的代码就可以完成一个蓝图函数库了。
#pragma once#include "CoBpFuncLib.generated.h"/** Blueprintable并不是必须的 */UCLASS(Blueprintable) class UCoBpFuncLib : public UBlueprintFunctionLibrary { GENERATED_UCLASS_BODY()public: /** <测试函数组 */ UFUNCTION(BlueprintCallable, Category = "UCoBpFuncLib") static int32 GetHp(); UFUNCTION(BlueprintCallable, Category = "UCoBpFuncLib") static void AddHp(int32 Val);};
上面的是头文件,如果没有打算在蓝图中继承这个函数库的话可以选择去掉这个声明。
#include "CoBpFuncLib.h" #include "LogicMisc/StateCenter.h"////////////////////////////////////////////////////////////////////////// // UCoBpFuncLibUCoBpFuncLib::UCoBpFuncLib(const class FObjectInitializer& PCIP) : Super(PCIP) {}int32 UCoBpFuncLib::GetHp() { return StateCenter::sharedStateCenter()->miPlayerHp; }void UCoBpFuncLib::AddHp(int32 Val) { StateCenter::sharedStateCenter()->miPlayerHp += Val; }
上面的代码实现通过访问存储有miPlayerHp的单例来进行HP的访问和调整。编译后运行,随便打开一个蓝图都能访问到这两个函数。注意,上面代码中并没有给出StateCenter的定义,如果有想要直接尝试的童鞋请去掉相关的代码。
有了蓝图函数库,我们在进行游戏逻辑设计时就又多了很多选择。
0 0
- 虚幻4 Function Library
- Function Library
- Library 11. Function
- Android Utility Function Library
- C library function - memset()
- 虚幻4引擎
- 虚幻4引擎
- 虚幻4的Style
- 虚幻4 Editor 编程
- 虚幻4 蒙太奇
- 虚幻4编码规范
- 虚幻4目录结构
- 虚幻4 反射
- 虚幻4 材质基础
- 虚幻4 碰撞过滤
- 虚幻4 Task小记
- 虚幻4 TaskGraph小记
- 虚幻4 笔记
- Spring+SpringMVC+MyBatis
- mysqldump导入导出数据库总结
- JavaScript之函数实例属性和类属性
- 第一篇博客,记录一下开始
- 线段树入门HDU_1754
- 虚幻4 Function Library
- 剑指offer-面试题3.二维数组中的查找
- AlertDialog 自定义布局点击按钮消失方法
- DE1-SOC开发之路--安装ubantu系统
- grep操作
- 并查集 水题
- java 访问权限修饰符理解
- JavaScript之调用函数的方式
- 为什么突然之间有了写博客的想法