GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Hello"));
参数的意义:
- Key:防止同一消息被多次添加的唯一密钥。用 -1就行了
- 在项目中创建了输入绑定,需要在蓝图或者C++中给这些输入赋予事件
- 蓝图中直接搜索名字创建事件,然后把输入后的 *** 作连在后面就行了。
PlayerInputComponent->BindAxis("MoveForward",this,&AMainChar::MoveForward);
- C++ 中的绑定函数
- 第一个参数是 *** 作的名字,对应我们在项目设置中的"MoveForward"
- 第二个参数是对象,写this就好了
- 第三个参数是绑定的函数指针。
void AMainChar::MoveForward(float Value)
- 轴映射绑定的函数是这样的形式,需要一个float参数。函数里的逻辑就根据实际情况实现。
- *** 作映射相比轴映射,多了Pressed和Released的判断,少了Axis输入,这在C++里面也有体现。
PlayerInputComponent->BindAction("Attack",IE_Pressed,this,&AMainChar::Attack);
参数的意义:
- 第二个参数变成了KeyEvent,可以选IE_Pressed和IE_Released,分别代表按下和放开按键。剩下的和轴映射一样。
void AMainChar::Attack()
- 绑定的函数就没有float输入了
PlayAnimMontage(DeathMontage);
- 接口非常简单,就是一个PlayAnimMontage,参数就是一个UAnimMontage *的变量。但是问题是我们怎么选择到需要的蒙太奇。
- 相比于在蓝图中可以选择资产,C++需要用到文件 *** 作,通过繁杂的文件路径去查找。
static ConstructorHelpers::FObjectFinder<UAnimMontage> DieMontageObject(TEXT("AnimMontage'/Game/Extra/Red_Knight/Animations/MonDieFront.MonDieFront'"));
- 这是我以前项目中C++寻找动画蒙太奇资产的代码。后来因为文件位置迁移也变得不可用了。可见这种写法是不太行的。
UPROPERTY(BlueprintReadWrite,EditAnywhere)
UAnimMontage * DeathMontage ;
- 我们依然会创建一个蒙太奇变量,但是在UPROPERTY里面加上EditAnywhere。
- 这样一来,在创建的子蓝图类就可以设置蒙太奇资产了。
用Actor的运动组件为例子,蓝图就直接创建就行了。
UPROPERTY(BlueprintReadWrite)
UProjectileMovementComponent* ProjectileMovementComponent ;
.cpp文件中
if(!ProjectileMovementComponent)
{
ProjectileMovementComponent = CreateDefaultSubobject<UProjectileMovementComponent>(TEXT("ProjectileMovementComponent"));
//创建组件
ProjectileMovementComponent-> SetUpdatedComponent(RootComponent) ;
ProjectileMovementComponent->InitialSpeed = 1000.0f ;
ProjectileMovementComponent->MaxSpeed = 1000.0f ;
ProjectileMovementComponent->bRotationFollowsVelocity=true ;
}
- 在.h中定义,在CPP文件中创建组件,并设置其中的属性。
- 创建组件的函数:组件 = CreateDefaultSubobject<组件类>(TEXT(“组件命名”))
FTimerHandle PrintTimer;
GetWorldTimerManager().SetTimer(PrintTimer,this,&ABaseCharacter::PrintTest,2.0f,true,0.0f);
先创建一个FTimerHandle这样的变量,然后调用函数。
- 第一个参数其实就是刚才创建的FTimerHandle
- 第二个参数是委托对象,一般用自己(this)
- 第三个参数就是需要绑定的函数指针
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)