import * as UE from 'ue' import {argv, blueprint} from 'puerts'; // 创建一个用于Tick的Actor class TSTickActor extends UE.Actor { private lastPrintTime: number = 0; ReceiveTick(DeltaSeconds: number): void { super.ReceiveTick(DeltaSeconds); // 每秒打印一次 this.lastPrintTime += DeltaSeconds; if (this.lastPrintTime >= 1.0) { console.log('Tick: ' + this.lastPrintTime.toFixed(2)); this.lastPrintTime = 0; } } // 确保Actor可以Tick ReceiveBeginPlay(): void { super.ReceiveBeginPlay(); this.PrimaryActorTick.bCanEverTick = true; } } console.log('--------------------------entry.ts started2----------------------') // 获取游戏实例和世界 let gameInstance = (argv.getByName("GameInstance") as UE.GameInstance) let world = gameInstance.GetWorld(); // 在场景中生成TSTickActor let spawnLocation = new UE.Vector(0, 0, 100); // 在高度100的位置生成,避免卡在地面 let spawnRotation = new UE.Rotator(0, 0, 0); let spawnTransform = new UE.Transform(); spawnTransform.SetLocation(spawnLocation); spawnTransform.SetRotation(spawnRotation.Quaternion()); let tickActor = UE.GameplayStatics.BeginDeferredActorSpawnFromClass( world, TSTickActor.StaticClass(), spawnTransform ) as TSTickActor; UE.GameplayStatics.FinishSpawningActor(tickActor, spawnTransform); console.log('--------------------------TSTickActor spawned----------------------')