简单动作脚本2.0单击4复选框

时间:2010-08-26 01:10:10

标签: actionscript selection

我有一个动作脚本2.0请求。

我有一个带7个复选框的flash电影。当用户选择了总共4个复选框时,flash影片将转到另一个帧。

我将包含名为mcCheckBox的影片剪辑中的所有复选框。

我只需要代码,一旦选中了四个复选框,就会转到新框架。

1 个答案:

答案 0 :(得分:0)

您需要创建一个计数器,每次单击一个复选框时,该计数器会递增,当计数器值为4时,转到下一帧。

你也可能必须保持一个盒子的数组已被检查,以防第二次点击取消选中该框,在这种情况下你会减少计数器。

编辑:

我不使用as2,所以我只能在as3中给你一个例子... 我添加了一个包含所有复选框名称的数组,以便过滤点击事件,如果您在复选框外单击,事件将被注册,但您不想继续使用代码

import flash.events.MouseEvent;

var counter:int;
var allNames:Array = ['cb1', 'cb2' , 'cb3' , 'cb4'];
var boxesList:Array = [];

stop();
addEventListener(MouseEvent.CLICK , clickHandler );

function clickHandler(event:MouseEvent):void
{
    var boxName:String = event.target.name;

    //make sure the target is one of the checkboxes
    if(allNames.indexOf(boxName ) != -1 )
        updateCounter(boxName);

}

function updateCounter(bName:String):void
{   
    var index:int = boxesList.indexOf(bName);
    if( index == -1 )
    {
        //add to the list of checked boxes
        boxesList.push(bName );

        //increment counter
        ++counter;

    }else{
        //remove from the list of check boxes
        boxesList.splice(index , 1 );

        //decrement counter
        --counter;
    }

    if(counter == 4 )
       gotoAndStop('nextFrame');

   trace( counter );
}