H

UFUNCTION(BlueprintNativeEvent)

void EventName();

virtual void EventName_Implementation();

EventName事件发生时会调用这个函数

CPP

void ClassName::EventName_Implementation()

这个宏是UE4的强制内联函数,用于优化,返回Mesh的指针给Pickup

FORCEINLINE class UStaticMeshComponent *GetMesh() const { return PickupMesh;}

//BlueprintPure 此函数不会以任何方式影响其从属对象,并且可在蓝图或关卡蓝图图表中执行。

UFCUNTION相关

https://docs.unrealengine.com/latest/CHN/Programming/UnrealArchitecture/Reference/Functions/index.html

UFUNCTION(BlueprintPure, Category = "PickUp")

UFUNCTION(BlueprintCallable, Category = "PickUp")

UFUNCTION(BlueprintNativeEvent)

UFUNCTION(BlueprintImplementableEvent,Category="Power")

UPROPERTY相关

https://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/Reference/Properties/index.html

//这个属性就是可以让你在编辑器中修改组件,因为目前版本不加这个可能会无法修改吧,到时候试试看

UPROPERTY(EditAnywhere,BlueprintReadWrite,Category="Power",Meta=(BlueprintProtected="true"))

UPROPERTY(VisibleAnywhere,BlueprintReadOnly,Category="Pickup",meta=(AllowPrivateAccess ="true"))

class UStaticMeshComponent *PickupMesh;

———————————————————————————————

总结一下,需要与蓝图交互的函数与变量会使用UFUNCTION,UPROPERTY宏,不需要的这不需要使用这些宏。

案例中使用的随机数相关代码

包含头文件

#include "Kismet/KismetMathLibrary.h"

FMath::FRandRange(float inMin,float inMax)

HUD部分

之前需要在项目中的CS文件中添加UMG模块之后,在对应的CPP文件中添加,不过我不太建议在C++文件中做HUD操作

PrivateDependencyModuleNames.AddRange(newstring[]{"Slate","SlateCore"});

#include "Blueprint/UserWidget.h"

UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Power", Meta = (BlueprintProtected = "true"))

TSubclassOf<class UUserWidget> HUDWidgetClass;

HUD实例

UPROPERTY()

class UUserWidget *CurrentWidget;

if (HUDWidgetClass!=nullptr)

{

CurrentWidget = CreateWidget<UUserWidget>(GetWorld(), HUDWidgetClass);

if (CurrentWidget!=nullptr)

{

CurrentWidget->AddToViewport();

}

}

Ue4 BatteryCollector 教程笔记的更多相关文章

  1. jQuery官方基础教程笔记(转载)

    本文转载于阮一峰的博文,内容基础,结构清晰,是jquery入门不可多得的资料,非常好,赞一个. 阮一峰:jQuery官方基础教程笔记 jQuery是目前使用最广泛的javascript函数库. 据统计 ...

  2. 简单脱壳教程笔记(2)---手脱UPX壳(1)

    本笔记是针对ximo早期发的脱壳基础视频教程,整理的笔记. ximo早期发的脱壳基础视频教程 下载地址如下: http://down.52pojie.cn/%E5%90%BE%E7%88%B1%E7% ...

  3. Docker 入坑教程笔记

    Docker 入坑教程笔记 视频网址B站:点这里 查询命令 man docker 简单启动和退出 docker run --name [容器名] -i -t ubuntu /bin/bash 交互启动 ...

  4. Verilog HDL实用教程笔记

    Verilog HDL实用教程笔记 DRC - Design Rule Check 几何规则检查ERC - Electrical Rule Check 电学规则检查自动参数提取LVS - Logic ...

  5. 无废话MVC入门教程笔记

    自学mvc,看了园子里李林峰写的李林峰写的无废话MVC入门教程笔记,现在有的平时忽略的或是不太清楚的点记下来 1,Html.DropDownList //服务端写法 @{ //下拉列表的值 List& ...

  6. [转]赵桐正thinkphp教程笔记

    原文:赵桐正thinkphp教程笔记 ,有修改 常用配置 常用配置config.php: <?php return array( //'配置项'=>'配置值' 'URL_PATHINFO_ ...

  7. swift基础教程笔记

    http://www.imooc.com/learn/127 <玩儿转swift> 慕课网教程笔记,自己根据2.1的语法做了更新. I. 1.通过playground来学习.熟悉swift ...

  8. 2019-03-22 Python Scrapy 入门教程 笔记

    Python Scrapy 入门教程 入门教程笔记: # 创建mySpider scrapy startproject mySpider # 创建itcast.py cd C:\Users\theDa ...

  9. Swagger快速入门教程笔记

    现在市面上大多数公司都摒弃了传统 jsp 开发,采用前后端分离式的开发规则,前端使用 Vue,Angular,React 等等完成页面,后端省掉了视图跳转的过程,直接书写接口返回 json 数据供前端 ...

随机推荐

  1. Java代码简化神器-Lombok

    一.背景 前段时间在开源社区中发现了一个比较牛逼的简化Java代码的神器-Lombok,接着自己写了demo进行测试和练习,感觉真的很不错,特此分享给需要的小伙伴们~ 二.开发之前的准备 1.lomb ...

  2. 如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法

    最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指 ...

  3. [Android] adb shell dumpsys的使用

    reference to :http://blog.csdn.net/g19920917/article/details/38032413 有两种方法可以查看service list: 1. adb ...

  4. google关于ssh key的解释(转)转的google的wiki的

    SSH keys (简体中文)     SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码.由于您无需发送您的密码到网络中,SSH 密钥对被认为是更加安全的方式.再加上使用密码短语 ( ...

  5. 三、jQuery--Ajax基础--Ajax全接触--Ajax在JS中的应用

    Ajax的全称:Asynchronous JavaScript And XML(异步的 JavaScript 和 XML). Ajax不是某种编程语言,是一种在无需重新加载整个网页的情况下能够更新部分 ...

  6. Faster-rnnlm代码分析2 - HSTree的构造

    也就是构造一棵Huffman Tree,输入是按照词汇频次由高到低排序的 采用层次SoftMax的做法,是为了使得训练和预测时候的softmax输出加速,原有multinomal softmax,是和 ...

  7. SVM NG课件1

    SVM NG课件1 2014年9月28日 16:39 一个二维空间点的示例     已使用 Microsoft OneNote 2013 创建.

  8. linux后台运行和关闭、查看后台任务

    转自:http://www.cnblogs.com/kaituorensheng/p/3980334.html fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.&a ...

  9. 【翻译二十三】java-并发程序之随机数和参考资料与问题(本系列完)

    Concurrent Random Numbers In JDK 7, java.util.concurrent includes a convenience class, ThreadLocalRa ...

  10. 解决postgresql -- ERROR: 42601: query has no destination for result data

    I am learning Npgsql and PostgreSQL. I am unable to define the output parameter correctly. What am I ...