Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   не работает buttonMode и не прослушиваються события мыши (http://www.flasher.ru/forum/showthread.php?t=139839)

dixlofos 12.05.2010 17:30

не работает buttonMode и не прослушиваються события мыши
 
Код AS3:

package
{
        import flash.display.Sprite;
        import flash.display.Shape;
        import flash.events.*;
 
        public class Main extends Sprite
        {
                private var particle:Shape;
 
                public function Main():void
                {
                        particle = new Shape();
                        particle.graphics.beginFill(0xFF00FF);
                        particle.graphics.lineStyle(2,0x000000);
                        particle.graphics.drawCircle(0,0,5);
                        particle.graphics.endFill();
                        addChild(particle);
                        particle.x = 275;
                        particle.y = 200;
                        particle.addEventListener(MouseEvent.MOUSE_DOWN, md);
                }
 
                public function md(e:Event):void
                {
                        trace("1234");
                }
        }
}

сколько по нему не тыкай, а 1234 в оутпуте не появиться, и еще, почему-то не добавляеться свйство buttonMode, компилятор пишет, что впервые о таком слышет =]
Что делать, господа?

CrazyFlasher 12.05.2010 17:33

потому что у Shape нет такого свойства, и он не ловит это событие...F1

КорДум 12.05.2010 17:34

Ух, сколько глаголов с -ться! Кхм.
Shape - не интерактивный класс, оттого и не работает ничего.

Добавлено через 1 минуту
Опередили)

dixlofos 12.05.2010 17:44

сделал так:
Код AS3:

......
stage.addEventListener(MouseEvent.CLICK, reportClick);
}
 
function reportClick(event:MouseEvent):void
{
if (event.currentTarget == "[object Sprite]")
{
trace("S");
}
...

но возникает вопрос, а что делать если объекта 2? или 3?
По координатам тогда определять чтоль?

КорДум 12.05.2010 17:47

Да зачем так мудрить? Всего-то поменять Shape на Sprite.

CrazyFlasher 12.05.2010 17:47

Код AS3:

package
{
        import flash.display.Sprite;
        import flash.events.*;
 
        public class Main extends Sprite
        {
                private var particle:Sprite;
 
                public function Main():void
                {
                        particle = new Sprite();
                        particle.graphics.beginFill(0xFF00FF);
                        particle.graphics.lineStyle(2,0x000000);
                        particle.graphics.drawCircle(0,0,5);
                        particle.graphics.endFill();
                        addChild(particle);
                        particle.x = 275;
                        particle.y = 200;
                        particle.addEventListener(MouseEvent.MOUSE_DOWN, md);
                }
 
                public function md(e:Event):void
                {
                        trace("1234");
                }
        }
}


dixlofos 12.05.2010 18:02

ах вон чё))
Спасибо, не знал

BlooDHounD 12.05.2010 19:00

если объекта 2 или 3, то у класса Event есть свойство target.


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

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