Ошибка компилятора AS3 1083: проблема с синтаксисом else - PullRequest
0 голосов
/ 28 октября 2009

Я создаю простой щелчок и прокручиваю для будущего меню для моего личного сайта. У меня есть ящик, я назвал его thing_mc, и у меня есть 3 позиции для него. У меня есть следующий и пред. кнопка, которая будет контролировать положение thing_mc. Я использую TweenLite для анимации thing_mc, если это имеет значение.

Я получаю ошибку 1083 (... еще неожиданно) и (... rightparen неожиданно).

Может кто-нибудь сказать мне, почему и как я могу решить эту проблему?

Спасибо

    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;

Ответы [ 4 ]

3 голосов
/ 28 октября 2009

Я не AS эксперт, но точка с запятой после if(thing_mc.x == 400); и if(thing_mc.x == -100); кажется странной. Лучше бы читать if(thing_mc.x == 400) и if(thing_mc.x == -100) Я бы сказал.

0 голосов
/ 29 октября 2009

Wats происходит, парсер видит if (cond);

в качестве if (cond) / пустое выражение /; // точка с запятой заканчивается пустым оператором

(и остальное, если /.../, конечно, не содержало условного выражения в скобках, если if requiress).

Я часто видел эту ошибку, связанную с точкой с запятой. Это может быть потому, что точки с запятой необязательны в некоторых случаях в as3.

0 голосов
/ 28 октября 2009
function nextListener(event:MouseEvent):void
{
    if(thing_mc.x == 400);
    {

Не используйте ; после скобок if ; -)

0 голосов
/ 28 октября 2009
else if //// i get error 1083 here (...else is unexpected)

У вас есть несколько вариантов здесь. Вы можете использовать второе условие, если хотите использовать else if, т.е.

else if (someCondition) { ...

или используйте просто else

else { ...

или используйте другой if

if { ...

Все зависит от того, чего вы хотите достичь.

Из того, что я вижу, второй вариант (обычный else) выглядит так, как вы хотите.

...