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