我收到错误:
错误:作业的左侧必须是变量,属性或索引器
有什么问题?
答案 0 :(得分:6)
Transform.position
的类型是Vector3
,它是一个结构。这意味着当您访问它时,您将获得该值的副本。然后ScreenToWorldPoint
获取该值并返回另一个Vector3
。改变这个价值不会做任何有用的事情 - 它不会改变变换中的任何东西,这可能是你想要实现的。听起来你可能想要这样的东西:
var transform = GameObject.FindWithTag("Object").transform;
var position = Camera.main.ScreenToWorldPoint(transform.position);
position.x -= 10;
transform.position = Camera.main.WorldToScreenPoint(position);
请注意从世界到屏幕坐标的转换,以便将所有内容保留在原始上下文中。
写完所有这些之后,应该注意到我从未做过任何Unity3d编码 - 这只是基于常规的C#。