Форум 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=137873)

Universe 24.03.2010 15:42

Мой первый класс, помогите разобраться!
 
Привет!Решил наконец начать писать код во внешних классах и сразу столкнулся с некоторыми вопросами.
Есть файл, в котором находится мувиклип. В мувиклипе есть 3 состояния, 3 лейбла: over, out, disable.
В папке рядом с фла, есть папка по имени Practice, в ней лежит as файл DisablingButton.as
К кнопке через Linkage прописываю путь к as файлу как Practice.DisablingButton(в поле Base Class).
Вот содержимое самого ас файла:
Код AS3:

package Practice
{
        import flash.display.*;
        import flash.events.*;
        import fl.transitions.*;
        import fl.transitions.easing.*;
 
        public class DisablingButton extends MovieClip
        {
 
 
                public function DisablingButton()
                {
                        var labels:Array;
                        var thisParent:*;
                        labels = this.currentLabels;
                        this.addEventListener(MouseEvent.CLICK, disableButton);
                        this.addEventListener(MouseEvent.ROLL_OVER, over);
                        this.addEventListener(MouseEvent.ROLL_OUT, out);
                }
 
                public function disableButton(e:MouseEvent):void
                {
                        for(var i:uint = 0; i<labels.length; i++)
                        {
                                if(labels[i].name == "disable")
                                {
                                        this.gotoAndPlay("disable");
                                }
                        }
                this.removeEventListener(MouseEvent.CLICK, disableButton);
                this.removeEventListener(MouseEvent.ROLL_OVER, over);
                this.removeEventListener(MouseEvent.ROLL_OUT, out);
                }
        }
 
        public function enableButton():void
        {
                this.addEventListener(MouseEvent.CLICK, disableButton);
                this.addEventListener(MouseEvent.ROLL_OVER, over);
                this.addEventListener(MouseEvent.ROLL_OUT, out);
                gotoAndStop(1);
        }
 
        public function over(e:MouseEvent):void
        {
                for(var j:uint = 0; j<labels.length; j++)
                {
                        if(labels.name == "over")
                        {
                                gotoAndPlay("over");
                        }
                }
        }
 
        public function out(e:MouseEvent):void
        {
                for(var k:uint = 0; k<labels.length; k++)
                {
                        if(labels.name == "out")
                        {
                                gotoAndPlay("out");
                        }
                }
        }
}

После тестинга выдаёт кучу ошибок № 1120 и 1180, что типо у меня переменные и функции undefined.
Пожалуйста, помогите разобраться где я допустил ошибку?

AlexDesinger 24.03.2010 15:54

вынесите переменную "labels" из конструктора в тело класса. Почитайте к.Мука по as3 для начала, прежде чем начинать писать классы, либо хотя бы туторы.

Universe 24.03.2010 16:01

Вынес. Без изминений

Bgg 24.03.2010 16:13

а this.currentLabels где и что это?
В ошибках ведь пишут в какой строке косяк. Наверно там пишут что не найдены методы enableButton, over, out.
Если disableButton сделали методом класса, то почему enableButton, over, out не сделали?

udaaff 24.03.2010 16:22

Ошибки в студию.

Universe 24.03.2010 17:16

нашел ошибку...не там закрыл фигурную скобку, получилось что функции оказались за пределами класса

Добавлено через 5 минут
всем спасибо!


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

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