目录
1、UE4纯C++与Slate开发沙盒游戏:1.项目介绍与资源获取
1、老师做好的工程代码注释很多,教程里面没有写注释;但是我仔细看了老师的工程,里面没有很多的注释,所以最好还是自己写一下注释
2、创建Slate Widget Style:Slate控件样式,这样可以创建各种样式:创建的Button添加样式、比如说图片
3、SlAiStyle.h:获取WidgetStyle的样式
3、SlAiStyle.cpp:获取WidgetStyle的样式
看到14:39,从这里开始,我开始和老师后面编写代码,笔记就不开始记录代码部分了(也是到了这里,我才弄好自己的工程,开始一点点操作了),因为和老师后面练习效果好一点。
1、看到20:50视频时候,自己编写的一直提示“此声明中没有存储类或类型说明符”,
一、目的、参考:
1、UE4纯C++与Slate开发沙盒游戏:1.项目介绍与资源获取
①总结:good:介绍了写这个系列博客的目的、参考,不了解的可以查看一下
二、视频内容:
1、老师做好的工程代码注释很多,教程里面没有写注释;但是我仔细看了老师的工程,里面没有很多的注释,所以最好还是自己写一下注释
2、创建Slate Widget Style:Slate控件样式,这样可以创建各种样式:创建的Button添加样式、比如说图片
①创建C++类:Slate Widget Style类型:SlAiMenuStyle:
②创建C++类:空的:SlAiStyle:通过这个类获取WidgetStyle
3、SlAiStyle.h:获取WidgetStyle的样式
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "SlateBasics.h"
/**
*
*/
class SLAICOURSE_API SlAiStyle
{
public :
// 初始化 类似单例:
static void Initialze(); // 初始化 类似单例:
static FName GetStyleSetName(); //得到类型的名字
static void ShutDown(); //关闭
static const ISlateStyle& Get();//得到Slate的类型
private:
static TSharedRef<class FSlateStyleSet>Create();//注册类的样式的
static TSharedPtr<FSlateStyleSet>SlAiStyleInstance;//SlateStyle实例
};
3、SlAiStyle.cpp:获取WidgetStyle的样式
// Fill out your copyright notice in the Description page of Project Settings.
#include "SlAiStyle.h"
#include "SlateGameResources.h"
//单例模式,不能写在构造函数中,否则会报为空
TSharedPtr<FSlateStyleSet>SlAiStyle::SlAiStyleInstance = NULL;
// 初始化 类似单例:
void SlAiStyle::Initialze()
{
//如果不存在就创建,并且注册这个单例,底层是这样的,如果想研究去看看源码
if (!SlAiStyleInstance.IsValid())
{
SlAiStyleInstance = Create();
FSlateStyleRegistry::RegisterSlateStyle(*SlAiStyleInstance);
}
}
//得到类型的名字
FName SlAiStyle::GetStyleSetName()
{
//FName:系统需要的定的名字;
//FString:最耗资源的,对字符串编辑
//FText:本地化,如果要本地化需要使用这个。
static FName StyleSetName(TEXT("SlAiStyle"));
return StyleSetName;
}
//关闭:取消注册这个单例、确保是唯一的、将单例释放
void SlAiStyle::ShutDown()
{
FSlateStyleRegistry::UnRegisterSlateStyle(*SlAiStyleInstance);
ensure(SlAiStyleInstance.IsUnique());
SlAiStyleInstance.Reset();
}
//找到这个注册的单例
const ISlateStyle & SlAiStyle::Get()
{
// TODO: 在此处插入 return 语句
return *SlAiStyleInstance;
}
//作者修改为了TSharedRef:进行查找,在制定的路径下面查找TSharedRef<FSlatStyleSet>
TSharedRef<class FSlateStyleSet> SlAiStyle::Create()
{
TSharedRef<FSlateStyleSet>StyleRef = FSlateGameResources::New(SlAiStyle::GetStyleSetName(), "/Game/UI/Style","/Game/UI/Style");
return StyleRef;
}
4、SlAiCourse.h\SlAiCourse.cpp
看到14:39,从这里开始,我开始和老师后面编写代码,笔记就不开始记录代码部分了(也是到了这里,我才弄好自己的工程,开始一点点操作了),因为和老师后面练习效果好一点。
看到2050
三、问题:
1、看到20:50视频时候,自己编写的一直提示“此声明中没有存储类或类型说明符”,
①解决方法:发现检测好几遍没有问题,然后将VS关闭、打开,在关闭打开,然后运行多次,才终于显示出错误的地方,之前一直不提示这里出现了问题。然后将错误的单词改写就好了