|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Случайный цвет из 256 цветовой палитры
Мне необходимо сделать так, что бы квадрат имел цвет только из 256 цветов цветовой палитры. Если писать
то выводит случайный цвет из 16 миллионов, мне же необходимо, случайный цвет из 256 цветов. Как такое можно реализовать?
__________________
Humanity.push(new Man()); |
|
|||||
Регистрация: Jun 2011
Сообщений: 212
|
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Jun 2011
Сообщений: 212
|
да. сорри. поспешил
|
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
trng прав!
Math.random()*1 никогда 1 не даст =) А теперь по теме:
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. Последний раз редактировалось -De-; 26.09.2011 в 02:54. |
|
|||||
Регистрация: Jun 2011
Сообщений: 212
|
Цитата:
random():Number Что будет при округлении (в итоге-то нужно целое) я не уверен. Последний раз редактировалось trng; 26.09.2011 в 02:54. |
|
|||||
Регистрация: Jun 2011
Сообщений: 212
|
trace(uint(0.99999999 * 1.0)); // равно нулю
Добавлено через 1 минуту trace(Math.round(0.99999999 * 1.0)); // один конечно Добавлено через 4 минуты вот ответ: uint () функция public function uint(value:Number):uint Язык версии: ActionScript 3.0 Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4 Преобразует данное числовое значение в целочисленное значение без знака. Десятичные значения усекаются до целых чисел. Пример: Положительное число с плавающей запятой uint(5.31) Усеченное целое число без знака (например, 5) Так что я таки прав. Спасибо, -De-, TanaTiX! Последний раз редактировалось trng; 26.09.2011 в 03:05. |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Тут ещё вот на что смотрите - каждое число от 0 до 255 должно быть равновероятно. Ну т.е. допустим надо вам получить число 0, 1, или 2, равновероятно.
var saves:Array = [0, 0, 0]; for(var i:int = 0; i < 1000000; ++i) { var rand:int; //rand = int (Math.round(Math.random()*3));// выводит 166649,333558,333634,166159 - фигня //rand = Math.round(Math.random()*2);// выводит 250178,499918,249904 - фигня rand = int (Math.random()*3);// выводит 333553,332836,333611 -всё верно, цифры близки, так и надо писать ++saves[rand]; } trace(saves);
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
Регистрация: Jun 2011
Сообщений: 212
|
Цитата:
При таком синтаксисе (округление) вероятность единицы в 2 раза выше чем у (крайних) нуля или двойки. 0: на входе Math.round() должно быть от 0 до 0.49(9) 1: на входе Math.round() должно быть от 0.5 до 1.49(9) 2. на входе Math.round() должно быть от 1.5 до 2 Для int (Math.round(Math.random()*3)) ситуация аналогичная Последний раз редактировалось trng; 26.09.2011 в 04:21. |
Часовой пояс GMT +4, время: 19:48. |
|
« Предыдущая тема | Следующая тема » |
|
|