错误函数场景 Adob​​e Animate 语法错误

Posted

技术标签:

【中文标题】错误函数场景 Adob​​e Animate 语法错误【英文标题】:Error Function Scene Adobe Animate Syntax Error 【发布时间】:2020-10-04 11:11:19 【问题描述】:

我尝试使用 adobe animate 2019 进行测验。有一些错误:

场景 15,“动作”层,第 1 帧,第 68 行,第 7 列 1083:语法 错误:否则是意外的。 场景 15,“动作”层,第 1 帧,第 63 行,第 47 列 1084:语法错误:需要在右括号前使用分号。场景 15,图层 'Actions',第 1 帧,第 62 行,第 53 列 1084:语法错误:期待 逻辑与之前的标识符。

这是我的代码:

import flash.events.MouseEvent;

//melakukan inisialisasi posisi awal dari object
//fungsi ini dibuat terutama untuk keperluan "me-reset posisi object"
function inisialisasi_posisi():void //
      benar_mc.visible = false;
      salah_mc.visible = false;

    //posisi ayah
    ayah_mc.x = posisiawal_ayah_mc.x;
    ayah_mc.y = posisiawal_ayah_mc.y;

    //posisi kakak
    kakak_mc.x = posisiawal_kakak_mc.x;
    kakak_mc.y = posisiawal_kakak_mc.y;

    //posisi ibu
    ibu_mc.x = posisiawal_ibu_mc.x;
    ibu_mc.y = posisiawal_ibu_mc.y;

    //posisi adik
    adik_mc.x = posisiawal_adik_mc.x;
    adik_mc.y = posisiawal_adik_mc.y;

 //

inisialisasi_posisi();

//DRAG & DROP OBJECT
function dragdrop(object_mc:MovieClip):void

      object_mc.addEventListener(MouseEvent.MOUSE_DOWN, startdrag);
      object_mc.addEventListener(MouseEvent.MOUSE_UP, stopdrag);


function startdrag(e:MouseEvent):void

      e.currentTarget.startDrag();

function stopdrag(e:MouseEvent):void

      e.currentTarget.stopDrag();


//set dragdrop
dragdrop(ayah_mc);
dragdrop(kakak_mc);
dragdrop(ibu_mc);
dragdrop(adik_mc);

//result
test_btn.addEventListener(MouseEvent.CLICK, test);

function test(e:MouseEvent):void

      //jika semua object berada pada tempat yang benar
      if(ayah_mc.hitTestObject(ayahTarget_mc)== true &&
         kakak_mc.hitTestObject(kakakTarget_mc)== true &&
         ibu_mc.hitTestObject(ibuTarget_mc)== true) &&
         adik_mc.hitTestObject(adikTarget_mc)== true) ;
      
            benar_mc.visible = true;
            salah_mc.visible = false;
      
      else
      
            benar_mc.visible = false;
            salah_mc.visible = true;
      


//reset object ke posisi awal
reset_btn.addEventListener(MouseEvent.CLICK, reset);

function reset(e:MouseEvent):void

      inisialisasi_posisi();


/* Click to Go to Scene and Play
Clicking on the specified symbol instance plays the movie from the specified scene and frame.

Instructions:
1. Replace "Scene 3" with the name of the scene you would like play.
2. Replace 1 with the frame number you would like the movie to play from in the specified scene.
*/

button_nextquiz1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene_16);

function fl_ClickToGoToScene_16(event:MouseEvent):void

    MovieClip(this.root).gotoAndPlay(1, "Scene 16");


/* Click to Go to Previous Scene and Play
Clicking on the specified symbol instance moves the playhead to the previous scene in the timeline and continues playback in that scene.
*/

button_previousquiz1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToPreviousScene_17);

function fl_ClickToGoToPreviousScene_17(event:MouseEvent):void

    MovieClip(this.root).prevScene();


stop();

非常感谢!

【问题讨论】:

在巨大的 if (...) 块之后有一个分号 ;。删除它。 我删除了分号,但仍然有同样的问题。 - 场景 15,图层“动作”,第 1 帧,第 65 行,第 7 列 1083:语法错误:否则是意外的。 - 场景 15,图层“动作”,第 1 帧,第 60 行,第 53 列 1084:语法错误:在右括号前需要分号。 - 场景 15,图层“动作”,第 1 帧,第 59 行,第 53 列 1084:语法错误:在逻辑与之前需要标识符。 当您对代码进行一些更改时,请编辑您的问题以反映更改。 【参考方案1】:

您的test 函数内的if 条件中有一个额外的括号和一个额外的分号。将其更改为:

function test(e:MouseEvent):void

      //jika semua object berada pada tempat yang benar
      if(ayah_mc.hitTestObject(ayahTarget_mc) == true &&
         kakak_mc.hitTestObject(kakakTarget_mc) == true &&
         ibu_mc.hitTestObject(ibuTarget_mc) == true &&
         adik_mc.hitTestObject(adikTarget_mc) == true)
      
            benar_mc.visible = true;
            salah_mc.visible = false;
      
      else
      
            benar_mc.visible = false;
            salah_mc.visible = true;
      

【讨论】:

感谢您回答我的问题,但我收到了新错误:场景 15,图层“动作”,第 1 帧,第 22 行,第 17 列 1120:访问未定义的属性 posisiawal_adik_mc。和此错误场景 15,图层“操作”,第 1 帧,第 23 行,第 17 列 1120:未定义属性 posisiawal_adik_mc 的访问。 听起来您正在尝试引用不存在的影片剪辑。检查第 1 帧的舞台,看看是否有实例名称为 posisiawal_adik_mc 的影片剪辑。

以上是关于错误函数场景 Adob​​e Animate 语法错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Adob​​e Animate 中悬停时反向播放动画?

For 循环无法在 Adob​​e Animate CC 中创建多个矩形

AS3 如何将 adMob 添加到 Adob​​e Flash/Animate?

想要一个 Adob​​e Animate CC 横幅广告循环 2 次

如果我不断循环播放 Adob​​e Animate (Flash) 视频,会导致内存问题吗?

舞台上的 Adob​​e Animate CC Canvas 鼠标动作滞后且断断续续