Показать сообщение отдельно
Старый 04.01.2007, 15:58
bbexp вне форума Посмотреть профиль Отправить личное сообщение для bbexp Посетить домашнюю страницу bbexp Найти все сообщения от bbexp
  № 5  
Ответить с цитированием
bbexp
 
Аватар для bbexp

Регистрация: 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();
__________________
Работа * Работы * О работе