案例中需注意的地方.个人笔记

VS错误编码

1.error C4002        宏引用过多,应该是宏里的语法错误

2.error C4458        重命名问题

3.error C2664        ConstructorHelpers里一定要引用模板的头文件

4.error C2143: 语法错误: 缺少“;”(在“*”的前面)
   error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
   error C2238: 意外的标记位于“;”之前

       头文件互相引用的问题

如何加UE中的模块

在VS中项目里的.build.cs中

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });

这一行的“InputCore”里后面加你想要的UE引擎中自带的模块,例如"Paper2D"

Flipbook

凡是加了Component的都是为资源添加在场景中渲染的能力,否则看不见

UPaperSprite是单帧的精灵,是静止的平面物体的平面资源

UPaperSpriteComponent是渲染单帧精灵的组件

为UPaperSpriteComponent类型的指针->setsprite();

UPaperFlipbook翻译成快速翻书,是多帧的精灵形成的动画资源

UPaperFlipbookComponent是渲染多帧的精灵形成的动画资源的组件

为UPaperFlipbookComponent类型的指针->setflipbook();

碰撞组件

UBoxComponent盒体碰撞

USphereComponent圆形碰撞

UCapsuleComponent胶囊体碰撞

源码中的参数

Outer帮助我们进行搜索范围锁定,可以填入同目录资源,如不存在填入空

getworld()注意的地方

GetWorld是UWorld世界对象指针。对于每一个在场景中存在的对象,本身都具备获取UWorld指针的能力,我们只需要调用GetWorld函数即可获得UWorld对象指针

https://blog.csdn.net/yekong1225/article/details/120236717

VS中设置项目GamoMode的默认参数

在GameMode.h文件中写一个此GameMode的构造参数,定义中写Default啥啥对应上就好

注意:写的构造参数为        A文件名GameModeBase()

定义中的例子:

//已构建一个Pawn类为APawn,设置其为默认Pawn类

DefaultPawnClass = APawn::StaticClass();       

HUDClass=AHUD::StaticClass();        //设置AHUD为默认HUD

构建类中的组件或某个对象

引入组件名.h后

U组件名* 名字=CreateDefaultSubobject<组件名>(TEXT("命个名"));      //只能在构造函数中调用

一启动就崩溃检查所有类的构造函数里有没有空指针,编译完了再启动

不能在Gamemode的构造函数里写getworld()->spawnactor,因为Gamemode先生成

U组件名* 名字=NewObject<U组件名>(this);

【UE4】UE4中对象的创建和销毁 - 多思考多实践同等重要 - 博客园 (cnblogs.com)

设置根组件

在需要设置根组件的构造函数里

RootComponent=CreateDefaultSubobject<USceneComponent>(TEXT("RootComp"));

附加到根组件

在需要设置根组件的构造函数里

name->SetupAttachment(RootComponent);        //name是一个组件的对象指针的实例名称

摄像机相关

//构建相机

//弹簧吊臂
USpringArmComponent* ArmComp = CreateDefaultSubobject <USpringArmComponent>(TEXT("ArmComp"));
ArmComp->SetupAttachment(RootComponent);

//构建相机
UCameraComponent* MainCamera = CreateDefaultSubobject<UCameraComponent>(TEXT("MainCamera"));
MainCamera->SetupAttachment(ArmComp);
MainCamera->ProjectionMode = ECameraProjectionMode::Orthographic;    //摄像机投射模式设置为正交模式
MainCamera->OrthoWidth = 800;    //相机视口大小

//调整相机吊臂旋转
ArmComp->SetRelativeRotation(FRotator(0, -90, 0));    //旋转相机
ArmComp->bDoCollisionTest = false;            //关闭摄像机吊臂的碰撞检测

//将相机的锁定权限设置到当前的Actor上,如果Actor上存在相机,则被激活

APlayerController* P

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值