Рандом - Форум Игроделов
Ср, 08 Май 2024, 19:42 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Рандом (Обсуждаем, объясняем)
Рандом
GoodgeniusДата: Вс, 22 Сен 2013, 16:23 | Сообщение # 1
 
Сообщений: 86
Награды: 0
Репутация: 6
Статус: Offline
Привет всем! Это наверно будет очень щекотливая тема т.к. многие задаются вопросом как сделать что то рандомно. Пример: хочу сделать рандомный спавн ботов на карте, как это осуществить? Помогите, объясните поподробней, думаю многим будет интересно.
 
СообщениеПривет всем! Это наверно будет очень щекотливая тема т.к. многие задаются вопросом как сделать что то рандомно. Пример: хочу сделать рандомный спавн ботов на карте, как это осуществить? Помогите, объясните поподробней, думаю многим будет интересно.

Автор - Goodgenius
Дата добавления - 22 Сен 2013 в 16:23
игнатДата: Вс, 22 Сен 2013, 19:25 | Сообщение # 2
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Random
А придумывать логику - другая задача...



Правила форума · участник GCC
 
СообщениеRandom
А придумывать логику - другая задача...

Автор - игнат
Дата добавления - 22 Сен 2013 в 19:25
GoodgeniusДата: Пн, 23 Сен 2013, 09:13 | Сообщение # 3
 
Сообщений: 86
Награды: 0
Репутация: 6
Статус: Offline
У меня такая идея: расставить точки на карте где будут спавниться боты, например этих точек будет штук тридцать, и как сделать так чтобы рандомно боты соспавнились в одной из этих точек?
 
СообщениеУ меня такая идея: расставить точки на карте где будут спавниться боты, например этих точек будет штук тридцать, и как сделать так чтобы рандомно боты соспавнились в одной из этих точек?

Автор - Goodgenius
Дата добавления - 23 Сен 2013 в 09:13
ЛевшаДата: Пн, 23 Сен 2013, 09:46 | Сообщение # 4
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата (Goodgenius)
чтобы рандомно боты соспавнились в одной из этих точек?

Точки помести в массив, и рандомно выбирай индекс.

Код

var bot : GameObject;
var spawnPoint : Vector3[];

Instantiate(bot, spawnPoint[Random.Range(0, spawnPoint.length)], Quaternion.identity);


X.cor.R (Prologue)
 
Сообщение
Цитата (Goodgenius)
чтобы рандомно боты соспавнились в одной из этих точек?

Точки помести в массив, и рандомно выбирай индекс.

Код

var bot : GameObject;
var spawnPoint : Vector3[];

Instantiate(bot, spawnPoint[Random.Range(0, spawnPoint.length)], Quaternion.identity);

Автор - Левша
Дата добавления - 23 Сен 2013 в 09:46
GoodgeniusДата: Пн, 23 Сен 2013, 16:41 | Сообщение # 5
 
Сообщений: 86
Награды: 0
Репутация: 6
Статус: Offline
Левша, все работает! Спасибо что показали, оказывается это легче некуда! А вот если я хочу например: чтобы один скрипт из пяти рандомно на каком либо объекте запускался?
 
СообщениеЛевша, все работает! Спасибо что показали, оказывается это легче некуда! А вот если я хочу например: чтобы один скрипт из пяти рандомно на каком либо объекте запускался?

Автор - Goodgenius
Дата добавления - 23 Сен 2013 в 16:41
ЛевшаДата: Вт, 24 Сен 2013, 10:09 | Сообщение # 6
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата (Goodgenius)
чтобы один скрипт из пяти рандомно на каком либо объекте запускался?

Подробнее, непонятно...


X.cor.R (Prologue)
 
Сообщение
Цитата (Goodgenius)
чтобы один скрипт из пяти рандомно на каком либо объекте запускался?

Подробнее, непонятно...

Автор - Левша
Дата добавления - 24 Сен 2013 в 10:09
GoodgeniusДата: Чт, 26 Сен 2013, 16:11 | Сообщение # 7
 
Сообщений: 86
Награды: 0
Репутация: 6
Статус: Offline
Ну допустим весит на каком либо объекте пять скриптов, все они де активированы. Надо чтобы при старте рандомно активировался один из этих скриптов.
 
СообщениеНу допустим весит на каком либо объекте пять скриптов, все они де активированы. Надо чтобы при старте рандомно активировался один из этих скриптов.

Автор - Goodgenius
Дата добавления - 26 Сен 2013 в 16:11
ЛевшаДата: Чт, 26 Сен 2013, 17:32 | Сообщение # 8
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Код

function RandomScriptEnable () {         
         randomVol = Random.Range(0, 6);
     if (randomVol == 0) script_0.enabled = true;
     else if (randomVol == 1) script_1.enabled = true;  
     // и т.д.
}


X.cor.R (Prologue)
 
Сообщение
Код

function RandomScriptEnable () {         
         randomVol = Random.Range(0, 6);
     if (randomVol == 0) script_0.enabled = true;
     else if (randomVol == 1) script_1.enabled = true;  
     // и т.д.
}

Автор - Левша
Дата добавления - 26 Сен 2013 в 17:32
GoodgeniusДата: Пт, 27 Сен 2013, 06:50 | Сообщение # 9
 
Сообщений: 86
Награды: 0
Репутация: 6
Статус: Offline
Спасибо! Не посчитайте меня дураком но за что отвечает вот это:
Код
if (randomVol == 0)
?

Или вот это:
Код
else if (randomVol == 1)

?

И последнее :
Код
randomVol = Random.Range(0, 6);

?

Добавлено (27 Сен 2013, 06:50)
---------------------------------------------
Просто надо же все понимать что ты пишешь в свой скрипт, чтобы вопросов потом не было.

Сообщение отредактировал Goodgenius - Пт, 27 Сен 2013, 06:49
 
СообщениеСпасибо! Не посчитайте меня дураком но за что отвечает вот это:
Код
if (randomVol == 0)
?

Или вот это:
Код
else if (randomVol == 1)

?

И последнее :
Код
randomVol = Random.Range(0, 6);

?

Добавлено (27 Сен 2013, 06:50)
---------------------------------------------
Просто надо же все понимать что ты пишешь в свой скрипт, чтобы вопросов потом не было.


Автор - Goodgenius
Дата добавления - 27 Сен 2013 в 06:50
игнатДата: Пт, 27 Сен 2013, 14:10 | Сообщение # 10
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Код
function RandomScriptEnable () {
randomVol = Random.Range(0, 6);                    //randomVol равен Random.Range(0, 6) (от нуля, до шести)
if (randomVol == 0) script_0.enabled = true;         //если (randomVol это 0) то активируем первый скрипт
else if (randomVol == 1) script_1.enabled = true;   //если (randomVol это 1) то активируем второй скрипт
// и т.д. До шести.
}



Правила форума · участник GCC
 
Сообщение
Код
function RandomScriptEnable () {
randomVol = Random.Range(0, 6);                    //randomVol равен Random.Range(0, 6) (от нуля, до шести)
if (randomVol == 0) script_0.enabled = true;         //если (randomVol это 0) то активируем первый скрипт
else if (randomVol == 1) script_1.enabled = true;   //если (randomVol это 1) то активируем второй скрипт
// и т.д. До шести.
}

Автор - игнат
Дата добавления - 27 Сен 2013 в 14:10
ЛевшаДата: Пт, 27 Сен 2013, 14:29 | Сообщение # 11
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата (игнат)
(от нуля, до шести)

От нуля до пяти, рандомятся только промежуточные значения, исключая крайние.
А дальше int уже округляет рандомный float до минимального целого значения.
Небольшая поправка (я не подумал что автор сам бы не сообразил) :

Код
var randomVol : int = Random.Range(0, 6);


X.cor.R (Prologue)
 
Сообщение
Цитата (игнат)
(от нуля, до шести)

От нуля до пяти, рандомятся только промежуточные значения, исключая крайние.
А дальше int уже округляет рандомный float до минимального целого значения.
Небольшая поправка (я не подумал что автор сам бы не сообразил) :

Код
var randomVol : int = Random.Range(0, 6);

Автор - Левша
Дата добавления - 27 Сен 2013 в 14:29
GoodgeniusДата: Пт, 27 Сен 2013, 16:30 | Сообщение # 12
 
Сообщений: 86
Награды: 0
Репутация: 6
Статус: Offline
И наверно последнее: как воспроизвести рандомно какой либо аудио клип при старте, и при том когда аудио клип закончил играть воспроизводился другой, опять же рандомно?
 
СообщениеИ наверно последнее: как воспроизвести рандомно какой либо аудио клип при старте, и при том когда аудио клип закончил играть воспроизводился другой, опять же рандомно?

Автор - Goodgenius
Дата добавления - 27 Сен 2013 в 16:30
dostalitionДата: Пн, 16 Дек 2013, 16:26 | Сообщение # 13
 
Сообщений: 155
Награды: 0
Репутация: 9
Статус: Offline
Помещаешь тоже самое в функцию Старт и меняешь скрипты на аудиоклипы
 
СообщениеПомещаешь тоже самое в функцию Старт и меняешь скрипты на аудиоклипы

Автор - dostalition
Дата добавления - 16 Дек 2013 в 16:26
Форум Игроделов » UNITY3D » СКРИПТИНГ » Рандом (Обсуждаем, объясняем)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024