Массивы. Процедурная генерация. Инвентарь.

уроки, мануалы, советы по Construct 2

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 12 апр 2013, 10:12

О, спасибо! Наверно, просто не хватает ещё парочки уравнений))
Чуточку настроить и должен работать
Аватара пользователя

Игродел
Сообщений: 373
Я тут с 24 ноя 2012
Репутация 77 [ ? ]

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 12 апр 2013, 14:31

Bomba, хреново то, что поведение физики... хреновое. Движок тормозный настольколько, насколько это возможно))
А еще при деформации спрайта - маска коллизии (не та, что в анимации, а физическая) не сразу меняется.
+ ко всем бедам еще нельзя менять координаты объекта сохраняя физические свойства (если не использовать действия физики, импульсы и т.п.)

В общем.. имхо... то, что ты задумал - пока еще гиблое дело. Но, кто знает, кто знает... жду примера твоих мучений.
Большое спасибо всем, кто пишет мне респекты в ЛС! Очень рад, что до сих пор мои советы, примеры и уроки пользуются спросом... Но, к сожалению, я уже давно не занимаюсь разработкой игр и программированием вообще, поэтому я уже не лучший советчик в этом деле, да и времени совсем нет. Здесь на форуме я уже практически не бываю, но всегда открыт для общения в ВК: vk.com/virusfun
Но хоть меня здесь почти нет, мне все равно будут приятны ваши отзывы и плюсы [+]
Аватара пользователя

Игродел
Сообщений: 893
Я тут с 23 сен 2012
Откуда: Хабаровск
Репутация 124 [ ? ]

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 12 апр 2013, 14:43

http://mortarmelon.com/
Вот тут это довольно красиво реализовано, сделано на С2. Я написал создателю и он сказал, что нужно хранить его velocity в массиве и за тем, при колизии доставать среднее значение и записывать в ширину спрайта.
Я просил пример, исходник и всё такое но он морозится

И да, физический движок - полная х
Аватара пользователя

Игродел
Сообщений: 373
Я тут с 24 ноя 2012
Репутация 77 [ ? ]

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 12 апр 2013, 15:18

Bomba писал(а):http://mortarmelon.com/
Вот тут это довольно красиво реализовано, сделано на С2.

:shok:

игра конечно очень красива и крута... но я не заметил там особо реалистичных искажений арбуза. Можно было его вообще не искажать - никто бы и не заметил.

Вот если бы он действительно деформировался как мячик, отпрыгивая от стен - вот это было бы да!
Большое спасибо всем, кто пишет мне респекты в ЛС! Очень рад, что до сих пор мои советы, примеры и уроки пользуются спросом... Но, к сожалению, я уже давно не занимаюсь разработкой игр и программированием вообще, поэтому я уже не лучший советчик в этом деле, да и времени совсем нет. Здесь на форуме я уже практически не бываю, но всегда открыт для общения в ВК: vk.com/virusfun
Но хоть меня здесь почти нет, мне все равно будут приятны ваши отзывы и плюсы [+]
Аватара пользователя

Игродел
Сообщений: 893
Я тут с 23 сен 2012
Откуда: Хабаровск
Репутация 124 [ ? ]

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 12 апр 2013, 20:02

virusfun, маска коллизии физике не меняется вообще!!! она как была шаром, так и осталась этим шаром... (если использовать киллизию шара, либо изменяется - если использовать маску коллизий спрайта)

У меня похожее получалось вчера (не как в игре, а как у товарисча virusfun), когда я пытался осуществить подобное, но я решил, что этот результат не слишком крут... тем не менее, я точно также считаю, что и результат искажений, как в игре, тоже недостаточно крут - лично меня не вдохновил :biggrin:
Аватара пользователя

Игродел
Сообщений: 405
Я тут с 08 янв 2013
Откуда: Мск
Репутация 205 [ ? ]

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 13 апр 2013, 09:58

насколько помню, были плагины типа изгиба итп. давно не заглядывал в констракт, уже подзабыл.
Аватара пользователя

Администратор
Сообщений: 2310
Я тут с 06 сен 2012
Откуда: Санкт-Петербург, Южно-Сахалинск
Skype: sirg1987
Репутация 242 [ ? ]

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 25 апр 2013, 18:06

:clapping: Спасибо огромное!
Аватара пользователя

Участник
Сообщений: 904
Я тут с 10 фев 2013
Откуда: Челябинск / Екатеринбург
Двиг: C2.r239
Лицензия: Personal
VK: vyntershtoff
Репутация 182 [ ? ]

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 15 май 2013, 11:43

но если в выражении random(n) всего 1 аргумент, то он возвращает число в промежутке [0; n). Причем, что очень важно, n – не включается в этот промежуток


round(random(3)) выводит числа от нуля, до 3 включительно, зачем делать floor с четверкой?

Правда генерация естественно другая идет и тянет копать вниз, но ведь тройка то есть.. не понимаю, в чем соль и как зависит направление..

Для нашего случая оно будет выглядеть вот так: choose(1, 2, 3)


choose(0, 1, 2, 3)
Аватара пользователя

Участник
Сообщений: 61
Я тут с 09 май 2013
Репутация 5 [ ? ]

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 15 май 2013, 15:40

Borgius, тут такой довольно-таки тонкий момент, попробую объснить))

смотри, разбираем выражение random(3). Оно возвращает значения:
0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 2.0, 2.5, 2.9, 2.99, 2.999 и т.д.
теперь посмотрим, что произойдет, если взять выражение round(random(3)).
Рассматриваем те же числа:
0,0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.00, 3.000 и т.д.

Если имеется желание, можешь просмотреть весь ряд до конца (не успуская из виду числа от 2 до 3), ну а нам хватит и этого

Поработаем с вероятностью. Какова вероятность выпадения числа 0.0? 5/(кол-во всех значений с 1 цифрой после запятой). Я уже посчитал, это будет 5/30=1/6
Теперь считаем вероятность выпадения числа 1.0: 10/30=1/3 - в два раза выше.
Не утруждая тебя считать остальные вероятности, скажу, что вероятность выпадения числа 2.0 - 1/3, а оставшаяся вероятность 1/6 приходится на число 4.0

Таким образом, мы получаем следующую картину вероятностей:
0.0 - 1/6
1.0 - 1/3
2.0 - 1/3
3.0 - 1/6

Что же это значит? Это значит то, что числа 1.0 и 2.0 будут выпадать в два раза чаще, чем числа 0.0 и 3.0

Предлагаю проделать точно такой же анализ выражения floor(random(4)):

Результат выражения random(4):
0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 2.0, 2.5, 2.9, 3.3, 3.5, 3.7, 3.9, 3.99
Результат выражения floor(random(4)):
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.00

Таблица вероятностей для этого выражения будет выглядеть вот так:
0.0 - 10/40 = 1/4
1.0 - 10/40 = 1/4
2.0 - 10/40 = 1/4
3.0 - 10/40 = 1/4

А число 4.0 не выпадет никогда, т.к. по определению выражение random(4) вернет число, входящее в промежуток [0; 4) (результат будет приближаться к 4 бесконечно близко, но никогда не будет равен 4)

По поводу choose(0, 1, 2, 3) - поправил, очепятка)
Аватара пользователя

Игродел
Сообщений: 405
Я тут с 08 янв 2013
Откуда: Мск
Репутация 205 [ ? ]

Сообщение Re: Массивы. Процедурная генерация. Инвентарь.
» 15 май 2013, 20:32

Короче суть понятна, будем юзать choose(0, 1, 2, 3)
Спасибо за разъяснения!
Аватара пользователя

Участник
Сообщений: 61
Я тут с 09 май 2013
Репутация 5 [ ? ]



Вернуться в Уроки по Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх