【发布时间】:2016-03-19 13:31:24
【问题描述】:
我得到错误:
错误:赋值的左侧必须是变量、属性或索引器
有什么问题?
【问题讨论】:
-
position返回的类型是否是结构体?
我得到错误:
错误:赋值的左侧必须是变量、属性或索引器
有什么问题?
【问题讨论】:
position 返回的类型是否是结构体?
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# 的基础上。
【讨论】: