我的代码返回以下错误:
Assets / Scritps / Moving_Platform.cs(13,101):错误CS1525:意外符号platformSpeed', expecting
(',)',
,',;',
[&#39 ;,{', or
'
在monodevelop中,似乎Unity在新Vector3.right之后读取*,因为该表达式和后面的*都以相同的蓝色色调突出显示。
这是我的代码:
using UnityEngine;
using System.Collections;
public class Moving_Platform : MonoBehaviour {
public Transform platform;
public Transform startTransform;
public Transform endTransform;
public float platformSpeed = 2;
void FixedUpdate()
{
platform.rigidbody.MovePosition(platform.position * new Vector3.right * platformSpeed * Time.fixedDeltaTime);
}
void OnDrawGizmos()
{
Gizmos.color = Color.green;
Gizmos.DrawWireCube (startTransform.position, platform.localScale);
Gizmos.color = Color.red;
Gizmos.DrawWireCube (endTransform.position, platform.localScale);
}
}
我使用的是最新版本的Unity,版本4.6。
答案 0 :(得分:0)
删除new
之前的Vector.right
。
platform.rigidbody.MovePosition(platform.position * Vector3.right * platformSpeed * Time.fixedDeltaTime);
编辑:
您可能希望将对象从platform.position
移动Vector3.right * platformSpeed * Time.fixedDeltaTime
。所以你想用add (+)
移动到原来的位置。
platform.rigidbody.MovePosition(platform.position + (Vector3.right * platformSpeed * Time.fixedDeltaTime));