PDA

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


dixlofos
12.05.2010, 17:30
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
сделал так:

......
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
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.