错误函数场景 Adobe Animate 语法错误
Posted
技术标签:
【中文标题】错误函数场景 Adobe 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
的影片剪辑。以上是关于错误函数场景 Adobe Animate 语法错误的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Adobe Animate 中悬停时反向播放动画?
For 循环无法在 Adobe Animate CC 中创建多个矩形
AS3 如何将 adMob 添加到 Adobe Flash/Animate?
想要一个 Adobe Animate CC 横幅广告循环 2 次