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

ease 09.12.2008 18:00

резиновый флеш. перемещение
 
Бьюсь третий день ни как не могу добиться - как сделать чтоб при изменении размера окна объекты плавно перемещались?
Помогите пожалуйста.. ни как сам дойти не могу:wacko:.

MrPoma 09.12.2008 18:18

http://noregret.org/tutor/elastic/

ease 09.12.2008 18:21

вопрос был не "как сделать резину" а как добиться плавного перемещения

DimZ 09.12.2008 19:09

плавное перемещение при изменение размера экрана, это возможно, но я вот не могу себе представить ситуацию когда это может понадобится.
вот отличная формула
Код AS1/AS2:

mc._x=x+(xp-x)*speed;

где x - это положение mc на оси X
xp - это координата куда должен попасть mc
speed скорость с которой должен он это сделать от 0 до 1

вам надо при изменение размера найти новые координаты и поставить их.

ease 09.12.2008 19:24

http://www.flashawards.ru -вот здесь скажем это очень пригодилось. и как скажем задать по точным координатам центр в резине?

DimZ 09.12.2008 19:28

Цитата:

Сообщение от ease (Сообщение 782618)
http://www.flashawards.ru -вот здесь скажем это очень пригодилось. и как скажем задать по точным координатам центр в резине?

но там же не плавное перемещение.
а центре сцены это
Код AS1/AS2:

x=Stage.width / 2;
y=Stage.height / 2;


ease 09.12.2008 19:35

ну да, с центрами это верно...:rolleyes:
а как же не плавное? если меняем размер окна, все содержимое не рывком, а плавно переходит на новые места. точнее старые, но пересчитанные.

opex 05.04.2009 17:11

Код AS1/AS2:

_root.createEmptyMovieClip("obj",this.getNextHighestDepth());
obj.lineStyle(100,0x000000,100);
obj.moveTo(0,0);
obj.lineTo(1,1);
 
var sx:Number = 0;
var sy:Number = 0;
 
 
Stage.scaleMode = "noScale";
Stage.align = "TL";
onResize = function () {
        Stage.width;
        Stage.height;
        sx = Stage.width/2;
        sy = Stage.height/2;
};
Stage.addListener(this);
onResize();
 
_root.onEnterFrame = function() {
        obj._x += (sx-obj._x)/5;
        obj._y += (sy-obj._Y)/5;
};



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

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