我按照一个统一的教程制作了一个记忆游戏,但是在添加更多卡之后,它们现在从屏幕的右侧消失。
该代码在Unity设计器中使用一张卡,所有其他卡都被实例化并从中定位(使用startpos)
public const float offset = 2.5f;
Vector3 startpos = originalCard.transform.position;
for (int i = 0; i < numCols; i++)
{
for (int j = 0; j < numRows; j++)
{
card = Instantiate(originalCard) as MemoryCard;
float posX = (offset * i) + startpos.x;
float posY = - (offset * j) + startpos.y;
card.transform.position = new Vector3(posX, posY, startpos.z);
}
}
我想在屏幕上居中放置卡片,但不确定如何通过Screen.width来确定屏幕尺寸以像素为单位,而矢量代码不是,而原始卡片的x分量(startpos.x)实际上是否定的。
答案 0 :(得分:0)
最简单的方法是在场景视图中移动原始卡。如果单击相机,您会看到它的边界,因此单击相机,然后将起始卡尽可能向左移动,仍然可以看到它。如果它们仍然不能完全容纳在相机中,则可以更改卡的宽度并进行一些数学运算以查看可以容纳多少张卡。
另一种解决方案(但也很简单)是调整相机范围以包围卡片所在的位置。