<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии на: Замена курсора в Flash на ActionScript 3</title>
	<atom:link href="http://xo66ut.ru/archives/156/feed" rel="self" type="application/rss+xml" />
	<link>http://xo66ut.ru/archives/156</link>
	<description>PHP, MySQL, Javascript, JQuery, ExtJS, UML, и другие интернетости...…</description>
	<lastBuildDate>Thu, 09 Sep 2010 17:09:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>От: Xo66uT</title>
		<link>http://xo66ut.ru/archives/156/comment-page-1#comment-679</link>
		<dc:creator>Xo66uT</dc:creator>
		<pubDate>Mon, 06 Sep 2010 09:11:00 +0000</pubDate>
		<guid isPermaLink="false">http://xo66ut.ru/?p=156#comment-679</guid>
		<description>Скоро выложу видеоурок (screencast) как раз по этому поводу, а насчет примеры из справки это вы зря.</description>
		<content:encoded><![CDATA[<p>Скоро выложу видеоурок (screencast) как раз по этому поводу, а насчет примеры из справки это вы зря.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: KIVagant</title>
		<link>http://xo66ut.ru/archives/156/comment-page-1#comment-132</link>
		<dc:creator>KIVagant</dc:creator>
		<pubDate>Sun, 29 Nov 2009 10:47:21 +0000</pubDate>
		<guid isPermaLink="false">http://xo66ut.ru/?p=156#comment-132</guid>
		<description>Зачем переписывать стандартные примеры из справки Adobe в блог? По поиску и так первые позиции занимают официальные справочники. Лучше бы показали, как сделать курсор с пользовательской картинкой, а не каким-то черным пятном.</description>
		<content:encoded><![CDATA[<p>Зачем переписывать стандартные примеры из справки Adobe в блог? По поиску и так первые позиции занимают официальные справочники. Лучше бы показали, как сделать курсор с пользовательской картинкой, а не каким-то черным пятном.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Xo66uT</title>
		<link>http://xo66ut.ru/archives/156/comment-page-1#comment-59</link>
		<dc:creator>Xo66uT</dc:creator>
		<pubDate>Tue, 18 Aug 2009 08:03:18 +0000</pubDate>
		<guid isPermaLink="false">http://xo66ut.ru/?p=156#comment-59</guid>
		<description>Спасибо за полезные комментарии. Выделил ваш код.</description>
		<content:encoded><![CDATA[<p>Спасибо за полезные комментарии. Выделил ваш код.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Certain</title>
		<link>http://xo66ut.ru/archives/156/comment-page-1#comment-58</link>
		<dc:creator>Certain</dc:creator>
		<pubDate>Mon, 17 Aug 2009 00:00:52 +0000</pubDate>
		<guid isPermaLink="false">http://xo66ut.ru/?p=156#comment-58</guid>
		<description>Что бы постараться быть до конца справедливым, надо сказать, что метод, описанный в теме, действительно работает, в том числе и для моего примера. Просто в моем варианте реализации нарисованный курсор появляется строго под скрытой мышью, из-за чего мышь выходит из оласти кнопки и в ходит в область &quot;курсора&quot; :) Происходит MouseOver - и далее по кругу: движение - появление объекта - выход - движение...

Для нейтрализации этого эффекта достаточно просто передвинуть нарисованный курсор так, чтобы он не попадал под мышь:

cursor.x = e.stageX + 20 + 1; //координата по оси x + радиус + 1 точка (для гарантии)
cursor.y = e.stageY + 21; //координата по оси y</description>
		<content:encoded><![CDATA[<p>Что бы постараться быть до конца справедливым, надо сказать, что метод, описанный в теме, действительно работает, в том числе и для моего примера. Просто в моем варианте реализации нарисованный курсор появляется строго под скрытой мышью, из-за чего мышь выходит из оласти кнопки и в ходит в область &#8220;курсора&#8221; <img src='http://xo66ut.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Происходит MouseOver &#8211; и далее по кругу: движение &#8211; появление объекта &#8211; выход &#8211; движение&#8230;</p>
<p>Для нейтрализации этого эффекта достаточно просто передвинуть нарисованный курсор так, чтобы он не попадал под мышь:</p>
<p>cursor.x = e.stageX + 20 + 1; //координата по оси x + радиус + 1 точка (для гарантии)<br />
cursor.y = e.stageY + 21; //координата по оси y</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Certain</title>
		<link>http://xo66ut.ru/archives/156/comment-page-1#comment-57</link>
		<dc:creator>Certain</dc:creator>
		<pubDate>Sun, 16 Aug 2009 23:26:11 +0000</pubDate>
		<guid isPermaLink="false">http://xo66ut.ru/?p=156#comment-57</guid>
		<description>Кстати, в предыдущем посте немного соврал :)

Вот тут:

&lt;code&gt;class CustomCursor extends Shape {
    var bgColor:uint = 0x333333;
    var size:uint = 10;
    
    public function CustomCursor() {
        visible = false;
        draw();
    }
    
    private function draw():void {
        graphics.clear();
        graphics.beginFill(bgColor);
        graphics.drawRect(0, 0, size, size);
        graphics.endFill();
    }
}&lt;/code&gt;


А полный пример можно посмотреть по адресу http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/ui/Mouse.html

P.S. Xo66uT, если не влом - подкрась, пожалуйста, код и ссылки :)</description>
		<content:encoded><![CDATA[<p>Кстати, в предыдущем посте немного соврал <img src='http://xo66ut.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Вот тут:</p>
<p><code>class CustomCursor extends Shape {<br />
    var bgColor:uint = 0x333333;<br />
    var size:uint = 10;</p>
<p>    public function CustomCursor() {<br />
        visible = false;<br />
        draw();<br />
    }</p>
<p>    private function draw():void {<br />
        graphics.clear();<br />
        graphics.beginFill(bgColor);<br />
        graphics.drawRect(0, 0, size, size);<br />
        graphics.endFill();<br />
    }<br />
}</code></p>
<p>А полный пример можно посмотреть по адресу <a href="http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/ui/Mouse.html" rel="nofollow">http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/ui/Mouse.html</a></p>
<p>P.S. Xo66uT, если не влом &#8211; подкрась, пожалуйста, код и ссылки <img src='http://xo66ut.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Certain</title>
		<link>http://xo66ut.ru/archives/156/comment-page-1#comment-56</link>
		<dc:creator>Certain</dc:creator>
		<pubDate>Sun, 16 Aug 2009 23:18:03 +0000</pubDate>
		<guid isPermaLink="false">http://xo66ut.ru/?p=156#comment-56</guid>
		<description>Все красиво... Прямо как в учебнике :) Но... Вот незадача...
Попробуем провести эксперимент...

&lt;code&gt;/* 
 * Курсор - как глобальная переменная - 
 * чтобы он у нас был единственным, 
 * а не повторялся бы при каждом движении мышки
 */
var cursor:Sprite = new Sprite();

/*
 * К символу в пабочей области прикручиваем 
 * событие (чтобы курсор был немного 
 * более полезен)
 */
button_mc.addEventListener(
	MouseEvent.MOUSE_MOVE,
	function (e:MouseEvent){
		
                cursor.graphics.beginFill(0x000000);
		cursor.graphics.drawCircle(0,0,20);
		cursor.graphics.endFill();
		stage.addChild(cursor);

                Mouse.hide();
		
		cursor.x = e.stageX;//координата по оси x
		cursor.y = e.stageY; //координата по оси y
	}
);
/*
 * Пока все чудесно работает - как в учебнике...
 * Правда, одна мелочь - не можем вернуть курсор на место...
 * Ну, да это, кажется, элементарно? Как-то так, например...
 */
button_mc.addEventListener(
		MouseEvent.MOUSE_OUT,
		function (e:MouseEvent){
			Mouse.show();
			
			stage.removeChild(cursor);

		}
);         // Правильно?

/*
 * Э-э-э...
 * Честно говоря, я, когда попробовал, ждал совсем не то,
 * что получил...
 * Впечатления - незабываемые... :)
 */


/*
 * Ну, и для полного кайфа... Стираем предыдущую процедуру
 * (добавление MouseEvent.MOUSE_OUT - что бы не мешалась). 
 * И пробуем дописать что-то типа следующего:
 */
button_mc.addEventListener(
		MouseEvent.CLICK,
		function (e:MouseEvent){
			trace(&quot;Test of click&quot;);
		}
);

/* Простая вроде бы обработка клика... 
 * Угадайте с одного раза: если я сделаю 
 * два одинарных щелчка и один двойной - 
 * сколько надписей я получу?
 */
&lt;/code&gt;
В предыдущем примере мне пришлось убедиться: клики не работают, если мышь скрыта.

Пришлось находить, что у объекта Mouse есть такое свойство, как cursor... А также существуют еще и объекты MouseCursor и CustomCursor...

И тогда подмена происходит, например, так:

Mouse.cursor = MouseCursor.HAND; // Перетаскивающая рука</description>
		<content:encoded><![CDATA[<p>Все красиво&#8230; Прямо как в учебнике <img src='http://xo66ut.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Но&#8230; Вот незадача&#8230;<br />
Попробуем провести эксперимент&#8230;</p>
<p><code>/*<br />
 * Курсор - как глобальная переменная -<br />
 * чтобы он у нас был единственным,<br />
 * а не повторялся бы при каждом движении мышки<br />
 */<br />
var cursor:Sprite = new Sprite();</p>
<p>/*<br />
 * К символу в пабочей области прикручиваем<br />
 * событие (чтобы курсор был немного<br />
 * более полезен)<br />
 */<br />
button_mc.addEventListener(<br />
	MouseEvent.MOUSE_MOVE,<br />
	function (e:MouseEvent){</p>
<p>                cursor.graphics.beginFill(0x000000);<br />
		cursor.graphics.drawCircle(0,0,20);<br />
		cursor.graphics.endFill();<br />
		stage.addChild(cursor);</p>
<p>                Mouse.hide();</p>
<p>		cursor.x = e.stageX;//координата по оси x<br />
		cursor.y = e.stageY; //координата по оси y<br />
	}<br />
);<br />
/*<br />
 * Пока все чудесно работает - как в учебнике...<br />
 * Правда, одна мелочь - не можем вернуть курсор на место...<br />
 * Ну, да это, кажется, элементарно? Как-то так, например...<br />
 */<br />
button_mc.addEventListener(<br />
		MouseEvent.MOUSE_OUT,<br />
		function (e:MouseEvent){<br />
			Mouse.show();</p>
<p>			stage.removeChild(cursor);</p>
<p>		}<br />
);         // Правильно?</p>
<p>/*<br />
 * Э-э-э...<br />
 * Честно говоря, я, когда попробовал, ждал совсем не то,<br />
 * что получил...<br />
 * Впечатления - незабываемые... <img src='http://xo66ut.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
 */</p>
<p>/*<br />
 * Ну, и для полного кайфа... Стираем предыдущую процедуру<br />
 * (добавление MouseEvent.MOUSE_OUT - что бы не мешалась).<br />
 * И пробуем дописать что-то типа следующего:<br />
 */<br />
button_mc.addEventListener(<br />
		MouseEvent.CLICK,<br />
		function (e:MouseEvent){<br />
			trace("Test of click");<br />
		}<br />
);</p>
<p>/* Простая вроде бы обработка клика...<br />
 * Угадайте с одного раза: если я сделаю<br />
 * два одинарных щелчка и один двойной -<br />
 * сколько надписей я получу?<br />
 */<br />
</code><br />
В предыдущем примере мне пришлось убедиться: клики не работают, если мышь скрыта.</p>
<p>Пришлось находить, что у объекта Mouse есть такое свойство, как cursor&#8230; А также существуют еще и объекты MouseCursor и CustomCursor&#8230;</p>
<p>И тогда подмена происходит, например, так:</p>
<p>Mouse.cursor = MouseCursor.HAND; // Перетаскивающая рука</p>
]]></content:encoded>
	</item>
</channel>
</rss>
