自一两个月前开始使用Unity3D制作游戏。我已经完成了我的第一款Android游戏,它在我的手机(Samsung Galaxy S6)和仿真器上(Genymotion用不同的虚拟设备)完美地工作,但是当我在父亲的手机上试用时(Nexus 5,Xperia Z1 & Z3 )我意识到它工作不好。各种设备的屏幕尺寸/比率灾难
该游戏是一个2D汽车交通赛车手,所以你必须躲避该产卵者在X轴上随机位置创建的所有汽车。我不知道Unity3d太多,所以我不能更好地解释它,对不起... :(
问题是,在我的手机上,敌方汽车从上到下产卵正确,但在我父亲的手机上从sceen至底部中间产卵而当你移动你的车向左或向右,它看起来像切斜的另一个问题是
这是敌人的产卵的代码:。
public class SpawnerEnemigos : MonoBehaviour {
public GameObject[] cochesEnemigos;
int cocheEnemigoID;
public float maxPos = 2f;
public float delayTimer = 0.5f;
private float timer;
// Use this for initialization
void Start() {
timer = delayTimer;
}
// Update is called once per frame
void Update() {
timer -= Time.deltaTime;
if (timer <= 0) {
Vector2 enemigoRandomPos = new Vector2 (Random.Range(-maxPos, maxPos), transform.position.y);
cocheEnemigoID = Random.Range(0,7);
Instantiate (cochesEnemigos[cocheEnemigoID], enemigoRandomPos, transform.rotation);
timer = delayTimer;
}
}
}
请记住,游戏不应该依赖手机屏幕尺寸。您可能硬编码了一些适合您S6的屏幕分辨率的值,但不适用于其他手机。没有附加代码,人们不可能为你提供更大的帮助。 – pleft
除了上面提到的@elefasGR(这很可能是问题)之外,您的资产也可能无法正确确定其他屏幕密度的大小,导致它们在各种屏幕尺寸上的位置偏离。我要做的第一件事就是尝试模仿你父亲的手机,并匹配他们的确切屏幕尺寸和密度,然后从那里开始使用你的代码。 – NoChinDeluxe
显示你的代码,你选择随机产生的位置。 – Buddy