![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 12
|
Как при нажатии мышки на кнопку (в роли кнопки выступает радуга) считать цвет под курсором мыши? Есть ли такая функция/свойство?
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
import flash.display.BitmapData;
this.onMouseDown = function () {
var bmp:BitmapData = new BitmapData (Stage.width, Stage.height);
bmp.draw (_root);
var rgb:String = bmp.getPixel (_root._xmouse, _root._ymouse).toString (16);
bmp.dispose ();
trace ("0x" + ("00000").substr (0, 6 - rgb.length) + rgb);
};
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
import flash.display.BitmapData;
import flash.geom.Matrix;
this.onMouseDown = function() {
var x = _root._xmouse;
var y = _root._ymouse;
var bmp = new BitmapData(1,1);
var mtx = new Matrix();
mtx.translate(-x,-y);
bmp.draw(_root, mtx);
var pixel = bmp.getPixel(0,0).toString(16);
bmp.dispose();
trace("0x"+("00000").substr (0,6-pixel.length)+pixel);
}
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 1,369
|
__etc, интересное решение. А в чем глобальное преимущество кода коллеги? Тем, что сама битмапа всегда один пиксель, и тем самым код кушает меньше ресурсов и времени или нет? Пробовал и тот и тот код - вроде одинаково срабатывает по времени.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Мой жрет значительно меньше памяти. И, соответсвенно, времени.
Достаточно на onEnterFrame поставить, чтобы сравнить. |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 1,369
|
Понял.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 07:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|