2014-09-21 2 views
2

Я использую Flash CS4 Professional для создания перетаскиваемого элемента. Однако всякий раз, когда я ввожу свой код, я получаю сообщение об ошибке 1131. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?Ошибка 1131: классы не должны быть вложенными

stop(); 

class Scrollbar extends Sprite 
{ 
    var value:Number; 
    var padding:Number = 5; 

    var _textField:TextField; 
    var max:Number; 
    var min:Number; 
    function draggable() 
    { 
     min = bar_mc.y; 
     max = bar_mc.height - Erhu_H3_btn.height; 
     Erhu_H3_btn.addEventListener(MouseEvent.MOUSE_DOWN, dragHandle); 
    } 

    function dragHandle(event:MouseEvent):void 
    { 
     Erhu_H3_btn.startDrag(false, new Rectangle(0,min,0,max)); 
     stage.addEventListener(MouseEvent.MOUSE_UP, stopDragging); 
    } 

    function stopDragging(event:MouseEvent):void 
    { 
     Erhu_H3_btn.stopDrag(); 
     stage.removeEventListener(MouseEvent.MOUSE_UP, stopDragging); 
    } 

} 
+0

Где вы размещаете этот код? на временной шкале? –

+0

Да. Он находится на отдельном слое. – 15leungjs1

ответ

2

Вы должны поместить коды класса Scrollbar в отдельном файле .as, а затем вы можете объявить экземпляр вроде этого: класс

import PackageName.Scrollbar; 
stop(); 
var scrollbar:Scrollbar = new Scrollbar(); 

Scrollbar, расположенный в «Имя_пакета \ Scrollbar.as»:

package PackageName{ 
    import flash.display.Sprite; 
    public class Scrollbar extends Sprite{ 
     var value:Number; 
     //... 
    } 

} 
+0

Означает ли это, что я должен поместить этот код в отдельный файл, чтобы он работал? Если это так, могу ли я сделать это, если мой файл не является проектом? – 15leungjs1

+0

Да, сначала вы должны «импортировать» файл .as. –

+0

Ох. Спасибо за вашу помощь! :) – 15leungjs1

Смежные вопросы