Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Превращение фигур и их движение (http://www.flasher.ru/forum/showthread.php?t=203211)

Bugert 06.09.2013 23:55

Превращение фигур и их движение
 
Есть такой код:

Код AS3:

package 
{
import flash.display.*;
import flash.events.*;
import fl.controls.*
 
 
public class Main extends Sprite //объявляем основной класс
        {
                public var moveObject1: MyCirc;
                public var moveObject2: MyRect;
                public var myButton1: Button;
                public var btnPause: Button;
                private var pauseFlag: Boolean = true;
                private var currentForm: Sprite;
 
                public function Main():void
                {
                        moveObject1 = new MyCirc(stage);
                        moveObject2 = new MyRect(stage);
 
                        myButton1 = new Button();
                        btnPause = new Button();
 
                        addChild(myButton1);
                        myButton1.label = "Change";
                        myButton1.move(260, 125);
 
                        addChild(btnPause);
                        btnPause.label = "On";
                        btnPause.move(205, 100);
 
                        currentForm = moveObject1;
                        addChild(moveObject1);
                        currentForm.x = stage.stageWidth / 2;
                        currentForm.y = stage.stageHeight / 2;
                        moveObject2.x = stage.stageWidth / 2;
                        moveObject2.y = stage.stageHeight / 2;
 
                        myButton1.addEventListener(MouseEvent.CLICK, replaceObj);
                        btnPause.addEventListener(MouseEvent.CLICK, onBtPause);
                }
 
                //Определяем действия для кнопок основного класса Main:
 
                public function replaceObj(e:MouseEvent): void
                {
                        if (stage.contains(moveObject1))
                        {
                                removeChild(moveObject1);
                                addChild(moveObject2);
                                currentForm = moveObject2;
                        }
                        else if (stage.contains(moveObject2))
                        {
                                removeChild(moveObject2);
                                addChild(moveObject1);
                                currentForm = moveObject1;
                        }
                }
                ///////////////////////////////////////////////////
                public function onBtPause(e:MouseEvent):void
                {
                                if (pauseFlag)
                                {
                                        //если кнопка нажата
                                        (currentForm as PreObject).stopObj();
                                        pauseFlag = false; //сбрасываем флаг, тк отжали кнопку
                                        btnPause.label = "Off";
                                }
                                else
                                {
                                        (currentForm as PreObject).startObj();
                                        pauseFlag = true; //устанавливаем флаг, тк нажали кнопку
                                        btnPause.label = "On";
                                }
                }
                // ================================================================================ //
 
        }                       
}

Плюс ещё класс PreObject, описывающий фигуру и её положение в пространстве и включающий событие Enter_Frame. А также наследуемые классы MyCirc -- круг и MyRect -- квадрат. Одну фигуру можно превращать в другую, нажатием на кнопку. А также запускать и останавливать движение другой кнопкой. Но вот проблема...если я останавливаю движение круга и делаю превращение в квадрат, то на квадрат остановка движения не распространяется -- он двигается. И наоборот. А нужно, чтобы фигура стопарилась, а после превращения не нужно было стопарить и вторую фигуру. Как это сделать?


Часовой пояс GMT +4, время: 11:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.