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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.04.2007, 17:19
Charly84 вне форума Посмотреть профиль Отправить личное сообщение для Charly84 Посетить домашнюю страницу Charly84 Найти все сообщения от Charly84
  № 1  
Ответить с цитированием
Charly84
 
Аватар для Charly84

Регистрация: Aug 2004
Адрес: Украина, Киев, Белая Церковь
Сообщений: 204
Отправить сообщение для Charly84 с помощью ICQ
По умолчанию _rotation после 180 градусов

Здравствуйте, форумцы
К вам вопрос....

Есть стрелка.. .которую мне надо крутить
прикрепляю код, как я ее кручу..

Но есть небольшая проблема. Если up_gr < 180, тогда код работает и все в ажуре.. стрелка крутиться против-за часовой стрелкой по очереди

Но если up_gr >= 180, тогда стрелка просто крутиться в одну сторону и все. Когда делаю трейс up_gr - получается, что после 180 _rotation принимает минусовое значение. -178, -176, -174 и т.д.

Помогите сделать так, чтобы градус поворота стрелки можно было представлять от 0 до 360, а не от 0 до 180.

Заранее благодарен.

Код:
onClipEvent (load) {
step = 2;
_rotation = 60;
up_gr = random(100) + 75;
down_gr = random(28) + 50;
prov = 0;
	}
	
onClipEvent (enterFrame) {
	_root.speed_t = Math.floor(_root.speed._rotation/2);
	_rotation = _rotation + step;
	if (_rotation >= up_gr) {
		step = - step;
		prov = 1;
	};
	if (_rotation <= down_gr & prov == 1) {
		step = - step;
		prov = 0;
up_gr = random(100) + 75;
down_gr = random(28) + 50;
	};
}
__________________
Идущий осилит дорогу!

Старый 22.04.2007, 17:44
goder вне форума Посмотреть профиль Отправить личное сообщение для goder Найти все сообщения от goder
  № 2  
Ответить с цитированием
goder
[+3 24.04.07]

Регистрация: Apr 2007
Сообщений: 38
Держи

Код:
function movestrelka(){
xd = strelka._x + strelka._height / 2 ;
		yd = strelka._y + strelka._width / 2 ;
		
		m_x = _root._xmouse;
		m_y = _root._ymouse;
		
		ygol = Math.round(get_angle(xd, yd, m_x, m_y));

}


function get_angle(xc, yc, xm, ym)
	{
var xa=xc+10;
		var AD, AC, DC, ugol;
		AD = Math.sqrt((xc - xm) * (xc - xm) + (yc - ym) * (yc - ym));
		AC = Math.sqrt((xc - xa) * (xc - xa));
		DC = Math.sqrt((xa - xm) * (xa - xm) + (yc - ym) * (yc - ym));
		ugol = Math.acos(((AD * AD) + (AC * AC) - (DC * DC)) / (2 * AD * AC)) * (180 / Math.PI);
		if (ym > yc)
		{
			ugol = 360 - ugol;
		}
		return ugol;
	}
Если я тебя правильно понял

Старый 22.04.2007, 18:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Оперировать с другой переменной нужно, а её значение присваивать _rotation.

Старый 22.04.2007, 18:24
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 4  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
придумай еще свойство для клипа, например angle, и пусть оно меняется как тебе захочется. А после изменения этого свойства присваивай _rotation новое значение. Можно задейсвовать watch для автоматизации процесса.
upd: что-то я пишу медленно

Старый 22.04.2007, 21:46
Charly84 вне форума Посмотреть профиль Отправить личное сообщение для Charly84 Посетить домашнюю страницу Charly84 Найти все сообщения от Charly84
  № 5  
Ответить с цитированием
Charly84
 
Аватар для Charly84

Регистрация: Aug 2004
Адрес: Украина, Киев, Белая Церковь
Сообщений: 204
Отправить сообщение для Charly84 с помощью ICQ
Спасибо помогло
__________________
Идущий осилит дорогу!

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

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

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


 


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


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