繁体   English   中英

屏幕上居中的卡片

[英]Centering cards on screen

我按照一个统一的教程制作了一个记忆游戏,但是在添加了更多卡之后,它们现在从屏幕的右侧消失。

该代码在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来指定屏幕尺寸(以像素为单位),但Vector代码不是,并且原始卡片的x分量(startpos.x)实际上是负数。

最简单的方法是在场景视图中移动原始卡。 如果单击相机,您会看到它的边界,因此单击相机,然后将起始卡尽可能向左移动,仍然可以看到它。 如果它们仍不能完全装入相机,则可以更改存储卡宽度并进行一些数学运算以查看可以容纳多少张存储卡。

替代解决方案(但也很容易)是调整相机范围以包围卡片所在的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM