Форум 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)
-   -   Как перенести на задний фон анимацию из внешнего AS? (http://www.flasher.ru/forum/showthread.php?t=161730)

shadowrun 27.07.2011 10:58

Как перенести на задний фон анимацию из внешнего AS?
 
Вложений: 1
Имеется анимация флажка взятая отсюда
http://www.silin.su/#AS2/flag
в самом fla исходнике есть только 1 кадр с экшенскриптом такого содержания, ну и картинка в библиотеке.
Код:

#include "example.as"
При попытке добавить какое либо содержимое на мувик - анимация этого флага отображается ВСЕГДА сверху.
Перетаскивание слоев не помогает.

Подскажите пожалуйста как можно анимацию флага из внешнего AS запихнуть под слой?

Исходник в атаче.

dark256 27.07.2011 11:54

читайте про swapDepths()

shadowrun 27.07.2011 12:19

почитал - не понял(
там про порядок наложения разных мувиклипов

Но...
example.as - это же не мувиклип(

Добавлено через 43 минуты
насколько понял - копаться нужно гдето здесь..

помогите пожалуйста

Код AS1/AS2:

class com.silin.InstanceManager {
        /**
        * ставит экземпляр в цепочку наследования и вызывает конструктор
        * @param        customClass :класс
        * @param        obj                :экземпляр
        * @param        argArr                :массив аргументов конструктора класса
        */

        static function setClass(customClass:Function, obj:Object, argArr:Array){
                obj.__proto__ = customClass.prototype;
                customClass.apply(obj, argArr||null);
        }
        /**
        * создает мувик в parent, если надо то и пользовательского класса
        * @param        [parent=_root]                - где создаем
        * @param        [customClass=null]        - расширяющий класс
        * @param        [argList=null]                - аргумены конструктора customClass (перечислением)
        * @return  мувик(или его наследник customClass)
        *
        */

        static function createMC(parent:MovieClip, customClass:Function, argList) {
                if(parent==undefined) parent=_level0;
                var depth:Number=getFreeDepth(parent);
                var name:String='clip'+depth;
                var mc:MovieClip=parent.createEmptyMovieClip(name,depth);
                if(customClass!=undefined){
                        setClass(customClass,mc,arguments.slice(2));
                }
                return mc;
    }
 
 
        //стандартные установки для Stage
        static function defaultStage():Void{
                Stage.showMenu=false;
                Stage.scaleMode="noScale";
                Stage.align="TL";
        }
        /**
        * создает текстфилд в parent, если задано то и пользовательского класса
        * @param        parent                : где создаем
        * @param        text                : текст
        * @param        format                : строка с описанием формата типа "font:Arial,size:16,.."
        * @param          customClass        : расширяющий класс
        * @param          argList                : аргумены конструктора customClass (перечислением)
        * @return  текстфилд(или его наследник customClass)
        */

        static function createTF(parent:MovieClip, text:String, format:String, customClass:Function, argList){
                if(parent==undefined) parent = _level0;
                var depth:Number=getFreeDepth(parent);
                var name:String = "tf"+depth;
                var tf:TextField = parent.createTextField(name,depth,0,0,0,0);
                tf.autoSize=true;
                if(format){
                        var fmt:TextFormat=new TextFormat();
                        var arr:Array=format.split(",");
                        for (var i:Number = 0; i < arr.length; i++){
                                var item:Array=arr[i].split(":");
                                var prop:String=item[0].split(" ").join("");
                                var val:String=item[1].split("#").join("0x");
                                fmt[prop]=val;
                        }
                        tf.setNewTextFormat(fmt);
 
                }
                tf.text=text || "";
                if(customClass!=undefined){
                        setClass(customClass,tf,arguments.slice(4));
                }
                return tf;
        }
        //удаляет мувик или текстфилд невзирая на глубину
        static function removeInstance(obj:Object){
                var objDepth:Number=obj.getDepth();
                if(objDepth==undefined) return;
                if(objDepth<0 || objDepth>0xFFFFF){
                        var legalDepth:Number=getFreeDepth(obj._parent);
                        _root.swapDepths.call(obj,legalDepth);
                }
                obj.removeMovieClip();
                obj.removeTextField();
        }
        //первая свободная глубина в parent
        static function getFreeDepth(parent:MovieClip):Number{
                var depth:Number=0;
                while(parent.getInstanceAtDepth(depth))depth++;
                return depth;
        }
 
 
}


dark256 27.07.2011 17:35

Цитата:

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


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

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