Я пытаюсь икру 2d спрайт изображения на экране в случайном положении:Unity создать спрайт во время выполнения в произвольном положении
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
@Programmer. Это 2D-игра, и я хочу позиционировать игровой объект, позиционируя спрайт на Sprite.create, также будет влиять на положение игрового объекта, поэтому не имеет значения, не Это? – DAVIDBALAS1
Но какой GameObject вы хотите разместить? 'NewSprite' или' SR'. Для меня похоже, что вы хотите позиционировать 'newSprite'. Я не знаю, что такое «SR» или используется, поэтому я не могу ответить на это. Я буду предлагать решение для 'newSprite', но вы всегда можете его изменить. – Programmer