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

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

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
По умолчанию Меняем курсор на собственный

рисуем новый курсор, указываем ему инстенс: Hand_coursor
В главном классе пишем
Код AS3:
Mouse.hide();
_handMouse = new Hand_coursor();						
_stage.addChild(_handMouse);
_stage.addEventListener(Event.ENTER_FRAME, handMouse);
Код AS3:
private function handMouse(evt:Event):void
{ 
	_handMouse.x = mouseX;
	_handMouse.y = mouseY;
}
только вот этот _handMouse перекрывает сам спрятаный курсор и все кнопки приложения не доступны.
Подскажите, как сделать правильный "свой курсор"

Старый 09.08.2010, 20:36
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 2  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
Код:
handMouse.mouseEnabled = false;
handMouse.mouseChildren = false;

Старый 09.08.2010, 20:39
arkadattx вне форума Посмотреть профиль Отправить личное сообщение для arkadattx Найти все сообщения от arkadattx
  № 3  
Ответить с цитированием
arkadattx

Регистрация: Apr 2010
Сообщений: 219
И лучше все это делать без обращения к stage-у. Юзайте контейнер - возможно будет меньше проблем с очисткой памяти...

Старый 09.08.2010, 20:51
Dr_Bra вне форума Посмотреть профиль Отправить личное сообщение для Dr_Bra Посетить домашнюю страницу Dr_Bra Найти все сообщения от Dr_Bra
  № 4  
Ответить с цитированием
Dr_Bra
 
Аватар для Dr_Bra

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
Ясненько, спасибо за ответы!

Старый 09.08.2010, 22:15
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 5  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
да, только не Event.ENTER_FRAME, а MouseEvent.MOUSE_MOVE + event.updateAfterEvent() + по правому клику курсор станет видным + убирать кастомный курсор при покидании сцены

Старый 10.08.2010, 02:04
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
И добавить слушатель в стейдж на событие ADDED, чтобы забрасывать курсор наверх при добавлении новых объектов в один с ним контейнер/забрасывать его контейнер наверх при добавлении объектов на стейдж..
__________________
Reality.getBounds(this);

Старый 10.08.2010, 12:48
Dr_Bra вне форума Посмотреть профиль Отправить личное сообщение для Dr_Bra Посетить домашнюю страницу Dr_Bra Найти все сообщения от Dr_Bra
  № 7  
Ответить с цитированием
Dr_Bra
 
Аватар для Dr_Bra

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
следуя Вашим советам, сделал тестовый файл, что бы протестировать события MOUSE_LEAVE и updateAfterEvent. Но на событие MOUSE_LEAVE объект не удаляется со сцены

Код AS3:
package 
{
 	import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.ui.Mouse;
 
    public class Ml extends Sprite 
	{
        private var cursor;
 
        public function Ml() 
		{
            cursor = new Obj();
            addChild(cursor);
 
            stage.addEventListener(Event.MOUSE_LEAVE, curcorLeave);
            stage.addEventListener(MouseEvent.MOUSE_MOVE, cursorFollow);
            Mouse.hide();
        }
 
        public function curcorLeave(evt:Event):void 
		{
            stage.removeChild(cursor);
        }
 
        public function cursorFollow(evt:MouseEvent):void 
		{
            cursor.x = stage.mouseX;
            cursor.y = stage.mouseY;
            evt.updateAfterEvent();
        }
    }
}
Добавлено через 27 минут
или это только у меня не работает?)

Старый 10.08.2010, 19:04
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Прежде чем удалять, неплохо бы добавить.
__________________
Reality.getBounds(this);

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
добавили же
Код AS3:
  addChild(cursor);
код работает в cs4, а в cs5 не работает, вот это нам поставили обновления на работе ))

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
public class Ml extends Sprite
{
    ....
    public function Ml() 
    {
            cursor = new Obj();
            addChild(cursor);
    }
}
Код AS3:
stage.removeChild(cursor);
Отдал конфеты Маше, а требуешь вернуть - у Васи.

Добавлено через 6 минут
Все это потерянное время тебе бы с легкостью сэкономил человеческий компилятор. В ФД с флекс_сдк твой код никогда бы не был скомпилирован, это Флэш ИДЕ пропускает миллионы ошибок.
__________________
Reality.getBounds(this);

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

Теги
mouse , курсор , мышка
Опции темы
Опции просмотра

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

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


 


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


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