Просмотр полной версии : вопрос для програмистов
spayeler
29.08.2002, 13:35
есть мувик а1 и точка А на этом мувике
надо при нажатии на т.А увеличить м. а1 и сместить т.А в центр т.е. надо сделать обычный zoom
LostWarrior
29.08.2002, 13:41
Я не понимаю в чем проблема? Скалиш мувик, точке А присваеваеш координаты середины: _x=width/2; _y=height/2;
Или я опять что-то не так понял?
spayeler
29.08.2002, 13:47
пробовал, не работает вернее работает только при первом клике, а потом начинает глючить
2LostWarrior:
наверное он не программист, потому и задает вопросы для программистов!!!
2spayeler:
используй _xscale & _yscale для зума!!!
LostWarrior
29.08.2002, 13:53
выложи исходник. Непонятно где вообще может глючить...
spayeler
29.08.2002, 13:56
да использую я xscale&yscale
on (release) {
setProperty ("_root.okno.foto", _xscale, 100*i);
setProperty ("_root.okno.foto", _yscale, 100*i);
xfoto = _root.okno.foto._x;
yfoto = _root.okno.foto._y;
_root.okno.foto._x = xfoto-_root.okno._xmouse*2;
_root.okno.foto._y = yfoto-_root.okno._ymouse*2;
i+=2;
}
только это не работает после первого клика
LostWarrior
29.08.2002, 14:09
Ты его каждый раз скалиш все сильнее. Может в этом ошибка?
spayeler
29.08.2002, 14:13
2JeeP: i изначально =2 по этому нет разници
вот исходник
spayeler
29.08.2002, 14:23
2JeeP: i изначально =2 по этому нет разници
исходник сейчас выложить не могу много весит, уменьшу выложу
spayeler
29.08.2002, 14:29
2LostWarrior:
ошибка не в скале, а в расчете координат, только не могу понять где, смещение получается не точное и с каждім кликом погрешность все больше
LostWarrior
29.08.2002, 14:37
Сравни локальные и глобальные координаты. Или переводи все localToGlobal...
spayeler
29.08.2002, 15:05
вот исходник zoom (http://fenix.com.ua/my/zoom.zip)
CenterX и CenterY = координаты центра в руте.
ClickX и ClickY = куда пользователь ткнул в мувике в координатах мувика.
MC - мувиклип.
MC._xscale *=1.5;
MC._yscale *=1.5;
Compensate = new Object();
Compensate.x = ClickX;
Compensate.y = ClickY;
MC.localToGlobal(Compensate);
Compensate.x -= CenterX;
Compensate.y -= CenterY;
MC._X -= Compensate.X;
MC._Y -= Compensate.Y;
должно работать, у меня рабоатет так:
(скрипт на кнопке в скалируемом мувике)
on (press) {
this._xscale *=1.5;
this._yscale *=1.5;
Compensate = new Object();
Compensate.x = _xmouse;
Compensate.y = _ymouse;
this.localToGlobal(Compensate);
Compensate.x -= 100;
Compensate.y -= 100;
this._X -= Compensate.X;
this._Y -= Compensate.Y;
}
spayeler
29.08.2002, 17:42
2C2Plus:
у меня не работает, можно исходник?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.