【发布时间】:2016-05-11 08:11:32
【问题描述】:
我正在尝试将边框的位置更改为刚好在屏幕顶部之外。我通过占据屏幕顶部,然后添加对象的一半比例来做到这一点(因为它在中间居中)。但是,当我这样做时,什么都没有改变。我打印出坐标,它说它移动了,但它没有。这是我的代码(来自 WallScalar 类中的 Start() 方法)。
注意:以下代码是 WallScalar 类中唯一的代码,此脚本应用于“Top”游戏对象。
transform.position =
new Vector3(0, Camera.main.orthographicSize + (transform.localScale.y / 2), 1);
print("yCoor: " + transform.position.y);
由于对象的比例为 1,并且顶部位于 y = 5,因此应将对象放置在 y = 5.5f 处。使用该打印语句,它说它位于 y = 5.5f 但它没有在我的屏幕上移动。这是一张图片,了解更多详情:
如您所见,它说它已移至 yCoor = 5.5f,但它没有,因为当我手动为 y 键入 5.5 时,它不可见,它就在屏幕外。 任何帮助解决这个问题将不胜感激。
更新:如果我输入打印语句,例如
print("yCoorU: " + transform.position.y);
在我的更新方法中,它读取 y = 5,所以有些东西迫使它回到 5,但知道没有其他任何东西可以调用脚本正在应用于的“顶部”游戏对象。
【问题讨论】:
-
墙标量脚本有什么作用?也许它把你的墙移回 5?
-
@UriPopov 我将编辑和澄清,这就是您在上面看到的代码所在的位置。
-
您的正交相机的尺寸是多少?
-
另一个问题。墙壁是 Top 在 0,0,0 处的父对象吗?
-
@UriPopov 是,大小为 5