Легко ли адаптировать ActionScript, чтобы вы могли получить несколько сальто? - PullRequest
0 голосов
/ 22 марта 2012

немного схематично, как реализовать это во Flash.Легко ли адаптировать ActionScript так, чтобы вы могли получить несколько переворотов? , т. Е. Чтобы можно было перевернуть карту несколько раз и каждый раз получать другое изображение?

Вот кодДважды переверните и реализуйте это.теперь я планирую продвинуться немного вперед, чтобы реализовать несколько раз переворачивание карты.

package
{
    import flash.display.*;
    import flash.text.*;
    import flash.events.*;

    import com.greensock.TimelineLite;
    import com.greensock.TweenLite;
    import com.greensock.easing.*;

    public class Main extends MovieClip
    {
        public function Main()
        {
            addEventListener(Event.ADDED_TO_STAGE,init);
        }

        private function init(evt:Event=null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE,init);

            setClip();
        }

        private function setClip():void
        {
            clip_mc.z=300;
            clip_mc.getChildAt(0).visible=false;
            clip_mc.getChildAt(0).rotationY=180;
            clip_mc.mouseChildren=false;
            clip_mc.buttonMode=true;
            clip_mc.addEventListener(MouseEvent.MOUSE_DOWN,onClipDown);
        }

        private function onClipDown(evt:MouseEvent)
        {
            evt.target.mouseEnabled=false;

            var arrive:Number;
            if(clip_mc.rotationY > 89)
                arrive=0;
            else
                arrive=180;

            var my_tween=new TimelineLite();
            my_tween.insert(TweenLite.to(clip_mc,0.5,{z:200,ease:Back.easeOut }));
            my_tween.insert(TweenLite.to(clip_mc,1.5,{rotationY:arrive,ease:Strong.easeInOut,onUpdate:setClipSide,onUpdateParams:[clip_mc]}));
            my_tween.insert(TweenLite.to(clip_mc,0.5,{z:300,ease:Back.easeIn,onComplete:done}),0.75);
        }

        private function setClipSide(clip_mc)
        {
            if(clip_mc.rotationY > 89)
            {
                clip_mc.getChildAt(1).visible=false;
                clip_mc.getChildAt(0).visible=true;
            }
            else
            {
                clip_mc.getChildAt(0).visible=false;
                clip_mc.getChildAt(1).visible=true;
            }
        }

        private function done():void
        {
            clip_mc.mouseEnabled=true;
        }
    }
}

1 Ответ

0 голосов
/ 22 марта 2012

да, это тихо, возможно, вы почти там, способ организации сальто, вы можете продолжать повторять эту структуру

   private function setClipSide(clip_mc)
    {
        if(clip_mc.rotationY > 89 && clip_mc.rotationY<280) // i added
        {
            clip_mc.getChildAt(1).visible=false;
            clip_mc.getChildAt(0).visible=true;
        }
        else
        {
            clip_mc.getChildAt(0).visible=false;
            clip_mc.getChildAt(1).visible=true;
        }
    }

То, что вы захотите сделать, это заменить эти строки ниже переменными или функциямиили формула

            clip_mc.getChildAt(1).visible=false;// here you have only limited yourself
            clip_mc.getChildAt(0).visible=true;//

Так что в этой области вы можете либо добавить функцию для случайного генерирования значения карты, либо из переменной, либо просто сделать RNG из общей длины вашего массива [] - 1, еслиВот как хранятся ваши изображения или значения.

Вот пример игрового автомата, который я сделал, как все мувиклипы добавляются на их место в зависимости от моего генератора чисел, за исключением того, что мой RNG - это PHP, а затем передается вflash http://www.gamezslave.net/game/Slots.html дайте мне знать, как вы идете.

...