(transform.position C#)简单命令,意外响应

时间:2018-11-20 14:41:23

标签: c# visual-studio unity3d

我正在尝试为统一的电影制作免费的漫游相机。这主要是为了学习C#脚本的基础知识。

if(Input.GetButton("Vertical"))
{transform.position = Vector3.forward * speed * Time.deltaTime;}

现在,当我使用相机将脚本放置在游戏对象上后,在Update中运行该功能时。相机无法在Z轴上移动超过0.07。该数字在游戏运行时会有所不同,这意味着脚本正在运行。但是我不明白为什么它没有超越游戏引擎世界的范围。我对统一引擎或Visual Studio感到困惑。

2 个答案:

答案 0 :(得分:3)

这是因为您正在将位置设置为一个值,而不是值添加到当前位置。

尝试一下:

XamDataGrid

(而不是代码格式。使用反斜线将<igDP:XamDataGrid RenderTransformOrigin="0.146,-3.629" DataSource="{Binding Path=Wavelets}" GroupByAreaLocation="None"> <igDP:XamDataGrid.FieldLayoutSettings> <igDP:FieldLayoutSettings AutoGenerateFields="False" AutoFitMode="Always" AddNewRecordLocation="OnTopFixed" AllowAddNew="True" /> </igDP:XamDataGrid.FieldLayoutSettings> <igDP:XamDataGrid.FieldLayouts> <igDP:FieldLayout> <igDP:FieldLayout.Fields> <igDP:Field Name="AngleFile" Label="Anglestack file"/> <igDP:Field Name="WaveletFile" Label="Wavelet file "/> <igDP:Field Name="DataField" Label="Data file"/> </igDP:FieldLayout.Fields> </igDP:FieldLayout> </igDP:XamDataGrid.FieldLayouts> </igDP:XamDataGrid> if(Input.GetButton("Vertical")) { transform.position = transform.position + Vector3.forward * speed * Time.deltaTime; } 分开,这更易读,也是一种好习惯)

答案 1 :(得分:0)

您可以尝试:

transform.Translate(Vector3.forward * speed * Time.deltaTime)