我想制作一个非常简单的动画,但被这些错误所困扰
ArgumentError: Error #1063: Argument count mismatch on ReverseCirculation_Complete_Graham_1_ActionScript3_fla::MainTimeline/Play(). Expected 0, got 1.
这个想法是动画将被暂停,然后单击“播放”按钮以开始播放动画,然后单击“下一步”预览继续的动画。
我的代码如下:
//imports needed
stop();
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.Stage;
Play_btn.addEventListener(MouseEvent.CLICK,Play);
Stop_btn.addEventListener(MouseEvent.CLICK,Stop);
Next_btn.addEventListener(MouseEvent.CLICK,Next);
function Play()
{
blue1_mc.play();
red_mc.play();
green_mc.play();
}
function Stop()
{
blue1_mc.stop();
red_mc.stop();
green_mc.stop();
}
function Next(event:MouseEvent):void
{
gotoAndStop(2);
}
非常感谢 格雷厄姆
答案 0 :(得分:2)
在AS3中,当您定义如下函数时:
Dim i As Integer
For k As Integer = 0 To Data1.ColumnCount - 4
For j = 0 to Data1.Rows.Count - 2
Data1.Rows(j).Cells(2).Value = Data1.Rows(j).Cells(0).Value * _
Data1.Rows(j).Cells(1).Value
For i = 0 To EOF()
i = i + 1
Data1.Rows(j).Cells(3).Value = Data1.Rows(j).Cells(0).Value *_
Data1.Rows(k+i).Cells(1).Value + Data1.Rows(j).Cells(2).Value
Next i
Next j
Next k
您告诉它此函数没有参数/参数。与类似的基于ECMAScript的类似语言(例如JavaScript)不同,如果您最终传递了一个参数(例如执行function Play()
),则会引发错误。
设置事件处理程序时,就像在这里一样:
Play("Hello")
该事件在被触发时调用指定的函数Play_btn.addEventListener(MouseEvent.CLICK,Play);
-并将其传递给描述事件的Play
对象(例如单击的对象,鼠标的位置等)
由于已将Play函数定义为不接受任何参数,因此会收到错误消息,提示存在意外的参数。 (与“停止”功能相同)。
要解决此问题,您可以执行以下两项操作之一:
向该函数添加一个MouseEvent参数:
MouseEvent
添加一个MouseEvent参数,但将其设为可选:
function Play(event:MouseEvent){
第二个选项,意味着您仍然可以简单地调用function Play(event:MouseEvent = null){
而不传递参数。