0

私はプログラミングが初めてなので、これを行う方法を皆さんに尋ねたかったのですが、これを行う方法をまだ理解しようとしています。

私は空気でアプリを構築しており、スイッチケース付きのボタンがいくつかあります。

今、私のボタンはすべてムービークリップ ボタンなので、クリックするとクリックした画像に移動し、アップ画像に戻ります。

加えて、より速く増加する長押し機能が必要ないくつかのボタン。

私はここで何らかの意味を成していることを願っています


ここに私のプラスとマイナスのボタンのいくつかがあります

    master.pages.numPlayers.minusBtn1.addEventListener(MouseEvent.CLICK, incrementAmount);
    master.pages.numPlayers.plusBtn1.addEventListener(MouseEvent.CLICK, incrementAmount);
    master.pages.numBuyIns.minusBtn2.addEventListener(MouseEvent.CLICK, incrementAmount);
    master.pages.numBuyIns.plusBtn2.addEventListener(MouseEvent.CLICK, incrementAmount);
    master.pages.numPayouts.minusBtn3.addEventListener(MouseEvent.CLICK, incrementAmount);
    master.pages.numPayouts.plusBtn3.addEventListener(MouseEvent.CLICK, incrementAmount);

これは私のスイッチ ケースの関数ハンドラです。これらのボタンには、長押しでインクリメントが速くなる 2 種類の動作と、通常のクリックで 1 つずつインクリメントされる 2 種類の動作が必要です。

private function incrementAmount(event:MouseEvent):void {
    switch (event.currentTarget.name) {
        // number of players
        case  "minusBtn1" :
            if (numPlayers >= 3) {
                numPlayers--;
                firstBuild();
                trace("minus");
            }
            break;

        case  "plusBtn1" :
               numPlayers++;
               firstBuild();
               trace("plus");
            break;

        // number of buy ins money
        case  "minusBtn2" :
            if (numBuyIns >= 1) {
                numBuyIns--;
                firstBuild();
                trace("minus");
            }
            break;

        case  "plusBtn2" :
               numBuyIns++;
               firstBuild();
               trace("plus");
            break;

        // number of payouts
        case  "minusBtn3" :
            if (numPayouts >= 2) {
                numPayouts--;
                firstBuild();
                trace("minus");
            }
            break;

        case  "plusBtn3" :
               numPayouts++;
               firstBuild();
               trace("plus");
            break;

    }
}

通常のクリック動作を持つその他のボタン

private function onClickTab(event:MouseEvent):void {
    switch (event.currentTarget.name) {
        case  "chips" :
            master.pages.x = 20;
            break;

        case  "payout"  :
            master.pages.x = -704;
            break;

        case  "timer" :
            master.pages.x = -1457;
            break;
    }
}
4

1 に答える 1

0
public class PlusButton extends Button
{
    private var m_blnSpedUp:Boolean = false;
    private var m_tmr:Timer = new Timer(1500, 1); // use whatever number of
                                                  // milliseconds you prefer here

    public function PlusButton()
    {
        addEventListener(MouseEvent.DOWN, onDown);
        addEventListener(MouseEvent.UP, onUp);
    }

    private function onDown(pEvent:MouseEvent):void
    {
        // increment here
        if (!m_blnSpedUp)
        {
            // start the timer here
        }
    }

    private function onUp(pEvent:MouseEvent):void
    {
        // stop the timer here
    }

    private function tick(pEvent:TimerEvent):void
    {
        m_blnSpedUp = true;
        // speed up here
    }
}

私があなたの質問を正しく理解していれば、これであなたが始められることを願っています。これを出発点として使用してみてください。

于 2013-05-24T18:14:10.103 に答える