2014-09-21 2 views
2

J'utilise Flash CS4 Professional pour créer un élément déplaçable. Cependant, chaque fois que je saisis mon code, j'obtiens l'erreur 1131. Quelqu'un peut-il me dire ce que je fais de mal?Erreur 1131: les classes ne doivent pas être imbriquées

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

Où vous mettez ce code? dans le calendrier? –

+0

Oui. C'est sur une couche séparée. – 15leungjs1

Répondre

2

Vous devez mettre les codes de classe Scrollbar dans un fichier .as séparé et vous pouvez déclarer une instance comme ceci:

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

classe situé dans la barre de défilement "PackageName \ Scrollbar.as":

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

} 
+0

Est-ce que cela signifie que je dois mettre ce code dans un fichier séparé pour que cela fonctionne? Si tel est le cas, puis-je faire cela si mon fichier n'est pas un projet? – 15leungjs1

+0

Oui, vous devez d'abord 'importer' le fichier .as. –

+0

Oh. Merci de votre aide! :) – 15leungjs1

Questions connexes