我只是想从我在世界上的位置立即达到5个值,但这段代码也把我(X和Z(推到了另一个相同的记忆位置。你看到代码有什么问题吗?
function Behavior:Awake()
local pos = self.gameObject.transform:GetLocalPosition()
self.posy = pos.y
if CS.Input.WasButtonJustPressed("sobe1") then
self.gameObject.transform:SetPosition( Vector3:New( self.posy + 5 ) )
您的Behavior:Awake((函数被调用,可能是在您起床时,或者每当触发该事件时。
这些self.posx .posy & .posz
值存储在您的字符表中,直到您稍后从Behavior:Update((函数中访问它们。
您只需要在需要这些值的时候调用:getLocalPosition((。所以试着去掉:Awake((部分,并将这些坐标组合到更新向量例程中。
function Behavior:Update()
if CS.Input.WasButtonJustPressed('sobe1') then
local pos = self.gameObject.transform:GetLocalPosition()
self.gameObject.transform:SetPosition( Vector3:New( pos.x, pos.y +4.78, pos.z ) )
end -- 'sobe1'
end -- Update()