- Set Timer By Function Name
- Clear Timer By Function Name
这里的判断重复了,如果Amount>1成立,那么CanBeStack必然成立。但是CanBeStack成立,Amount>1未必成立。
所以,最后一个CanBeStack
SearchEmptySlot函数可以精简一下:
if (Health-Damage<=0.0f)
{
Health = 0.0f;
}
else
{
Health -= Damage;
}
等价于:
FMath::Clamp(Health-Damage,0.0f,MaxHealth);
所以写成:
Health -= Damage;
if (Health<=0.0f)
{
Health = 0.0f;
//Todo:Died();
}
return Health;
在虚幻的C++代码中使用UMG引用时,需要在项目Build.cs加上, "UMG", "Slate", "SlateCore"
其实头文件可以快捷键添加,需要安装Unreal VS和Visual
编辑器控台:
t.MaxFPS 帧率
强制设置帧率
UFUNCTION
UPROPERTY
BlueprintReadWrite
BlueprintCallable
U mean unreal
BlueprintReadOnly
UFUNCTION
UPROPERTY
BlueprintReadWrite
BlueprintCallable
U mean unreal
这几节听得很吃力啊!
Shader调试Window-Anaysis-FrameDebugger
UPROPERTY(参数)
参数:
1.VisibleAnywhere:可在所有地方访问
2.EditInstanceOnly:只在实例中修改
这个好,麻烦,。。
UPROPERTY宏参数作用
VisibleAnywhere:
VisibleInstanceOnly:
VisibleDefaultsOnly:
EditAnywhere:
EditInstanceOnly:
EditDefaultsOnly:
如果有同学这里运行屏幕和控制台都没有打印出来的话 ,重启下引擎就好了
从PlayerInputComponent读取BindAxis没有出现下拉框的解决方法:
记得在构造函数里把
PrimaryActorTick.bCanEverTick = true;
不然Tick执行不了
Metallic 金属色:定义了材质看起来多么像金属。
取值范围:0-1。
0——非金属。
1——金属
Roughness 粗糙度:控制材质的粗糙程度
取值范围:0-1。
0——镜面反射,
1——完全没有关泽或者漫射
鼠标相关
直接蓝图通信11关卡蓝图与蓝图类5