【问题标题】:UDK "Error, Unrecognized member 'FocalPoint' in class ..."UDK“错误,类中无法识别的成员‘FocalPoint’......”
【发布时间】:2010-04-05 15:24:21
【问题描述】:
我正在将一个 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 类型)
FocalPoint 发生了什么?
【问题讨论】:
标签:
unreal-development-kit
unrealscript
【解决方案1】:
我找到了!我的 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 中的一个结构体,并且有一个向量成员 Position,所以我假设这是要分配给的正确变量。
我改变了我的代码行
Agent.FocalPoint = ObjectOfAttention.Location;
到
Agent.FocalPosition.Position = ObjectOfAttention.Location;
我尚未对其进行测试(仍在处理其他编译器错误),但现在可以正常编译。希望这是正确的解决方案。