Форум 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=105320)

alexgod 12.12.2007 23:33

Резиновый баннер
 
Здравствуйте, всем!
Столкнулся с небольшой проблемкой.
Сделал резиновый баннер, но мне нужно , чтобы 4 клипа выравнивались по центру (этого я достиг), плюс было равно, при растяжении расстояние между этими клипами

Прошу помочь

udaaff 13.12.2007 02:47

Stage.onResize() в помощь

olexandr 13.12.2007 03:35

математика-математика... )))
можешь выложить исходник
если утром будет мало работы и никто не поможет до этого времени, то напишу тебе код

wvxvw 13.12.2007 05:15

Код:

var _clips:Array = [];
function distributeX():Void {
        var i:Number = arguments.length;
        arguments.sort(sortByX);
        var nl:Number = arguments[0]._x+arguments[0]._width;
        var ml:Number = arguments[arguments.length-1]._x-nl;
        while(i){
                i--;
                ml-=arguments[i]._width;
        }
        var ll:Number = ml/arguments.length;
        while(i<arguments.length){
                arguments[i]._x = arguments[i-1]._x+arguments[i-1]._width+ll;
                i++;
        }
}
function rct(mc:MovieClip,w:Number,h:Number,c:Number,a:Number):MovieClip{
        var _mc:MovieClip = mc.createEmptyMovieClip("rct"+mc.getNextHighestDepth(),mc.getNextHighestDepth());
        _mc.beginFill(c,a);
        _mc.moveTo(0,0);
        _mc.lineTo(w,0);
        _mc.lineTo(w,h);
        _mc.lineTo(0,h);
        _mc.lineTo(0,0);
        _mc.endFill();
        return _mc;
}
function createClips():Array {
        var i:Number=5+Math.floor(Math.random()*10);
        var r_arr:Array = [];
        while(i){
                var _mc:MovieClip = rct(this,20+Math.random()*50,20+Math.random()*50,Math.random()*0xffffff,50+Math.random()*20);
                _mc._x = Math.random()*Stage.width;
                _mc._y = Stage.height/2-_mc._height/2;
                r_arr.push(_mc);
                i--;
        }
        return r_arr;
}
function sortByX(a:MovieClip,b:MovieClip):Number {
        var _a:Number = a._x;
        var _b:Number = b._x;
        if(_a>_b){
                return 1;
        } else if(_a==_b){
                return 0;
        } else {
                return -1;
        }
}
_clips = createClips();
distributeX.apply(this,_clips);

Ну, хотябы так %)


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

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