2009-10-28 21 views
0

Je crée un simple clic et défile pour un futur menu pour mon site personnel. J'ai une boîte, je l'ai appelée thing_mc, et j'ai 3 positions pour ça. J'ai un prochain et prev. bouton qui contrôlera la position de thing_mc. J'utilise TweenLite pour animer thing_mc, si cela fait une différence.Erreur de compilateur AS3 1083: problème avec la syntaxe d'autre

Je reçois une erreur 1083 (... else est inattendue) et (... rightparen est inattendu).

Quelqu'un peut-il me dire pourquoi et comment je peux résoudre ce problème?

Merci

import gs.TweenLite; 

next_mc.addEventListener(MouseEvent.CLICK, nextListener); 
prev_mc.addEventListener(MouseEvent.CLICK, prevListener); 

//prev_mc.visible = false; 

function nextListener(event:MouseEvent):void 
{ 
    if(thing_mc.x == 400); 
    { 
    TweenLite.to(thing_mc, .5, {x:50, y:50}); 
    } 
    else if //// i get error 1083 here (...else is unexpected) 
    { 
    TweenLite.to(thing_mc, .5, {x:-100, y:50}); //// i get error 1083 here (...rightparen is unexpected) 
    } 
} 

function prevListener(event:MouseEvent):void 
{ 
    if(thing_mc.x == -100); 
    { 
    TweenLite.to(thing_mc, .5, {x:400, y:50}); 
    } 
    else if //// i get error 1083 here (...else is unexpected) 
    { 
    TweenLite.to(thing_mc, .5, {x:500, y:50}); //// i get error 1083 here (...rightparen is unexpected) 
    } 
} 

next_mc.buttonMode = true; 
prev_mc.buttonMode = true; 

Répondre

0
else if //// i get error 1083 here (...else is unexpected) 

Vous avez quelques options ici. Vous pouvez utiliser une deuxième condition, si vous voulez utiliser else if-à-dire

else if (someCondition) { ... 

ou, utilisez simplement else

else { ... 

ou utiliser un autre if

if { ... 

Tout dépend de ce que vous voulez réaliser. De ce que je peux voir, la deuxième option (plaine else) ressemble à ce que vous voulez.

+0

Salut merci pour la réponse rapide. Je suis allé avec autre { qui a fonctionné! – DwayneG

3

Je ne suis pas AS expert, mais le point-virgule après if(thing_mc.x == 400); et if(thing_mc.x == -100); semble étrange. Devrait plutôt lire if(thing_mc.x == 400) et if(thing_mc.x == -100) je dirais.

+0

Hey merci pour la réponse rapide. J'ai enlevé ces points-virgules étranges et combiné avec l'aide ci-dessus, cela a fonctionné !! – DwayneG

+0

Donc s'il vous plaît marquer cette réponse comme "accepté" en cliquant sur la grosse coche à côté du numéro sur la gauche. – Glenn

0
function nextListener(event:MouseEvent):void 
{ 
    if(thing_mc.x == 400); 
    { 

Ne pas utiliser ; après si les supports ;-)

0

Wats passe est l'analyseur voit si (cond);

comme if (cond)/instruction vide /; // le point-virgule termine l'instruction vide

(et l'autre si/.../manquait bien sûr de l'expression conditionnelle entre parenthèses qui nécessite un if).

J'ai souvent vu cette erreur liée au point-virgule. Cela peut être dû au fait que les points-virgules sont facultatifs dans certains cas dans as3.