Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   изменить курсор (http://www.flasher.ru/forum/showthread.php?t=176091)

megapup 01.03.2012 22:00

изменить курсор
 
нужно сделать курсор hand над всем роликом

у stage нету свойств для изменения курсора
у Sprite есть buttonMode и useHandCursor однако непонятно как растянуть его на 100%

подскажите как сделать?

*размер ролика заранее не известен

Mukon 01.03.2012 22:27

создаем прозрачный прямоугольник по ширине и высоте stage, например:
Код AS3:

var rect:Sprite = new Sprite();
    rect.graphics.drawRect(0,0,0,0);
    rect.alpha = 0;
    rect.height = stage.height;
    rect.width = stage.width;
    rect.buttonMode = true;
    addChild(rect);

P.S. Не забудьте поставить плюс

megapup 01.03.2012 22:31

не забуду :)
а ежели stage.height/width поменяются?
евент какой нибудь случается после изменения размеров stage?

Mukon 01.03.2012 22:35

Если надо, то можно прослушать событие изменения размеров stage c помощью
Код AS3:

Event.CHANGE


megapup 01.03.2012 22:36

спасибо, будем пробовать.

illuzor 01.03.2012 22:38

Mukon, где beginFill, где endFill?
Код AS3:

stage.height/stage.width

это неправильно.
Надо вот так
Код AS3:

stage.stageWidth/stage.stageHeight

И легче сразу рисовать по размерам сцены, а не растягивать.
А выпрашивать плюсы, особенно за неработающие советы, это глупо.

Цитата:

евент какой нибудь случается после изменения размеров stage?
Event.RESIZE. вешается на stage

TanaTiX 01.03.2012 22:38

Тут лучше почитай.
А то изменение размеров stage - система с слушателями. Если над этим шейпом будут другие объекты - всем тоже повесить такое свойство. А если делать прозрачный спрайт поверх всего - отказывают мышиные события. Плохой совет, не ставь +

Wolsh 01.03.2012 22:45

1.
Код AS3:

Mouse.cursor = flash.ui.MouseCursor.HAND;

2. Stage не диспатчит событие Event.CHANGE. Зато у него есть специальное событие ресайза.
Код AS3:

stage.addEventListener(Event.RESIZE, handlerResize);


Mukon 01.03.2012 22:51

Писал на скорою руку, хотелось побыстрее помочь что бы меня не опередили :). Теперь буду лучше думать.
Извините.

megapup 01.03.2012 22:55

да, я уже заметил, stage.width/height возвращает ноль, CHANGE не срабатывает, рановато плюсы поставил, ну да ладно.
Mouse.cursor заработало после переключения с 9 на 10 flashplayer в пропертисах проекта :)
всем спасибо


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

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