Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Соединение тени с изображением проверка результата. (http://www.flasher.ru/forum/showthread.php?t=195665)

gantik 11.03.2013 12:15

Соединение тени с изображением проверка результата.
 
Добрый день. У меня вот какой вопрос. В учебнике по AS2 , есть пример игры, где нужно соединить изображение трех мультяшек с их тенью, я хотела, попробовать сделать нечто подобное, только, когда на все тени перетянуть изображения, проигрывался ролик или оуществлялся переход на следующий кадр, я знаю как сделать это с помощью кнопки проверки, а возможно ли это сделать просто написанием кода в кадре?
Вот пример игры из учебника
Код AS1/AS2:

function dropToBase(clip:MovieClip, lockCenter:Boolean, initX, initY, base:MovieClip) {
clip.onPress = function() { // При нажатии...
// Делаем клип, по которому щелкнули курсором самым верхним в стопке
        this.swapDepths(this._parent.getNextHighestDepth());
// Сохраняем расстояние от курсора в момент нажатия до точки регистрации клипа
        var xDist = this._x - this._parent._xmouse;
        var yDist = this._y - this._parent._ymouse;
        this.onMouseMove = function() { // При перемещении курсора...
// Перетаскивание
                if(lockCenter){/* Если при перетаскивании курсор должен находиться в точке регистрации клипа... */
                this._x = this._parent._xmouse;
                this._y = this._parent._ymouse;
                }
                else {/* Если при перетаскивании курсор должен находиться в точке, где он был в момент нажатия на клип или, если параметр lockCenter не указан...*/
                this._x = this._parent._xmouse+xDist;
                this._y = this._parent._ymouse+yDist;
                }
                updateAfterEvent(); //Обновление экрана
        };
};
clip.onRelease = function() { // При отпускании кнопки мыши...
        /* Если клип "сброшен" в требуемую область (клип base),он центрируется по этой        области */
        if(base.hitTest(_root._xmouse, _root._ymouse, true)){
        this._x = base._x;
        this._y = base._y;
        }
        // Если клип "сброшен" мимо цели, возвращаем его в исходное положение
        else {
        this._x = initX;
        this._y = initY;
        }
        delete this.onMouseMove; // Прекращаем перетаскивание
};
}
var clipNum:Number = 4;
for (i = 1; i <= clipNum; i++) {
        dropToBase(this["mc" + i], false, this["mc" + i]._x, this["mc" + i]._y, this["base" + i]);
}

Если, кто-нибудь сможет подсказать, буду очень благодарна.

alex_195 11.03.2013 22:14

Задать переменную-счетчик и в onRelease при положительном результате добавлять к счетчику 1. Если счетчик = clipNum, то переход _root на следующий кадр.(Если я правильно понял).


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

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