Форум 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)
-   -   внешний mc allowscale, внутренний mc noscale (http://www.flasher.ru/forum/showthread.php?t=112638)

solo19770701 03.06.2008 22:01

внешний mc allowscale, внутренний mc noscale
 
всем доброго времени суток. Вопрос. Хочу сделать частично "резиновый ролик". Суть: сама флешка может маштабироваться в зависимости от размера окна, но часть внутреннеего содержимого остается жестко привязаное к определенному размеру. Понимаю что размер флешки можно котролировать через
Код:

fscommand("allowscale" , true); or false
но это контролирует весь ролик, а мне нужно что бы я мог решать какие mc разрешить scale а какие жестко привязать к размерам в обьемах одной сцены.:wacko:

iNils 03.06.2008 23:44

только ручками.
http://noregret.org/tutor/elastic/

solo19770701 03.06.2008 23:50

to iNils: спасибо. Пошел учить матчасть. :victory:

solo19770701 11.06.2008 19:39

to iNils: спасибо за линк. Посмотрел, почитал. И у меня возник другой вопрос. В примере маштабирование идет относительно сцены. А каким путем можно сделать маштабирование пропорциональным? К примеру в указаном уроке круг имеет такую привязку к сцене
Код:

circle._widthRatio = circle._width/resize_obj.normal_width;
circle._heightRatio = circle._height/resize_obj.normal_height;

что привязывает его к размерам сцены. Но у меня другая цель, сделать маштабирование круга пропорциональным в независимости от непропорционального маштабирования сцены, т.е ширина и высота круга привязаны только к одному параметру сцены (на выбор ширина или высота). Матемтически это выглядит так "newCircleHeight=(newCircleWidth/oldCircleWidth) * oldCircleHeight" Но как мат. формулу привязать к коду я незнаю. Есть какие нибудь идей. :confused:

Wolsh 11.06.2008 20:43

Вложений: 1
Вот примерчик

solo19770701 11.06.2008 20:55

to Wolsh. Оно, ей богу оно. СПАСИБО. Пошел ковырятся.

solo19770701 11.06.2008 23:13

to Wolsh & iNils: это как говрится я опять. Посмотрел. Все хороше. Но возник другой вопрос, как все это выровнять по центру. В мануале написано только L, R, T, B & LT etc. вобщем никакого упоминания о центер. Вопрос каким образом можно заставить обьект изменять размер от центра а не от углов?
Вот здесь, можно видеть как на данный момент все выглядит.
Код:

this.attachMovie("my_clip", "my_clip", this.getNextHighestDepth(), {_x:60, _y:40});

Stage.scaleMode = "noScale";
Stage.align = "TL";

Stage.addListener(this);
var sw:Number = Stage.width;

this.onResize = function()
{
        scale(my_clip, "w");
};

this.onResize();

function scale (mc:MovieClip, direct:String)
{
        if(direct == "w")
        {
                mc._xscale = mc._yscale = 100*Stage.width/sw;
        }
};

:rolleyes:

iNils 11.06.2008 23:18

Код:

Stage.align = "";

solo19770701 11.06.2008 23:26

to iNils: хай. Логически должно работать, я и сам этот метод пробовал. При увеличеннии клип уходит в правый нижний угол.

iNils 11.06.2008 23:30

Тогда "C" или любой другой символ.


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

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