Нужна помощь в написании скрипта - Форум Игроделов
Вт, 04 Фев 2025, 01:59 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Нужна помощь в написании скрипта
alwexДата: Ср, 01 Авг 2012, 19:12 | Сообщение # 1
Нет аватара
 
Сообщений: 35
Награды: 1
Репутация: 5
Статус: Offline
Вобщем, учу сейчас Java и C++, но с игровыми скриптами пока не лады. Кто то может помочь мне написать скрипт, который каждый раз при запуске новой игры рандомно раставляет обьекты по плейну(Здания, различный хлам и т.п)?

Сообщение отредактировал alwex - Ср, 01 Авг 2012, 19:14
 
СообщениеВобщем, учу сейчас Java и C++, но с игровыми скриптами пока не лады. Кто то может помочь мне написать скрипт, который каждый раз при запуске новой игры рандомно раставляет обьекты по плейну(Здания, различный хлам и т.п)?

Автор - alwex
Дата добавления - 01 Авг 2012 в 19:12
commandobyДата: Ср, 01 Авг 2012, 23:50 | Сообщение # 2
Unity 3D Free
 
Сообщений: 836
Награды: 3
Репутация: 211
Статус: Offline
Ну, скрипт навряд ли кто то писать будет, но помочь внести ясность можно. Я например вижу 2 пути. Первый: на карте создавать места, которые будут в своём месте создавать объекты (просто), или второй: полностью рандомное генерирование (невероятно сложно). Можно ещё что то среднее, но это уже на твой вкус.
В общем, что бы сделать первый путь, я бы создал тригер, а на него повесил скрипт, который при загрузке уровня будет создавать объект из каких нибудь префабов.
Code
var ааа : int;

var blabla = new Array ();
blabla[0] = "объект1";
blabla[1] = "объект2";
blabla[2] = "объект3";

function Start () {
aaa = Random.Range(0, 3);
var blablabla : GameObject = Instantiate(Resources.Load(blabla[aaa]), transform.position, gameObject.transform.rotation);
}

PS. Писал в браузере, за работоспособность не отвечаю.


Блог.
 
СообщениеНу, скрипт навряд ли кто то писать будет, но помочь внести ясность можно. Я например вижу 2 пути. Первый: на карте создавать места, которые будут в своём месте создавать объекты (просто), или второй: полностью рандомное генерирование (невероятно сложно). Можно ещё что то среднее, но это уже на твой вкус.
В общем, что бы сделать первый путь, я бы создал тригер, а на него повесил скрипт, который при загрузке уровня будет создавать объект из каких нибудь префабов.
Code
var ааа : int;

var blabla = new Array ();
blabla[0] = "объект1";
blabla[1] = "объект2";
blabla[2] = "объект3";

function Start () {
aaa = Random.Range(0, 3);
var blablabla : GameObject = Instantiate(Resources.Load(blabla[aaa]), transform.position, gameObject.transform.rotation);
}

PS. Писал в браузере, за работоспособность не отвечаю.

Автор - commandoby
Дата добавления - 01 Авг 2012 в 23:50
SkydreamerДата: Пн, 06 Авг 2012, 22:33 | Сообщение # 3
 
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
Недавно было нужно что-то подобное, но писал на с#. Возможно можно покрасивее придумать генерирование случайных координат, но делать велосипед было некогда

Code
public List<Object> items;

     Transform floor;

  void Start () {
         floor = GameObject.Find("Cube").GetComponent<Transform>();

         foreach (GameObject obj in items)
         {
             Instantiate(obj,
                         new Vector3(Random.RandomRange(floor.position.x - floor.localScale.x * floor.localScale.x, floor.position.x + floor.localScale.x * floor.localScale.x),  
                    floor.position.y + obj.transform.localScale.y,
                    Random.RandomRange(floor.position.z - floor.localScale.z * floor.localScale.z, floor.position.z + floor.localScale.z * floor.localScale.z)),
                         floor.rotation);
         }
  }
 
СообщениеНедавно было нужно что-то подобное, но писал на с#. Возможно можно покрасивее придумать генерирование случайных координат, но делать велосипед было некогда

Code
public List<Object> items;

     Transform floor;

  void Start () {
         floor = GameObject.Find("Cube").GetComponent<Transform>();

         foreach (GameObject obj in items)
         {
             Instantiate(obj,
                         new Vector3(Random.RandomRange(floor.position.x - floor.localScale.x * floor.localScale.x, floor.position.x + floor.localScale.x * floor.localScale.x),  
                    floor.position.y + obj.transform.localScale.y,
                    Random.RandomRange(floor.position.z - floor.localScale.z * floor.localScale.z, floor.position.z + floor.localScale.z * floor.localScale.z)),
                         floor.rotation);
         }
  }

Автор - Skydreamer
Дата добавления - 06 Авг 2012 в 22:33
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025