Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Программирование на Юнити.

Re: Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Сообщение foonk 27 окт 2009, 15:47

Все попровил, теперь почти все работает :-bd кроме одного, у вас в примерах везде
Код: Выделить всё
if (Input.GetKeyDown("k"))
, соответственно и срабатывает единожды, а как сделать добавление уровня единожды, но при условии:
Код: Выделить всё
function Update () {
if (experience>=100) {
levelup = true;
}
if (levelup==true) {
level+=1;
levelup = false;
}

Так прибавляется по левелу кажды фрейм :)
Я бы сделал так:
Код: Выделить всё
function Update () {
if (experience==100) {
levelup = true;
experience++;
}

Но в таком слечае experience может так никогда и не стать ровно 100, скажем 90 а потом сразу 150, а значит level=1 так и не будет...
Как быть, подскажите.
— 2010-й год. В Ладу Калину поставили первый Глонасс-приемник размером с утюг. В то же время Эппл выпускает плеер размером меньше спичечного коробка с цветным дисплеем и тачскрином.
Добавить foonk09 в Skype
Аватара пользователя
foonk
UNITрон
 
Сообщения: 302
Зарегистрирован: 16 май 2009, 20:25
Откуда: Москва
  • ICQ

Re: Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Сообщение Zaicheg 27 окт 2009, 16:03

Внятно напиши, чего тебе надо. Лучше словами, а не набросками кода.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Сообщение foonk 27 окт 2009, 16:26

Окей ;) Я хочу, чтобы добавился 1 левел при условии, что опыта будет больше или равно 100.
— 2010-й год. В Ладу Калину поставили первый Глонасс-приемник размером с утюг. В то же время Эппл выпускает плеер размером меньше спичечного коробка с цветным дисплеем и тачскрином.
Добавить foonk09 в Skype
Аватара пользователя
foonk
UNITрон
 
Сообщения: 302
Зарегистрирован: 16 май 2009, 20:25
Откуда: Москва
  • ICQ

Re: Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Сообщение Tolking 27 окт 2009, 17:01

Там, где добавляешь опыт, проверяй условие и добавляй уровень.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Сообщение foonk 27 окт 2009, 17:06

Так не получится, потому что опыт я добавляю за пройденный квест, а уровень за КОЛЛИЧЕСТВО опыта. А колличество опыта зависит от многих параметров...
— 2010-й год. В Ладу Калину поставили первый Глонасс-приемник размером с утюг. В то же время Эппл выпускает плеер размером меньше спичечного коробка с цветным дисплеем и тачскрином.
Добавить foonk09 в Skype
Аватара пользователя
foonk
UNITрон
 
Сообщения: 302
Зарегистрирован: 16 май 2009, 20:25
Откуда: Москва
  • ICQ

Re: Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Сообщение Zaicheg 27 окт 2009, 17:13

foonk писал(а):Окей ;) Я хочу, чтобы добавился 1 левел при условии, что опыта будет больше или равно 100.

Вы мой скрипт смотрели? Там уровень добавляется именно при таком условии. Ну плюс пара вспомогательных ограничений.

Так не получится, потому что опыт я добавляю за пройденный квест, а уровень за КОЛЛИЧЕСТВО опыта. А колличество опыта зависит от многих параметров...

Аналогично. В выложенном скрипте опыт добавляется за пройденный квест, а уровень за количество опыта. Что не устраивает?
Зависит от многих параметров? Давайте свои параметры, будем разбираться с ними.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Сообщение foonk 28 окт 2009, 00:22

Все, супер :ymhug: , понял в чем фишка, не внимательно смотрел :) Остался лишь 1 маааленький вопросик: вот я задаю планку опыта для уровней
Код: Выделить всё
public var expLevel : int[]; // массив с планками опыта для каждого уровня
но при запуске все равно планки опыта в массиве становятся такие
Код: Выделить всё
for (i = 0; i < levelsCount; i++) {
expLevel[i] = i * 100; // прогрессивная система повышения планки опыта
}

Тоесть 100, 200, 300... а я хочу скажем 100, 500, 1500... Как подправить прогрессивную систему повышения планки опыта??
— 2010-й год. В Ладу Калину поставили первый Глонасс-приемник размером с утюг. В то же время Эппл выпускает плеер размером меньше спичечного коробка с цветным дисплеем и тачскрином.
Добавить foonk09 в Skype
Аватара пользователя
foonk
UNITрон
 
Сообщения: 302
Зарегистрирован: 16 май 2009, 20:25
Откуда: Москва
  • ICQ

Re: Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Сообщение Tolking 28 окт 2009, 09:33

Ну так и пишешь:
expLevel[1] = 100;
expLevel[2] = 500;
expLevel[3] = 1500;

А лучше перед public var expLevel : int[];
пишеш что-то вроде [Serialazible] и заполняешь массив в редакторе.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Как осуществить добавление значения к переменной ЕДИНОЖДЫ?

Сообщение foonk 28 окт 2009, 10:49

Спасибо! Все получилось :D :ymhug:
— 2010-й год. В Ладу Калину поставили первый Глонасс-приемник размером с утюг. В то же время Эппл выпускает плеер размером меньше спичечного коробка с цветным дисплеем и тачскрином.
Добавить foonk09 в Skype
Аватара пользователя
foonk
UNITрон
 
Сообщения: 302
Зарегистрирован: 16 май 2009, 20:25
Откуда: Москва
  • ICQ

Пред.

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11