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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.07.2005, 12:43
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 11  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
Здесь без специального софта не обойтись ...

to INils >>
Слушай а ненапомнишь как там чего , а то перерывать архив замучаюсь ...
__________________
BestMasterиZация

Старый 14.07.2005, 13:08
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 12  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Это ссылка на класс AS2: http://www.dembicki.org/GradientAndSafePalette.as

А это из конфы для AS1 (возможно глюки)
Код:
this.setHSBPaletteClass = function () {
	delete this.setHSBPaletteClass;
	var RGB_COLORS = [0xFF0000, 0xFFFF00, 0x00FF00, 0x00FFFF, 0x0000FF, 0xFF00FF, 0xFF0000];
	var RGB_ALPHAS = [100, 100, 100, 100, 100, 100, 100];
	var RGB_RATIOS = [255 / 6 * 0, 255 / 6 * 1, 255 / 6 * 2, 255 / 6 * 3, 255 / 6 * 4, 255 / 6 * 5, 255 / 6 * 6];
	var NO_ALPHAS_ARRAY = [100, 100];
	var SHADOW_ALPHAS_ARRAY = [80, 80];
	var WHITE_BLACK_ARRAY = [0xFFFFFF, 0];
	var BLACK_WHITE_ARRAY = [0, 0xFFFFFF];
	var WHITE_ARRAY = [0xFFFFFF, 0xFFFFFF];
	var RATIOS_ARRAY = [0, 0xFF];
	var ALPHAS_ARRAY = [0, 100];
	// Hue - Saturation - Brightness (Оттенок - Насыщенность - Яркость)
	var HSBPalette = function () {
		this.init ();
	};
	// CREATE
	HSBPalette.create = function (thisObject:MovieClip, name:String, depth:Number, initObject:Object) {
		var mc = thisObject.createEmptyMovieClip (name, depth);
		var t = HSBPalette;
		mc.__proto__ = t.prototype;
		for (var i in initObject) {
			mc[i] = initObject[i];
		}
		t.call (mc);
		return mc;
	};
	var tmp = HSBPalette.prototype = new MovieClip ();
	//
	tmp.onPress = function () {
		this.hue_locked = this._xmouse < this._size;
		_root.old_clr.setRGB (this.hex);
		this.onMouseMove = function () {
			if (!this.hitTest (_root._xmouse, _root._ymouse, true)) {
				return;
			}
			var hsb_obj = this.getHSB ();
			if (!this.hue_locked) {
				if (this._xmouse < this._size) {
					return;
				}
				var k = 360 / this._size;
				hsb_obj.h = 360 - this._ymouse * k;
			} else {
				if (this._xmouse > this._size) {
					return;
				}
				var k = 100 / this._size;
				hsb_obj.s = this._xmouse * k;
				hsb_obj.b = 100 - this._ymouse * k;
			}
			this.setHSB (hsb_obj);
			this.setHUEmode (this._size);
			_root.new_clr.setRGB (this.hex);
		};
		this.onMouseUp = function () {
			delete this.onMouseMove;
			delete this.onMouseUp;
		};
		this.onMouseMove ();
	};
	//
	tmp.init = function () {
		// this.hex = 0x0000FF;
		this._mode = this._mode;
		// this._safe = Boolean(this._safe);
	};
	tmp.addProperty ("_size", function () {
		return this.size || 255;
	}, function (val) {
		this.size = val;
		this["set" + this.mode.toUpperCase () + "mode"] (this._size);
	});
	tmp.addProperty ("_mode", function () {
		return this.mode;
	}, function (val) {
		this.mode = val = (val == "saturation" ? "saturation" : val == "brightness" ? "brightness" : val == "red" ? "red" : val == "green" ? "green" : val == "blue" ? "blue" : "hue");
		this["set" + val.toUpperCase () + "mode"] (this._size);
	});
	tmp.setHUEmode = function (size) {
		var hsb_obj = this.getHSB ();
		this.setHSB (hsb_obj);
		var size = size || this.size || 255;
		var size1 = size / Math.cos (Math.PI / 4);
		var clr = this.getHueRGB ();
		this.clear (), this.beginFill (clr);
		this.lineTo (0, size), this.lineTo (size, size), this.lineTo (size, 0), this.lineTo (0, 0), this.endFill ();
		this.beginGradientFill ("linear", WHITE_ARRAY, [100, 0], RATIOS_ARRAY, {matrixType:"box", x:0, y:0, w:size, h:size, r:0});
		this.lineTo (0, size), this.lineTo (size, size), this.lineTo (size, 0), this.lineTo (0, 0), this.endFill ();
		this.beginGradientFill ("linear", [0, 0], [0, 100], RATIOS_ARRAY, {matrixType:"box", x:0, y:0, w:size, h:size, r:Math.PI / 2});
		this.lineTo (0, size), this.lineTo (size, size), this.lineTo (size, 0), this.lineTo (0, 0), this.endFill ();
		//
		var x = size + 10, w = 20;
		this.beginGradientFill ("linear", RGB_COLORS, RGB_ALPHAS, RGB_RATIOS, {matrixType:"box", x:x, y:0, w:w, h:size, r:-Math.PI / 2});
		this.moveTo (x, 0), this.lineTo (x + w, 0), this.lineTo (x + w, size), this.lineTo (x, size), this.lineTo (x, 0), this.endFill ();
		//
		var p_x = hsb_obj.s * size / 255;
		var p_y = size - hsb_obj.b * size / 255;
		this.lineStyle (10, 0, 100), this.moveTo (p_x, p_y), this.lineTo (p_x + .5, p_y);
		this.lineStyle (8, 0xFFFFFF, 100), this.moveTo (p_x, p_y), this.lineTo (p_x + .5, p_y);
		this.lineStyle (6, this.hex, 100), this.moveTo (p_x, p_y), this.lineTo (p_x + .5, p_y);
		//
		p_h = size - hsb_obj.h * size / 360;
		this.lineStyle (0, 0, 100), this.moveTo (x, p_h - 5), this.lineTo (x + w, p_h - 5), this.lineTo (x + w, p_h + 5), this.lineTo (x, p_h + 5), this.lineTo (x, p_h - 5);
		// this.lineStyle(8, 0xFFFFFF, 100), this.moveTo(x, y), this.lineTo(x+.5, y);
		// this.lineStyle(6, this.hex, 100), this.moveTo(x, y), this.lineTo(x+.5, y);
	};
	// >>>>>>>>>>>>>>>>> CONVERSATIONS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	tmp.parseString = function (val) {
		return Number (val) || parseInt (val) || parseInt ("0x" + val.substr (val.lastIndexOf ("#") + 1)) || 0;
	};
	tmp.addProperty ("_red", function () {
		return ((this.hex >> 16) % 0xFF + 0xFF) % 0xFF;
	}, function (val) {
		val = (val % 0xFF + 0xFF) % 0xFF;
		var hex = this.hex, gb = this.hex ^ (this.hex >> 16 << 16), g = gb >> 8 << 8;
		this.hex = (val << 16) | g | (gb ^ g);
	});
	tmp.addProperty ("_green", function () {
		return (((this.hex ^ (this.hex >> 16 << 16)) >> 8) % 0xFF + 0xFF) % 0xFF;
	}, function (val) {
		val = (val % 0xFF + 0xFF) % 0xFF;
		var hex = this.hex, r = hex >> 16 << 16, gb = hex ^ r;
		this.hex = (r | (val << 8) | (gb ^ (gb >> 8 << 8)));
	});
	tmp.addProperty ("_blue", function () {
		return ((this.hex << 24 >> 24) % 0xFF + 0xFF) % 0xFF;
	}, function (val) {
		val = (val % 0xFF + 0xFF) % 0xFF;
		var hex = this.hex, r = hex >> 16 << 16;
		this.hex = (r | (hex ^ r) >> 8 << 8 | val);
	});
	// ----------------------------------
	tmp.getHex = function (r, g, b) {
		return ((r << 16 | g << 8 | b) % 0xFFFFFF + 0xFFFFFF) % 0xFFFFFF;
	};
	tmp.getRGB = function (hex) {
		var hex = this.hex, r = this.hex >> 16, gb = (hex ^ (r << 16)), g = gb >> 8;
		return {red:r, green:g, blue:gb ^ (g << 8)};
	};
	tmp.addProperty ("_hue", function () {
		return this.getHSB ().h;
	}, function (val) {
		val = (val % 360 + 360) % 360;
		var hsb_obj = this.getHSB ();
		hsb_obj.h = val;
		this.setHSB (hsb_obj);
	});
	tmp.addProperty ("_saturation", function () {
		return this.getHSB ().s;
	}, function (val) {
		val = (val % 100 + 100) % 100;
		var hsb_obj = this.getHSB ();
		hsb_obj.s = val;
		this.setHSB (hsb_obj);
	});
	tmp.addProperty ("_brightness", function () {
		return this.getHSB ().b;
	}, function (val) {
		val = (val % 100 + 100) % 100;
		var hsb_obj = this.getHSB ();
		hsb_obj.b = val;
		this.setHSB (hsb_obj);
	});
	//
	tmp.getHSB = function () {
		var hex = this.hex || 0;
		var r = hex >> 16, gb = (hex ^ (r << 16)), g = gb >> 8, b = gb ^ (g << 8);
		var low = Math.min (r, Math.min (g, b));
		var high = Math.max (r, Math.max (g, b));
		var diff = high - low, hue = 0, saturation = 0, brightness = Math.round (high / 2.55) || 0;
		if (diff) {
			saturation = Math.round (100 * (diff / high)) || 0;
			hue = ((r == high) ? ((g - b) / diff) : (g == high) ? 2 + (b - r) / diff : 4 + (r - g) / diff) * 60;
			hue += (hue > 360 ? -360 : hue < 0 ? 360 : 0);
		} else {
			hue = this.last_hue;
		}
		return {h:hue, s:saturation, b:brightness};
	};
	tmp.setHSB = function (hsb_obj) {
		var r, g, b;
		hsb_obj.h = hsb_obj.h > 360 ? 0 : hsb_obj.h <= 0 ? 0 : hsb_obj.h;
		hsb_obj.s *= 2.55;
		hsb_obj.b *= 2.55;
		this.last_hue = hsb_obj.h;
		if (!hsb_obj.h && !hsb_obj.s) {
			r = g = b = hsb_obj.b;
			return this.hex = (r << 16 | g << 8 | b);
		}
		var diff = (hsb_obj.b * hsb_obj.s) / 255;
		var low = hsb_obj.b - diff;
		if (hsb_obj.h > 300 || hsb_obj.h <= 60) {
			r = hsb_obj.b;
			if (hsb_obj.h > 300) {
				g = Math.round (low);
				b = -Math.round ((hsb_obj.h - 360) / 60 * diff - low);
			} else {
				b = Math.round (low);
				g = Math.round (hsb_obj.h / 60 * diff + low);
			}
			return this.hex = (r << 16 | g << 8 | b);
		}
		if (hsb_obj.h > 60 && hsb_obj.h < 180) {
			g = hsb_obj.b;
			if (hsb_obj.h < 120) {
				b = Math.round (low);
				r = Math.round (low - (hsb_obj.h / 60 - 2) * diff);
			} else {
				r = Math.round (low);
				b = Math.round (low + (hsb_obj.h / 60 - 2) * diff);
			}
			return this.hex = (r << 16 | g << 8 | b);
		}
		b = hsb_obj.b;
		if (hsb_obj.h < 240) {
			r = Math.round (low);
			g = Math.round (low - (hsb_obj.h / 60 - 4) * diff);
		} else {
			g = Math.round (low);
			r = Math.round (low + (hsb_obj.h / 60 - 4) * diff);
		}
		return this.hex = (r << 16 | g << 8 | b);
	};
	tmp.getHueRGB = function () {
		var r, g, b;
		var angle = this.getHSB ().h;
		var x = angle / 60;
		x = x > 6 ? 6 : x < 0 ? 0 : x;
		var x_up = x - Math.floor (x), x_down = 1 - x_up;
		x < 1 ? (r = 255, g = 255 * x_up, b = 0) : x < 2 ? (r = 255 * x_down, g = 255, b = 0) : x < 3 ? (r = 0, g = 255, b = 255 * x_up) : x < 4 ? (r = 0, g = 255 * x_down, b = 255) : x < 5 ? (r = 255 * x_up, g = 0, b = 255) : x < 6 ? (r = 255, g = 0, b = 255 * x_down) : "";
		return (r << 16 | g << 8 | b);
	};
	// */
	_global.HSBPalette = HSBPalette;
	ASSetPropFlags (_global, 'HSBPalette', 7, 1);
};
this.setHSBPaletteClass ();
///////////// ------------------------------------------------------
HSBPalette.create (this, "hsb_mc", 0, {_x:400, size:150});
this.createEmptyMovieClip ('new_mc', 1);
this.new_clr = new Color (this.new_mc);
this.new_mc.beginFill (0, 100);
this.new_mc.lineTo (200, 0);
this.new_mc.lineTo (200, 100);
this.new_mc.lineTo (0, 100);
this.new_mc.lineTo (0, 0);
this.new_mc.endFill ();
this.createEmptyMovieClip ('old_mc', 2);
this.old_clr = new Color (this.old_mc);
this.old_mc.beginFill (0, 100);
this.old_mc.moveTo (0, 100);
this.old_mc.lineTo (200, 100);
this.old_mc.lineTo (200, 200);
this.old_mc.lineTo (0, 200);
this.old_mc.lineTo (0, 100);
this.old_mc.endFill ();
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 14.07.2005, 13:43
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 13  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
спасиба .......
__________________
BestMasterиZация

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

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

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


 


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


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