不了解如何放置UI rectTransform

时间:2018-09-09 18:24:37

标签: c# unity3d unity3d-gui

我不明白我在这里做错了什么。我正在尝试以下方法:

1)在UI场景中放置4 x图像(卡片)

public Image aceHeartZone, aceClubZone, aceDiamondZone, aceSpadeZone;

2)在编辑器中,ace卡与普通卡处于相同的层次结构:

enter image description here

3)我将位置从AceXX卡复制到Vector2属性中

zone10 = aceHeartPos.rectTransform.localPosition;
zone20 = aceClubPos.rectTransform.localPosition;
zone30 = aceDiamondPos.rectTransform.localPosition;
zone40 = aceSpadePos.rectTransform.localPosition;

4)在卡片上,我有以下片段:

_x = _prep.zone10.x;
_y = _prep.zone10.y;
myRectTransform.anchoredPosition = new Vector2(_x, _y);

5)卡没有正确定位:

enter image description here

实际的卡片图像后面是ace卡片图像,这是我从中选择位置的地方

问题: 我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

首先,谢谢大家。我必须说我很愚蠢,因为我应该立即想出这一点。问题是我确实将localPosition和anchoredPosition混合在一起!!!

我现在将除了拖动代码以外的所有内容都更改为anchoredPosition,并且可以正常工作。

嗯,至少我学到了一些我应该立即看到的东西……