这几天在自学UNITY3D,在看过别人推荐后买了一本《unity.3.x.game.development.essentials》的中文版,

在看到第2章游戏雏形和脚本基础时,按照书上的脚本输入后,总是提示报错,因为刚开始接触只知道有问题,但不知道怎么解决,

困扰了很久,找了度娘之类但依然没有解决,正在一筹莫展之际,觉得是不是翻译的时候没有翻译准确,所以去晚上找了《unity.3.x.game.development.essentials》原版的英文来看

细看之下果然发现一处错误在中文版的2.7用Instantiate()函数生成物体中的为刚体添加力中是这样写的:

在创建好射弹之后,我们需要立即用AddForce()指令为他添加力,从而使射弹向前飞行,请添加以下代码:

Rigidbody.AddForce;  //以Vector3数据形式保存的发射方向和力

就因为看了后面这个请添加以下代码,所以我也在脚本中输入了Rigidbody.AddForce; 但输入后总是报错,在翻看原版英文书籍记录在一段后发现了翻译的错误,原版英文如下:

Having now created our object, we need it to be immediately fired forward using the
AddForce()command. This commands works as follows:
Rigidbody.AddForce(Direction and amount of force expressed as a
Vector3);

原文中并没有添加以下代码这个意思,仅仅是对这个函数的一个解释和例子而已,但中文版中有了这个添加以下代码直接导致了脚本出错。

以前很多人都说要学好英语,然后在技术方面多看看外国的书籍,曾经自己还不以为然,总觉得翻译过来不是一样的看,但在经过这次事情才发现有能力真的还是看看原版的最好,因为翻译毕竟还是容易出错,而且很多都是别人的理解和解释并不一定适合你,所以还是学好英语多看看原版书的好。