2012-02-24 2 views
0

lorsque vous appuyez sur un bouton que l'erreur est dans l'onglet SortieCette erreur apparaît dans l'onglet ther OUTPUT lorsque runnig et en appuyant sur un bouton: TypeError: Erreur # 1006: removeListeners n'est pas une fonction

le fichier est en le lien

Error #1006.rar

Voici le code de navigation_actions où sont les codes de la barre de navigation (les boutons)

var buttonArray:Array = new Array(); 
var currentButton:Object = new Object; 

var navContainer:Sprite=new Sprite ; 
addChild(navContainer); 

var navArray:Array=["من نحن","المحتوى","المراجع","التواصل", "خريطة الموقع"]; 

for (var i:Number=0; i<5; i++) { 

var navItem:NavItem = new NavItem; 
navItem.x = navItem.width*i; 
navItem.nav_name.text = navArray[i]; 
buttonArray.push(navItem); 
navItem.addListeners(); 
navContainer.addChild(navItem); 

navItem.name = String(i); 

navItem.addEventListener(MouseEvent.CLICK, onNavClick); 
} 

function onNavClick(evt:MouseEvent):void { 

currentButton.y = 0; 
currentButton.addListeners(); 
currentButton.addEventListener(MouseEvent.CLICK, onNavClick); 

currentButton = evt.target; 
currentButton.removeListeners(); 
currentButton.removeEventListener(MouseEvent.CLICK, onNavClick); 

} 

initialNavigation(); 

function initialNavigation():void { 

buttonArray[0].y = -10; 
currentButton = buttonArray[0]; 
currentButton.removeListeners(); 
currentButton.removeEventListener(MouseEvent.CLICK, onNavClick); 
} 

var navSide:NavSide = new NavSide; 
navSide.x = navContainer.width; 
navSide.width = stage.stageWidth - navContainer.width; 
navSide.alpha = 0.7; 
navContainer.addChild(navSide); 

navContainer.y = stage.stageHeight-67; } 

et ce sont les actions navItem (les boutons il auto)

import com.greensock.TweenLite; 

nav_name.autoSize=TextFieldAutoSize.LEFT; 
nav_name.selectable=false; 

nav_name.x=170-nav_name.width+25; 


function onOver(evt:MouseEvent):void { 

TweenLite.to(this, 0.4, { y:-10}); 
} 

function onOut(evt:MouseEvent):void { 

TweenLite.to(this, 0.4, { y:0}); 
} 

function addListeners():void { 

this.addEventListener(MouseEvent.ROLL_OVER, onOver); 
this.addEventListener(MouseEvent.ROLL_OUT, onOut); 
} 

function removeListeners():void { 

this.removeEventListener(MouseEvent.ROLL_OVER, onOver); 
this.removeEventListener(MouseEvent.ROLL_OUT, onOut); 

} 
+0

Cela ressemble à une erreur assez directe. Cependant, pour que certains d'entre nous puissent vous aider, vous devez fournir la source ** dans la question **. C'est le milieu de la journée de travail pour certains d'entre nous, et les sites tels que les médias sont bloqués. –

+0

@SamDeHaan alors comment puis-je poster un code? !! – aymanzzz

+0

Ajoutez le code à la question. Copier coller. –

Répondre

0

J'ai téléchargé votre dossier et de ce que je peux vous dire d'ajouter un écouteur à votre instance NavItem mais l'événement lui-même vient de son enfant. C'est pourquoi event.target n'est pas égal à un NavItem.

Soit utiliser event.currentTarget soit ajouter navItem.mouseChildren = false; pour que les enfants de NavItem n'obtiennent pas de clics.

La prochaine fois, veuillez entrer le code postal.

+0

thnx cela a fonctionné btw je suis désolé mais je suis nouveau sur ce site alors je ne savais pas comment coller un code – aymanzzz

Questions connexes