1. 导入资源
2. 创建关卡
3. 创建地面
4. 墙
1. 导入资源
2. 创建关卡
3. 创建地面
4. 墙
Rootcomponent
让敌机朝向我们移动,其中如果我们将玩家的位置减去敌机的位置就能得到一个向量,这个向量就是指向玩家的。
UGameplayStatics是一个很实用的静态类,我们不需要拥有指向此类的任何实例的指针,并且可以直接从任何地方调用函数。
AddActorLocalOffset方法可以让物体朝着某个方向进行移动
怎么实现联系开火呢?
调用定时器,当鼠标按下后开启定时器,每过0.2s调用一次fire函数
定时器在time/manager.h里
抛射运动组件来发射子弹,因为我们是2D游戏,因此要将重力设为0.
UProjectileMovementComponent是UE中的抛体组件,可以用来仿真抛体运动,比如子弹,手榴弹,甚至是带有动力和追踪功能的导箭。但是UProjectileMovementComponent默认情况下仅仅本地有效,没有对网络进行Transform同步。
把子弹赋给飞船
TSubclassOf 是提供 UClass 类型安全性的模板类。主要用于伤害赋值
GetWorld()函数取得世界指针UWorld*
其中的SpawnActor方法:
看一下内部功能:
APwan::addMovementInput函数如果是character会自动应用于,如果是pawn则要一帧一帧的运行
Tick函数里的deltatime是指延迟时间
如果其他函数想要获取deltatime的话需要引入FApp下面的getdeltatime函数
AddMovementInput()添加输入方向
bindaxis轴绑定函数必须传递一个float类型参数
摄像机弹簧臂不需要继承自pich、yaw、roll即不跟随父组件一起旋转
USpringArmComponent是摄像机弹簧臂
在游戏开始时,先构造函数,再执行beginplay函数
Tick()函数是在游戏中每一帧进行调用!
注意,这里相机要选择正交投影,因为我们是2D游戏,不希望飞机离我们越远就显得越小(人眼成像)
UProjectileMovementComponent组件和根组件为并列关系,不需要setup'attachment
飞机-9
建完类后出红线此时在include“”Public/。。。“”