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

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

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

Регистрация: Jul 2004
Адрес: Budapest
Сообщений: 29
Отправить сообщение для Basic2000 с помощью ICQ Отправить сообщение для Basic2000 с помощью Yahoo
Question Почему мувик не слушается?

Есть у меня мувик с именем c1", с движением я разобрался, но а с вращением голову ломаю. В примере показано вращение на 180- это работае но когда я ставлю значение 360 или 359 крутится не останавливаясь, как научится фиксировать вращение в нужном градусе.

Вобщем даже если это и не правильный код вообще, то напишите правильный простой код, буду очень благодарен!!!


attachMovie("c", "c1", 1, {_y:180, _x:-10});
_root.c1.onEnterFrame = function() {
if ((this._x != -100)&&(c1._rotation!=180)) {
this._x += (150-this._x)/5;
c1._rotation+=10;

updateAfterEvent();
}
};

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

Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
Цитата:
когда я ставлю значение 360 или 359 крутится не останавливаясь
св-во _rotation принимает значения от 0 до 180 и от от 0 до -180, все другие "градусы" просто преобразуются так, чтобы попадать в этот интервал. Вот из хелпа:
Цитата:
Property; the rotation of the movie clip, in degrees, from its original orientation. Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation. Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement my_mc._rotation = 450 is the same as my_mc._rotation = 90.
поэтому св-во твоего мувика никогда не примет значение 360.

и еще одна засада: если пишешь условие c1._rotation!=359, то оно у тебя будет всегда итсинным ещё и потому, что градус вращения ты изменяешь с интервалом 10, таким образом он не может стать равным 359, даже если бы _rotation принимало бы значения выше 180.

вроде так...

Старый 04.07.2004, 21:00
Basic2000 вне форума Посмотреть профиль Отправить личное сообщение для Basic2000 Посетить домашнюю страницу Basic2000 Найти все сообщения от Basic2000
  № 3  
Basic2000

Регистрация: Jul 2004
Адрес: Budapest
Сообщений: 29
Отправить сообщение для Basic2000 с помощью ICQ Отправить сообщение для Basic2000 с помощью Yahoo
Привет спасибо за помощь. Просто у меня в книге по Action Script описано что св-ва _rotation имеет диапазон от -359 до 359. Видать в книге ошибочка. Но всё-же я бы хотел чтоб мой мувик остановился когда он повернётся на 360. Если не трудно помоги описать это. Буду очень благодарен.
Зарание спасибо.
Твой ученик. :о)

Старый 04.07.2004, 21:42
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вариант:
Код:
this.attachMovie("c", "c1", 1, {_y:180, _x:-10,r:36});
this.c1.onEnterFrame = function(){
	with(this)if(r--){
		_rotation+=10;
		_x += (150-this._x)/5;
	} else delete onEnterFrame;
}

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

Регистрация: Jul 2004
Адрес: Budapest
Сообщений: 29
Отправить сообщение для Basic2000 с помощью ICQ Отправить сообщение для Basic2000 с помощью Yahoo
Огромное спасибо!
Я всё понял!

Старый 04.07.2004, 22:39
Basic2000 вне форума Посмотреть профиль Отправить личное сообщение для Basic2000 Посетить домашнюю страницу Basic2000 Найти все сообщения от Basic2000
  № 6  
Basic2000

Регистрация: Jul 2004
Адрес: Budapest
Сообщений: 29
Отправить сообщение для Basic2000 с помощью ICQ Отправить сообщение для Basic2000 с помощью Yahoo
Только не понял одно:
if(r--) - это условие переводится как : если радиус уменьшается на 1, но я не пойму в связи с чем он вот так берёт и уменьшается, то есть почему if(r--) - true ????

Старый 04.07.2004, 22:55
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
if(r--) означает что после выполнения if из r вычитается 1, соответсвенно (r--) будет true пока не станет равной нулю
сравни
Код:
this.c1.onEnterFrame = function(){
	with(this){
		if(r!=0){
			r=r-1;
			_rotation+=10;
			_x += (150-_x)/5;
			
		} else delete onEnterFrame;
	}
}


Последний раз редактировалось silin; 04.07.2004 в 23:00.
Старый 04.07.2004, 23:04
Basic2000 вне форума Посмотреть профиль Отправить личное сообщение для Basic2000 Посетить домашнюю страницу Basic2000 Найти все сообщения от Basic2000
  № 8  
Basic2000

Регистрация: Jul 2004
Адрес: Budapest
Сообщений: 29
Отправить сообщение для Basic2000 с помощью ICQ Отправить сообщение для Basic2000 с помощью Yahoo
Ага понял! Дествительно! Спасибо тебе за помощь.
Ты мне очень помог.

Старый 04.07.2004, 23:24
Basic2000 вне форума Посмотреть профиль Отправить личное сообщение для Basic2000 Посетить домашнюю страницу Basic2000 Найти все сообщения от Basic2000
  № 9  
Basic2000

Регистрация: Jul 2004
Адрес: Budapest
Сообщений: 29
Отправить сообщение для Basic2000 с помощью ICQ Отправить сообщение для Basic2000 с помощью Yahoo
Подскажи ещё плиз как мне сделать тоже такое-же замедление с _rotation.
Вобщем хочу я сделать скатывающийся шар.

Старый 04.07.2004, 23:42
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 10  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
не ясно, что надо, если замедление вращения ,то сделай шаг переменным:
Код:
this.attachMovie("c", "c1", 1, {_y:180, _x:-10,r:36,dr:10});
this.c1.onEnterFrame = function(){
	with(this)if(r--){
		_rotation+=(dr-=0.2);
		_x += (150-this._x)/5;
	} else delete onEnterFrame;
}

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

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

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


 


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


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