2010-04-05 65 views
0

我正在將一個UT3遊戲移植到UDKUDK「錯誤,無法識別成員'FocalPoint'in class ...」

它使用了大量代碼庫和我得到這個編譯器錯誤:

C:\UDK\UDK-2010-03\Development\Src\FixIt\Classes\ZController_FireWeapon.uc(129) : Error, Unrecognized member 'FocalPoint' in class 'ZController'

ZController延伸UTBot。這是參考線:

Agent.FocalPoint = ObjectOfAttention.Location; 

(代理是類型ZController的)

發生了什麼事的FocalPoint?

回答

0

我發現它!我的FocalPoint線上方的線涉及設置Agent.Focus;所以我跟蹤的UTBot -> UDKBot -> AIController -> Controller線,最後是控制器類有一個焦點成員:

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; 

我沒有測試它(其它編譯器錯誤仍然工作),但它現在編譯罰款。希望這是正確的解決方案。