Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.07.2015, 17:44
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 1  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
По умолчанию Алгоритм генерации одномерного шума.

Нашёл в интернетах вот такую функцию, которую не получается портировать в AS3.




Код AS3:
var bmp:Bitmap = new Bitmap(new BitmapData(50, 50, false, 0), "auto", true);
 
for (var oy:int = 0; oy < bmp.bitmapData.height; oy ++)
{
	for (var ox:int = 0; ox < bmp.bitmapData.width; ox ++)		
	{
		bmp.bitmapData.setPixel(ox, oy, Math.round((1 + Noise.get(oy * bmp.bitmapData.height + ox)) / 2 * 255) << 16 | 0xAA << 8 | 0xAA );
		trace(Noise.get(oy * bmp.bitmapData.height + ox));
	}
}
addChild(bmp);
С маленьким принимаемым числом всё идет вроде как нормально
Код:
-0.2817909838631749
-0.2263730512931943
0.2936328798532486
-0.257185161113739
0.585760772228241
-0.7129412889480591
0.3112967014312744
0.1230621337890625
-0.8130559921264648
-0.032469749450683594
0.929408073425293
Дальше

Код:
0.75
0
-0.75
0.25
0
-0.75
0
0.5
0
0.25
0.25
-0.25
0
1
-0.75
-0.5
0
1
-0.75
-0.75
-0.5
А затем вовсе

Код:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Выглядит битмапа вот так


Добавлено через 40 минут
В чём ошибка?
Пробовал и int, и unsigned int - результат одинаковый.

Подозреваю, что дело в этом, но я не знаю, для чего это и что должно быть)


UPDATE:
Забил функцию в гугл, и увидел, что люди тоже просят перевести её в JS.
Так вот, я всё правильно сделал, но функция не работает как надо.
Вероятно, дело в самой функции >.>

Это очень странно, потому, что эта функция висит в довольно качественном туториале о шуме Кена Перлина.
Искал другие подобные функции в инете - и ничего не нашёл.
__________________
There is no thing in this world that is not simple.


Последний раз редактировалось ZackMercury; 04.07.2015 в 23:25.
Старый 05.07.2015, 10:33
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 2  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
Код AS3:
x = (x << 13) ^ x;
return (1 - ((x * int(x * x * 15731 + 789221) + 1376312589) & 0x7fffffff) / 1073741824);
__________________
Блог, Twitter
Брюзга.

Старый 05.07.2015, 12:41
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 3  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
mayakwd, браво, спасибо, робит!
__________________
There is no thing in this world that is not simple.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:12.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.