Хаотичное появление спрайтов

техническая поддержка по Construct 2

Хаотичное появление спрайтов

Сообщение sazar » 28 ноя 2013, 10:25

Красиво составил виктор, все работает, но еще есть небольшой вопрос, можно ли сделать чтобы размер появляющихся спрайтов менялся рандомно,(один больше другой меньше)
Аватара пользователя
sazar
Участник
Участник
 
Сообщения: 206
Зарегистрирован: 09 ноя 2013

Хаотичное появление спрайтов

Сообщение _Victor_ » 28 ноя 2013, 15:32

sazar писал(а):Красиво составил виктор, все работает, но еще есть небольшой вопрос, можно ли сделать чтобы размер появляющихся спрайтов менялся рандомно,(один больше другой меньше)


Можно! Смотря как ты хочешь. Наверно, чтобы всё было пропорционально, да? Т.е. ширина равна высоте. Если так, то вот что надо сделать: просто добавь два действия:
Изображение

А если хочешь, чтобы и высота, и ширина были рандомными, то сделай так:
Изображение

И про random ещё тебе скажу...
Если ты напишешь так: random(51), то будет браться рандомное число от 0 до 51 (51 не включая!).
Если ты напишешь так: random (20, 40), то будет браться число от 20 до 40!

Держи ещё и исходник.
Вложения
Spawn.capx
(172.39 КБ) Скачиваний: 105
Аватара пользователя
_Victor_
Участник
Участник
 
Сообщения: 185
Зарегистрирован: 24 июл 2013
Откуда: Беларусь, Минск

Хаотичное появление спрайтов

Сообщение Saturn » 28 ноя 2013, 16:28

Вот глянь,вроде все просто,
добавил еще разный цвет так чтобы понять прикол Random)))

_Victor_ писал(а):И про random ещё тебе скажу...

Упс не прочитал выше ответ)
Вложения
stars Sat.capx
Звезды=)
(90.04 КБ) Скачиваний: 99
Аватара пользователя
Saturn
Участник
Участник
 
Сообщения: 65
Зарегистрирован: 08 авг 2013

Хаотичное появление спрайтов

Сообщение Nick_Rimer » 29 ноя 2013, 07:57

_Victor_, Saturn,
Скажу в свою очередь о рандоме, чтобы поправить некоторые неточности. Может, поможет когда-нибудь не ошибиться там, где будет важна точность результата.

Если ты напишешь так: random(51), то будет браться рандомное число от 0 до 51 (51 не включая!)

Без обид, математики не любят длинных слов; т.к. формула рандома random(N), в таком случае просто говорят, что получается случайное число от 0 до N-1, в данном случае это называется от 0 до 50 без употребления слов, типа "включая", "не включая", так просто грамотнее :wink:
Из подсказки в С2 при вводе выражения random: Range of random numbers to generate, from 0 to one less than this value (диапазон для генерации чисел от 0 до числа на единицу меньше указанного значения).

Ещё С2 выделяется своим замечательным способом рандома: создаёт целое рандомное число в указанных пределах, а потом к нему не менее рандомнейшую вещественную часть из 10 знаков после запятой (типа 2.0987365876). Таким образом, чтобы получить нормальное целое рандомное число в чётко указанных пределах лучше воспользоваться такой конструкцией: floor(random(N)) Например, в СС такого не было, там случайное число было целым.
floor(x) - функция округления в наименьшую сторону. Почему нельзя использовать, например, стандартное округление round(x)? Потому что можно нарваться на ошибку превышения верхнего предела на 1. Допустим, нужно целое число от 0 до 50, мы напишем round(random(51)). Пусть random(51) выдало нам число 50.7895638902. Тогда функция round(x) округлит это до 51, что нам совсем не надо. А floor(x) как бы просто отбрасывает вещественную часть числа, выдавая нам 50.

Если ты напишешь так: random (20, 40), то будет браться число от 20 до 40!

Если написать random(20, 40), то получится число в пределах от 20 до 39!!! Не до 40. Опять же для получения целочисленного ответа не забываем про floor(x).

И совсем уж напоследок. Выводил я как-то формулу для рандома в любых заданных пределах. Вполне может когда-нибудь пригодиться. Приведу её и здесь: random(m-n+1)+n
Здесь m - верхний предел, n - нижний предел. И, конечно, для целочисленных результатов не забываем про floor(x) :smile:
- Доброе утро, агент Пи!
Сделаю качественный перевод вашего проекта: Eng -> Rus -> Eng. Быстро или недорого - выбираете вы сами.
Аватара пользователя
Nick_Rimer
Игродел
Игродел
 
Сообщения: 82
Зарегистрирован: 27 ноя 2013
Откуда: Москва

Пред.

Вернуться в Вопрос-Ответ по Construct 2

Пользователи онлайн

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

cron