
Код AS3:
private var _isEnabled:Boolean = true;
приватные переменные обозначаются в конструкторе.

Код AS3:
private var _isEnabled:Boolean = true;
и тут же
public function get isEnabled():Boolean {
return _isEnabled;
}
я не понимаю абсолютно смысл этих телодвижений.
либо пропишите нормальные гетеры-сетеры, либо просто сделайте публичной переменную.

Код AS3:
this.tabChildren = false;
this.tabEnabled = false;
поясните, зачем?

Код AS3:
public function release(e:MouseEvent):void {
if (stage) {
.....
совершенно не ясна проверка на наличие стейджа. если его не было бы - не было бы события.

Код AS3:
if (this.hitTestPoint(stage.mouseX , stage.mouseY))
{
this.over(e);
}
else
{
this.out(e);
}
это типа, если нажал и увел мышку в другую область и отжал?
это не надо проверять - такое поведение пользователя не приведёт к событию MouseEvent.CLICK - проверьте сами.

Код AS3:
public function enable():void
{
this.addEventListener(MouseEvent.MOUSE_OVER , this.over);
this.addEventListener(MouseEvent.MOUSE_OUT , this.out);
this.addEventListener(MouseEvent.CLICK , this.release);
this.addEventListener(MouseEvent.MOUSE_DOWN , this.down);
this.mouseEnabled = true;
this.out(null);
последняя строка. зачем?
а если активация будет во время пребывания мыши над кнопкой? получите кашу.

Код AS3:
private function minusLine(e:MouseEvent):void
мышиный эвент хэндлер назван совсем как не хэндлер. вы сами в своём коде не путаетесь? вы - ладно, другим его читать - давать нельзя.

Код AS3:
if (this._hudModel.currentLine === this._hudModel.numLines)
{
//this._hud.pline.removeEventListener(MouseEvent.CLICK , plusLine);
this._hud.pline.disable();
}
else if (this._hudModel.currentLine === 1)
{
//this._hud.mline.removeEventListener(MouseEvent.CLICK , minusLine);
this._hud.mline.disable();
} else
вам самому понятна логика в этом дереве?
Вам стоит сделать свой код более прозрачным и понятным. И путаться не будете. А ещё есть дебагер, где можно поставить брейкпойнт и посмотреть как работает последовательность событий.

Код AS3:
if (layout.getChildByName('hit') == null)
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
(_enabled == true) ? turnOn() : turnOff();
а тут - разберитесь для начала(вам, как я понял, это не по силам), а потом критикуйте
Добавлено через 3 минуты
Цитата:
Сообщение от Wolsh
Frost47rus, Ваш клипопреобразователь имеет какое-то отношение к данной теме?
|
да, непосредственно имеет. мы разбирались в том, что у кнопки нет двух одинаковых слушателей.