【发布时间】:2016-06-14 01:18:40
【问题描述】:
我正在尝试在屏幕中随机位置生成 2d 图像精灵:
tex = Resources.Load<Texture2D>("pig") as Texture2D;
Sprite sprite = new Sprite();
sprite = Sprite.Create(tex, new Rect(0, 0, 250, 150), new Vector2(Random.Range(-1.5f, 1.5f), Random.Range(-1.5f, 1.5f)));
GameObject newSprite = new GameObject();
newSprite.AddComponent<Rigidbody2D>();
newSprite.GetComponent<Rigidbody2D>().gravityScale = 0f;
newSprite.AddComponent<ObjectMovement>();
newSprite.AddComponent<SpriteRenderer>();
SR = newSprite.GetComponent<SpriteRenderer>();
SR.sprite = sprite;
但是,精灵的位置不准确,它生成在一个很小的区域,我希望它在屏幕上的任何一点,我的随机范围应该是多少?
【问题讨论】:
-
这是 2D 还是 3D 游戏?另外,由于
newSprite附加了一个新加载的精灵,SR是用来做什么的?您想定位SR或newSprite?请回答每个问题以获得我的答案 -
@Programmer 是2D游戏,我想定位游戏对象,将精灵定位在Sprite.create上也会影响游戏对象的位置所以没关系吧?
-
但是你想定位哪个游戏对象?
newSprite或SR。对我来说,您似乎想定位newSprite。我不知道SR是什么或用于什么,所以我无法回答。我会为newSprite提供解决方案,但您可以随时更改。 -
@Programmer SR只是将精灵附加到游戏对象newSprite,不是吗? ..我想定位newSprite..