错误#1063:参数计数不匹配-AS3

时间:2018-09-25 12:52:46

标签: actionscript-3 jquery-animate adobe

我想制作一个非常简单的动画,但被这些错误所困扰

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);
}

非常感谢 格雷厄姆

1 个答案:

答案 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函数定义为不接受任何参数,因此会收到错误消息,提示存在意外的参数。 (与“停止”功能相同)。

要解决此问题,您可以执行以下两项操作之一:

  1. 向该函数添加一个MouseEvent参数:

    MouseEvent
  2. 添加一个MouseEvent参数,但将其设为可选

    function Play(event:MouseEvent){
    

第二个选项,意味着您仍然可以简单地调用function Play(event:MouseEvent = null){ 而不传递参数。