내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Weapon
파생 수류탄 무기로서의 하위 클래스Weapon
클래스Fire
기능 추가virtual
키워드는 수류탄 클래스를 상속하고 다시 작성할 수 있도록 가상 함수가 됩니다.ProjectileWeapon
중간 재작성Fire
함수, 발사체 생성을 위한 새 템플릿 변수 생성Fire
함수 재작성 논리 //生成的投射物
UPROPERTY(EditAnywhere,BlueprintReadOnly,Category = "ProjectileWeapon")
TSubclassOf<AActor> ProjectileClass;
//--------------------------------------------------------------------------------------------------
void AProjectileWeapon::Fire()
{
AActor* MyOwner = GetOwner();
if (MyOwner)
{
FVector EyeLocation;
FRotator EyeRotation;
MyOwner->GetActorEyesViewPoint(EyeLocation, EyeRotation);
FActorSpawnParameters SpawnParams;
//设置投射物生成参数:即使生成位置有碰撞,也要强行生成投射物,不进行碰撞检测处理
SpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;
//获取枪口位置
FVector MuzzleLocation = SkeletalComponent->GetSocketLocation(MuzzleSocketName);
//生成并发射投射物
GetWorld()->SpawnActor<AActor>(ProjectileClass, MuzzleLocation, EyeRotation, SpawnParams);
}
}
C++
다음에 정의된 이름Actor
청사진은 총알로 사용되며 발사기 및 구형 메시가 추가됩니다. 발사기의 초기 속도와 최대 속도는 2000으로 설정되고 발사체 반동 효과가 켜집니다. 구형 메시를 사용하면 물리 시뮬레이션이 가능합니다.BeginPlay
논리적 이벤트는 다음에서 호출됩니다.BeginPlay
기본 시야각 범위를 가져옵니다.FAutoConsoleVariableRef ACVRDebugWeaponDrawLine(TEXT("COOP.DebugWeapons"), DebugWeaponDrawLine,TEXT