0

我正在将 UT3 游戏移植到UDK

它使用了一个大型代码库,我收到了这个编译器错误:

C:\UDK\UDK-2010-03\Development\Src\FixIt\Classes\ZController_FireWeapon.uc(129):错误,“ZController”类中无法识别的成员“FocalPoint”

ZController 扩展了 UTBot。这是引用的行:

Agent.FocalPoint = ObjectOfAttention.Location;

(Agent 是 ZController 类型)

焦点发生了什么?

4

1 回答 1

0

我找到了!我的 FocalPoint 线上方的线涉及设置Agent.Focus;所以我追踪了这条线,UTBot -> UDKBot -> AIController -> Controller最后 Controller 类有一个 Focus 成员:

var BasedPosition FocalPosition; // position controlled pawn is looking at
var Actor         Focus;         // actor being looked at

所以,FocalPoint改名为FocalPosition.

还没结束!显然 FocalPoint 曾经是一个向量,现在 FocalPosition 是一个 BasedPosition。所以我的代码仍然没有工作,因为它试图将一个向量分配给一个 BasedPosition;编译器抱怨Error, Type mismatch in '='. BasedPosition 是 Actor 中的一个结构,并且有一个 vector 成员Position,所以我假设这是要分配的正确变量。

我改变了我的代码行

Agent.FocalPoint = ObjectOfAttention.Location;

Agent.FocalPosition.Position = ObjectOfAttention.Location;

我还没有测试过它(仍在处理其他编译器错误),但它现在编译得很好。希望这是正确的解决方案。

于 2010-04-05T15:43:01.633 回答