2010-08-10 4 views
0

Le code suivant m'a donné TypeError: Erreur # 2007: Le paramètre enfant doit être une erreur d'exécution non nulle. ne sais pas pourquoi ... Je vous serais reconnaissant de toute aide ...AS3: AddChild problème - "TypeError: Erreur # 2007: paramètre enfant doit être non null."

 mySb = new ScrollBar(); 
     mySb.x = cont.x; //+ cont.width; 
     mySb.y = cont.y; 
     mySb.height = contMask.height; 
     mySb.enabled = true; 
     addChild(mySb); 

Mise à jour

package com.search.view 

{ 

import com.search.events.YouTubeSearchEvent; 

import fl.controls.ScrollBar; 
import fl.controls.Slider; 
import fl.controls.UIScrollBar; 
import fl.events.ScrollEvent; 
import fl.events.SliderEvent; 

import flash.display.Shape; 
import flash.display.Sprite; 
import flash.events.MouseEvent; 
import flash.geom.Rectangle; 
import flash.net.URLLoader; 

public class SearchResultContainer extends Sprite 
{ 
    private var cont:videoCont; 
    private var contMask:Sprite; 
    private var mySb:ScrollBar; 


    public function SearchResultContainer() 
    { 
     super(); 

     } 
    public function get selectedVideoID():String{ 
     return newVideoID; 
    } 

    public function createContainer(_x:Number,_y:Number, videoResult:Array):void{ 



    cont=new videoCont(); 
    cont.x=_x; 
    cont.y=_y; 
    addChild(cont); 

    contMask = new Sprite(); 
    contMask.x = cont.x; 
    contMask.y = cont.y; 
    createMask(contMask,0x000000,452,88); 

    addChild(contMask);  
    cont.mask = contMask; 


    mySb = new ScrollBar(); 
      mySb.x = cont.x; //+ cont.width; 
      mySb.y = cont.y; 
      mySb.height = contMask.height; 
      mySb.enabled = true; 
      addChild(mySb); //problem code here... 




    } 


    private function createMask(inSrc:*,inColor:Number=0x999999,inW:Number=80,inH:Number=50):void{ 
     var rect:Shape=new Shape(); 
     rect.graphics.clear(); 
     rect.graphics.beginFill(inColor); 
     rect.graphics.drawRect(0,0,inW,inH); 
     rect.graphics.endFill(); 
     inSrc.addChild(rect); 
    } 



} 

}

Je suis dans l'environnement Flex ....

+0

Un peu plus de contexte pourrait aider. Où courez-vous cela? Et quand dans le cycle de vie? – Robusto

+0

Il ne semble pas que vous utilisiez le framework Flex car votre code étend Sprite. Quelle ligne spécifique a jeté l'erreur? – JeffryHouser

+0

addChild (mySb); // code du problème ici ... J'utilise flex pour écrire mon AS3 et exécuter le projet .... – FlyingCat

Répondre

1

Essayez d'ajouter un point d'arrêt avant que le problème se produise et vérifiez la valeur mySb, il semble que c'est probablement nul, si ce n'est pas vous devrez chercher nu ll valeurs soit dans les objets DisplayObjects que vous utilisez ou les propriétés que vous leur attribuez ... si elle est nulle, peut-être vous devez définir plus de propriétés à votre instance ScrollBar avant de l'ajouter à la liste d'affichage ...

0

Dans mon cas, je l'ai résolu en ajoutant le composant à la bibliothèque de films, mais en travaillant dans l'environnement Flash CS5.5.

Questions connexes