Цитата:
Доброго времени суток.
Подскажите пожалуйста как сделать чтобы пользовательский курсор менялся надругой символ при наведении на кнопку в позиции OVER и DOWN на указанный символ из библиотеки
|
Чтобы не запутаться, создайте пустой Sprite и двигайте его, а при срабатывании событий MOUSE_OVER - удаляйте из него все объекты и ложите нужный курсор.
При MOUSE_OUT - просто удаляйте все объекты из спрайта.
А если не хотите писать много кода, то:
- задите сюда:
http://www.flasher.ru/forum/blog.php?b=518
- скачайте оттуда
AS3CursorManager.zip
- скопируйте папку src/ui себе в src
- напишите у себя:

Код AS3:
// Это обязательная инициализация (на старте приложения можно сделать)
CursorManager.init(stage, stage);
...
// Инициализация курсоров
var cursor0:Cursor = new Cursor(new MyCursorFromLib1(), 0, 0 true);
var cursor0:Cursor = new Cursor(new MyCursorFromLib2(), 0, 0, true);
// Добавление курсора на кнопки
CursorManager.newHover().setTarget(myButton1).setCursor(cursor0);
CursorManager.newHover().setTarget(myButton2).setCursor(cursor1);
Здесь myButton1, myButton2 - ваши кнопки, над которыми надо показать разные курсоры
MyCursorFromLib1, MyCursorFromLib2 - классы, сопоставленные с символами в библиотеке, наследники DisplayObject, представляют собой собственно курсоры
Вообще, лучше сделать нативные курсоры (не тормозят при движении, правда есть ограничение по размеру)
Регистрируется через этот метод (можно даже анимированный вставить):
Mouse::registerCursor(name:String, cursor:MouseCursorData):void
Устанавливается по имени через
Mouse.cursor
Ну или через ту же систему:

Код AS3:
CursorManager.init(stage, stage);
Mouse.registerCursor("cursor1", ...);
Mouse.registerCursor("cursor2", ...);
// Добавление курсора на кнопки
CursorManager.newHover().setTarget(myButton1).setCursor(new Cursor(null, 0, 0 false, "cursor1"));
CursorManager.newHover().setTarget(myButton2).setCursor(new Cursor(null, 0, 0, false, "cursor2"));