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

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

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

Регистрация: Jan 2007
Сообщений: 368
По умолчанию Подскажите алгоритм создания палитры цветов

Подскажите алгоритм создания палитры цветов для колорпикера. Нужно в одном клипе рядом разместить около 100 различных цветов

Старый 09.03.2010, 14:18
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Алгоритмов наверное много. Ну попробую описать как бы делал я.
Скорее всего циклом разместил бы цвета, через duplicate клип, чтобы вся коробка цветов была из мувиклипов. Ну а потом события поствить типа
Код AS1/AS2:
 if(firstColor) { col=0xFF0000}
. Ну а там уже при нажатии на клип у которого хотим изменить цвет использовать setRGB методы.

Скорее всего это все проще сделать через битмапдату. Но я с ней не разбирался ибо не приходилось. Может кто еще подскажет

Старый 09.03.2010, 14:33
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 3  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Да, через BitmapData.
Код AS3:
var col:Number=0x000000;
var step:Number=0x000020;
while (col<0xFFFFFF){
col+=step;
trace(col);
}
и рисуем квадратик в битмап дату, а цвет потом оттуда берём через getPixel

Старый 09.03.2010, 15:27
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 4  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Действительно лучше через битмап. Можно нарисовать палитру какую тебе надо, потом перевести её в битмап, и с неё уже брать цвета.
1) сделай клип палитру, (palitra) можно прямоугольником и например залей его градиентом (всеми цветами). Только точку трансформации вверху слева.
2) создай клип (clip), цвет которого будет изменятся.
3) код:
Код AS1/AS2:
import flash.display.BitmapData;
//создаем битмапу с размерами как и палитра
var bm:BitmapData = new BitmapData(palitra._width, palitra._height, false, 0x000000);
//в битмапе рисуется палитра
bm.draw(palitra);
//к палитре прикрепляем битмапу
palitra.attachBitmap(bm,1);
//color что бы именять цвет клипа
var color:Color = new Color(clip);
//и при клике на палитре
palitra.onPress = function() {
	//определяем цвет пиксела под курсором
	var temp = "0x" + bm.getPixel(_xmouse - this._x, _ymouse - this._y).toString(16);
	//назначаем цвету
	color.setRGB(temp);
};
Вложения
Тип файла: swf color.swf (1.4 Кб, 112 просмотров)

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

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

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


 


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


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