我使用Unity5.4.0f3创建了一款Android游戏,
我制作了一个代码缩放段,以使卡适应不同的屏幕尺寸,占用屏幕宽度,然后计算屏幕宽度和参考宽度之间的比例(800),然后将屏幕上的卡片缩放到此比率使用transform.localScale
。
在某些设备上,缩放不能正确应用并且卡非常大,我收到此警告“Hardware resolution scaling not supported, falling back to software scaling (blit)”
,尽管在其他GUI对象中缩放可能是正确的
我在互联网上搜索过这个问题,正如一些人建议的那样
1-升级Unity版本所以我刚安装了测试版Unity2017.1.0b10,但这对我不起作用 在某些设备上发生此问题,例如Galaxy Note 3 如果有人在此之前解决了这样的问题,请分享您的经验。
我从手上拖动卡片并在屏幕中心释放时应用缩放。
以下是代码:
public void Start()
{
width = 800f / Screen.width;
if (width < 0.5f)
width = 0.5f;
this.transform.localScale = new Vector3(1, 1, 1);
}
public void OnEndDrag(BaseEventData eventData)
{
bool playedAsPlayPile = false;
GameObject hand = PlayerManager.Instance.GetMe().transform.Find("Hand").gameObject;
if (canDrag)
{
this.transform.localScale = new Vector3(width, width, width);
..... some other code
}
}