Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 25.12.2003, 16:32
igrik вне форума Посмотреть профиль Отправить личное сообщение для igrik Найти все сообщения от igrik
  № 1  
igrik

Регистрация: Jun 2003
Сообщений: 263
Question движение клипа к курсору

Не получается сделать движение клипа к курсору. Кто может, помогите! Надо, чтобы клип двигался к курсору равномерно. Я тут кое-что сделал:

onClipEvent (load) {
function radiansToDedrees(radians) {
return (radians / Math.PI)* 180;
}
}
onClipEvent (enterFrame) {
point = {x:_x, y:_y};
_parent.localToGlobal(point);
deltaX = _root._xmouse - point.x;
deltaY = _root._ymouse - point.y;
rotationRadian = Math.atan2(deltaY, deltaX);
rotationAngle = radiansToDedrees(rotationRadian);
this._rotation = rotationAngle;
this._x += Math.cos((rotationAngle))*5;
this._y += Math.sin((rotationAngle))*5;
}

но проблема в том, что клип начинает колбасить на оред. расстоянии от курсора, и если двигать курсор, то клип тоже колбасит и он никуда не движется... PLEASE HELP!!!

Старый 25.12.2003, 17:39
gct вне форума Посмотреть профиль Отправить личное сообщение для gct Найти все сообщения от gct
  № 2  
gct
"JlblCbll7l"
 
Аватар для gct

Регистрация: May 2002
Адрес: Львов (Новый)
Сообщений: 517
Отправить сообщение для gct с помощью ICQ
В сорец не вникал, бо голова болит, но Dedrees - мне понравилось
__________________
But the castle’s crumbled and you’re left with just a name
Where’s your crown, king nothing?

Старый 25.12.2003, 17:59
igrik вне форума Посмотреть профиль Отправить личное сообщение для igrik Найти все сообщения от igrik
  № 3  
igrik

Регистрация: Jun 2003
Сообщений: 263
какая разница... смысл от этого не меняется
А на вопрос кто-нибудь ответит?

Старый 25.12.2003, 19:23
quake-pavel вне форума Посмотреть профиль Отправить личное сообщение для quake-pavel Найти все сообщения от quake-pavel
  № 4  
quake-pavel

Регистрация: Dec 2003
Сообщений: 7
Можно использовать теорему Пифагора и клип будет двигаться по гипотенузе.
Например:

onClipEvent(load){
v=5
}
onClipEvent(enterFrame){
xDisp= _root._xmouse - _x
yDisp= _root._ymouse - _y
S=Math.sqrt((xDisp*xDisp)+(yDisp*yDisp))
t=S/v
xV=xDisp/t
yV=yDisp/t
_x= _x + xV
_y= _y + yV
}


Старый 25.12.2003, 19:36
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 5  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
так пойдет ?
Код:
onClipEvent (load) {
	Math.sign = function(n) {
		return Number(n>0 || (n<0)*(-1));
	};
	rad = 180/Math.PI;
}
onClipEvent (enterFrame) {
	dx = Math.cos(a)*5;
	dy = Math.sin(a)*5;
	if (Math.sign(_root._xmouse-_x-dx) == sx) {
		this._x += dx;
	} else {
		this._x = _root._xmouse;
	}
	if (Math.sign(_root._ymouse-_y-dy) == sy) {
		this._y += dy;
	} else {
		this._y = _root._ymouse;
	}
}
onClipEvent (mouseMove) {
	dx = _root._xmouse-_x;
	dy = _root._ymouse-_y;
	a = Math.atan2(dy, dx);
	_rotation = a*rad;
	sx = Math.sign(dx);
	sy = Math.sign(dy);
}

Старый 25.12.2003, 20:28
igrik вне форума Посмотреть профиль Отправить личное сообщение для igrik Найти все сообщения от igrik
  № 6  
igrik

Регистрация: Jun 2003
Сообщений: 263
THANKS A LOT! REALLY!!!

Создать новую тему   Часовой пояс GMT +4, время: 18:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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