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

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

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

Регистрация: Feb 2008
Сообщений: 560
clip._rotation не принимает значения больше 180. Замените:
clip._rotation >= 270 на clip._rotation >= -90
clip._rotation >= 360 на clip._rotation == 0

Либо введите переменную, cur_rotation и плюсуйте и сравнивайте ее.

Например:
Код AS1/AS2:
var cangle = 0;
var angle = 0;
knopka.onRelease = function () {
	angle += 90;
	clip.onEnterFrame = oef;
}
 
function oef() {
	if (cangle >= angle) {
		delete(this.onEnterFrame);
	} else {
		cangle += 5;
		clip._rotation = cangle;
	}
}
Если нужно во время выполнения вращения блокировать нажатия на кнопку, то вот:
Код AS1/AS2:
var cangle = 0;
var angle = 0;
knopka.onRelease = function () {
	if (!clip.onEnterFrame) {
		angle += 90;
		clip.onEnterFrame = oef;
	}
}
 
function oef() {
	if (cangle >= angle) {
		delete(this.onEnterFrame);
	} else {
		cangle += 5;
		clip._rotation = cangle;
	}
}
ps. Вариант с блокировкой, с одной переменной и однострочными функциями:
Код AS1/AS2:
var angle = 0;
 
knopka.onRelease = function () {
	clip.onEnterFrame = angle || (angle += 90) ? oef : oef;
}
 
function oef() {
	this._rotation += angle ? 5 + 0 * (angle -= 5) : 0 * delete this.onEnterFrame;
}


Последний раз редактировалось rainbowrussia; 02.01.2011 в 08:54.
Старый 02.01.2011, 16:45
U4enik вне форума Посмотреть профиль Отправить личное сообщение для U4enik Найти все сообщения от U4enik
  № 2  
Ответить с цитированием
U4enik

Регистрация: Jun 2010
Сообщений: 97
Цитата:
Сообщение от rainbowrussia Посмотреть сообщение
clip._rotation не принимает значения больше 180. Замените:
clip._rotation >= 270 на clip._rotation >= -90
clip._rotation >= 360 на clip._rotation == 0

Либо введите переменную, cur_rotation и плюсуйте и сравнивайте ее.

Например:
Код AS1/AS2:
var cangle = 0;
var angle = 0;
knopka.onRelease = function () {
	angle += 90;
	clip.onEnterFrame = oef;
}
 
function oef() {
	if (cangle >= angle) {
		delete(this.onEnterFrame);
	} else {
		cangle += 5;
		clip._rotation = cangle;
	}
}
Если нужно во время выполнения вращения блокировать нажатия на кнопку, то вот:
Код AS1/AS2:
var cangle = 0;
var angle = 0;
knopka.onRelease = function () {
	if (!clip.onEnterFrame) {
		angle += 90;
		clip.onEnterFrame = oef;
	}
}
 
function oef() {
	if (cangle >= angle) {
		delete(this.onEnterFrame);
	} else {
		cangle += 5;
		clip._rotation = cangle;
	}
}
ps. Вариант с блокировкой, с одной переменной и однострочными функциями:
Код AS1/AS2:
var angle = 0;
 
knopka.onRelease = function () {
	clip.onEnterFrame = angle || (angle += 90) ? oef : oef;
}
 
function oef() {
	this._rotation += angle ? 5 + 0 * (angle -= 5) : 0 * delete this.onEnterFrame;
}
Спасибо за помощь. Теперь все ок. Просто я почему-то не знал что _rotation не принимает значения больше 180

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

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

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


 


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


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