使用Delphi XE4 (update1) 和FMX,我想用这段代码移动相机(在滚轮鼠标事件中):
AVector := Vector3D(0, 0, 3);
Camera.Position.Vector.AddVector3D(AVector);
代码编译,什么都不做。使用调试器,Camera.Position.Vector
值不会改变。
当用
AVector := Vector3D(0, 0, 3);
Camera.Position.Vector := Camera.Position.Vector + AVector;
...有用 !!!足够奇怪,因为该AddVector3D()
函数正是执行此代码!
procedure TVector3D.AddVector3D(const AVector3D: TVector3D);
begin
Self := Self + AVector3D;
end;
我的代码有什么问题???