【发布时间】:2018-11-01 22:54:39
【问题描述】:
小问题。在我的超小型 2d 游戏中,我生成了一些敌人,我想将它们放置在矩形精灵上方的随机位置。我该如何接近它?提前致谢!
【问题讨论】:
-
提供你的代码
-
没有代码可以审核。唯一的问题是,如果我实例化(enemyPrefab,位置),如何在某些精灵上的随机位置设置位置
小问题。在我的超小型 2d 游戏中,我生成了一些敌人,我想将它们放置在矩形精灵上方的随机位置。我该如何接近它?提前致谢!
【问题讨论】:
获取矩形精灵的原点:
Vector2 rectPos = myrectangle.transform.position;
获取精灵的半宽/高度:
float rectHeight = myrectangle.GetComponent<SpriteRenderer>().sprite.bounds.extents.y;
float rectWidth = myrectangle.GetComponent<SpriteRenderer>().sprite.bounds.extents.x;
获取边界内的随机位置;
float xpos = rectPos + Random.Range(-rectWidth, rectWidth);
float ypos = rectPos + Random.Range(-rectHeight, rectHeight);
然后使用这些组件设置实例化对象的位置:
enemyPrefab.transform.position = new Vector2(xpos, ypos);
【讨论】: