![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
|
остановку мувика по пересечению со Stage сверху и слева вроде сделал, а справа и снизу все равно инерционно едет (((
Подскажите, как в моем случае отловить этот момент. Вот код и ФЛА в прицепе. function posing(obj, speed) {
speedX = Math.round(obj._width/2-_xmouse)-Math.round(obj._x+obj._width/2);
speedY = Math.round(obj._height/2-_ymouse)-Math.round(obj._y+obj._height/2);
obj._x = obj._x+speedX/speed;
obj._y = obj._y+speedY/speed;
}
my_mc.onEnterFrame = function() {
posing(this, 10);
};
Stage.align = "LT";
Stage.scaleMode = "noScale";
Последний раз редактировалось Что такое хорошо?; 28.07.2007 в 20:29. |
|
|||||
|
Modus ponens
|
Ээээ... а что должно происходить? и зачем нужна reposition(), нельзя что ли сразу мувик в нужные координаты поставить? Он же все равно на сцене лежит...
Если я думаю в нужном направлении, и нужно узнать, когда, например, нижний край клипа достигнет нижней границы Stage, то это произойдет, когда выполнится условие:
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
|
Цитата:
А как сделать правильно, честно говоря, не знаю. Вот и спрашиваю. Другими словами - my_mc не должен влазить за границы Stage. Цитата:
Последний раз редактировалось Что такое хорошо?; 04.01.2007 в 14:32. |
|
|||||
|
Регистрация: May 2006
Адрес: Город О
Сообщений: 169
|
Проблема в том, что определена неверная зона для перемещщения клипа.
Ты отталкиваешся от координат мыши и чего то там суетишься делишь пополам. Классическая пропорция. Вычитаем из ширины клипа ширину сцены - это реальный трек для клипа по иксу. Та же история по игреку. А потом лови себе мышь и по пропорции считаешь реальное перемещение. Stage.scaleMode = "noScale";
Stage.align = "LT";
var _xrect:Number = null;
var _yrect:Number = null;
function reposition() {
my_mc._x = (Stage.width/2)-(my_mc._width/2);
my_mc._y = (Stage.height/2)-(my_mc._height/2);
panel._x = Stage.width-240;
panel._y = Stage.height-40;
niz._y = Stage.height-100;
_xrect = (my_mc._width-Stage.width);
_yrect = (my_mc._height-Stage.height);
// определяем РЕАЛЬНЫЙ ТРЕК для клипа. Ибо он равен сам видишь чему.
}
//
function posing(obj, speed) {
var xpos:Number = -1*(_xmouse*_xrect/Stage.width);
var ypos:Number = -1*(_ymouse*_yrect/Stage.height);
var speedX:Number = xpos-obj._x;
var speedY:Number = ypos-obj._y;
obj._x += speedX/speed;
obj._y += speedY/speed;
with (panel) {
test_txt_0.text = "St.width="+Stage.width+"";
test_txt_1.text = "obj._x="+obj._x+"";
test_txt_2.text = "speedX="+speedX+"";
test_txt_3.text = "speedY="+speedY+"";
test_txt_4.text = "";
}
}
my_mc.onEnterFrame = function() {
posing(this, 10);
};
myListener = new Object();
myListener.onResize = function() {
reposition();
};
Stage.addListener(myListener);
reposition();
|
|
|||||
|
Регистрация: May 2006
Адрес: Город О
Сообщений: 169
|
ДА, и кстати - репозитинг надо переписать - он от каких то левых цифр пляшет.
В принципе код все поставит на место, но иногда случается такое, что фон проскакивает при перемещении границы окна _____ PS. никогда не поверю, что ЭТОТ код требует каких то комментариев. Было кривовато конечно, но все понятно и без них. Последний раз редактировалось bbexp; 04.01.2007 в 16:09. |
|
|||||
|
Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
|
ОК спасибо, мой старый (насколько я могу еще узнать тебя) друг! )))
Я сперва сделал (а местами и подсмотрел) код перемещения мy_mc, а потом думал отлавливать моменты его пеесечения со Stage. Но понял, что видно не то я себе удумал))) И решил спросить тут... А репозитинг сейчас переСМОТРЮ . При случае отпишу в личку )) Спасибо! Последний раз редактировалось Что такое хорошо?; 04.01.2007 в 18:07. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|