46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
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----------------------') |