实例甜点 Unreal Engine 4迷你教程之函数中的静态变量
Posted 小江村儿的文杰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实例甜点 Unreal Engine 4迷你教程之函数中的静态变量相关的知识,希望对你有一定的参考价值。
本小节的教程无前置教程,可直接学习,篇幅很短。
本教程浓缩起来就是一句话:函数中的静态变量在调试过程中保留值。所以需要谨慎对待。
什么意思?请先不要一步一步对着做,而整体地看一遍下面的过程:
第一步:创建一个空工程(C++ Basic Code),名为LearnArray;
第二步:创建两个Actor类分别称为:MyActor和sand;
第三步:在MyActor中有tick函数如下:
▼代码开始 // Called every frame void AMyActor::Tick(float DeltaTime) { Super::Tick(DeltaTime); static int32 Timer = 0;//【请注意这里声明了函数级别的静态变量】 if (Timer++ == 20) { UE_LOG(LogTemp, Warning, TEXT("%s"), *FString("[log by wenjie] Time==20")); /*【这一段注掉的代码请无视】 for (auto i : arr) { arr.Remove(i); UE_LOG(LogTemp, Warning, TEXT("%s"), *FString("[log by wenjie] removed one instance")); }*/ } UE_LOG(LogTemp, Warning, TEXT("%s %d"), *FString("[log by wenjie] "), Timer);//【请注意这里有打印】 } ▲代码结束
第四步:执行之后观察打印:
第一遍打印到413,第二遍运行时,将会从414开始打印!
总结:函数中的静态变量在调试过程(PIE)中依然保留值!
—— 小江村儿的文杰 zouwj5@qq.com 2017年8月7日21:39:09
以上是关于实例甜点 Unreal Engine 4迷你教程之函数中的静态变量的主要内容,如果未能解决你的问题,请参考以下文章
Unreal Engine 4 系列教程 Part 1:入门
Unreal Engine 4 Radiant UI 插件入门教程
Unreal Engine 4 蓝图完全学习教程—— 简要介绍
Unreal Engine 4 蓝图完全学习教程—— 循环ForLoop