Vì vậy, nói ngắn gọn, tôi đang cố dịch chuyển một con tốt khi nó bị trúng đạn (hoặc bị hư hại bởi bất kỳ vũ khí nào trong trò chơi của tôi.)
Ngay bây giờ, tôi đang cố gắng gọi Pawn.SetLocation trong ProcessTouch của dự án. Đó là một vấn đề bởi vì ProcessTouch sẽ đánh bất kỳ diễn viên nào, không chỉ là một con tốt. Ngoài ra, mọi nỗ lực để kiểm tra lỗi "Actor Other" của ProcessTouch đều gây ra lỗi.
Tôi đã thử một loạt các giải pháp (bao gồm tạo một sự kiện TakeDamage trong lớp Trình điều khiển cầm đồ) nhưng không có kết quả.
simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNormal)
{
if (Other != Instigator)
{
//This is where the Other.TakeDamage goes if we are using a traditional gun.
if (Other == Pawn);
{
Other.SetLocation(0,0,0);
}
}
Destroy;
}
Mã này phàn nàn rằng Pawn là một biểu hiện xấu. Làm thế nào khác tôi nên kiểm tra loại diễn viên ở đây?