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

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

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

Регистрация: Oct 2012
Сообщений: 22
По умолчанию Поворот картинки в цикле

написал не большой код который поворачивает картинку по нажатию на кнопку, но мне нужно чтобы при нажатии картинка не сразу отображалась повёрнутой на N градусов а делала это в цикле постепенно. пробовал прикрутить topCont.rotationY+=4 for, картинка также отображается сразу повёрнутой на N*4,
видимо нужно как то обновлять Sprite в topCon... помогите разобраться

Код AS3:
import flash.events.MouseEvent;
 
//Предворительно добавляю картинку в библиотеку и импортирую её в as с именем Shuttle
 
var imgBD:BitmapData=new Shuttle(160,160);
 
var topImg:Bitmap=new Bitmap(imgBD);
 
var topCont:Sprite=new Sprite();
 
topCont.addChild(topImg);
 
topCont.z=0;
topCont.x=250;
topCont.y=150;
 
 
addChild(topCont);
 
buttan.addEventListener(MouseEvent.CLICK, turn); 
 
function turn(e:MouseEvent):void{ topCont.rotationY+=4; }
и ещё, как программно указать точку регистрации картинки?

Старый 29.11.2012, 06:33
spirit2 вне форума Посмотреть профиль Отправить личное сообщение для spirit2 Найти все сообщения от spirit2
  № 2  
Ответить с цитированием
spirit2

Регистрация: Dec 2009
Сообщений: 125
Плавный поворот:
1) Событие клика по кнопке.
2) Запуск таймера или слушание ENTER_FRAME.
3) Изменение rotation на некоторую небольшую величину в каждый тик таймера или переход кадра, и проверка, достигла ли величина rotation требуемого угла поворота. Если достигла, то остановка таймера или отписка от ENTER_FRAME.

Точка регистрации - это субъективное понятие в Adobe Flash, как и слои. Задавая координаты x и y объекту, вы управляете его положением относительно контейнера, в котором он находится.

buttan - это государство или химическое соединение на основе углерода =) А вот button - кнопка.

Старый 29.11.2012, 12:46
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 3  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Код AS3:
import flash.events.MouseEvent;
import flash.events.Event;
 
//Скорость изменения угла поворота:
var speedRotation:Number = 1;
//Предыдущий угол поворота:
var previosAngle:Number = 0;
//Расстояние, которое объект должен повернуть (пройти):
var distance:Number = 4;
//Определяю событие нажатия кнопки мыши:
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
function mouseDown(event:MouseEvent):void
{
	//Изменяю значение переменной (добавляю угол поворота объекта сложенного вместе с расстоянием):
	previosAngle = myObject.rotation + distance;
}
//Определяю событие обновления кадров:
stage.addEventListener(Event.ENTER_FRAME, updateFrames);
function updateFrames(event:Event):void
{
	//Если угол поворота у объект меньше, чем у previosAngle, то:
	if(myObject.rotation < previosAngle)
	{
		//Изменяю угол поворота у объекта (поворачиваю его направо):
		myObject.rotation += speedRotation;
	}
}

Старый 29.11.2012, 13:03
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 4  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Dip52, previosAngle -> previousAngle.
__________________
hauts.ru

Старый 29.11.2012, 18:08
flashtrash вне форума Посмотреть профиль Отправить личное сообщение для flashtrash Найти все сообщения от flashtrash
  № 5  
Ответить с цитированием
flashtrash

Регистрация: Oct 2012
Сообщений: 22
всё стало ясно, спасибо всем. И отдельное спасибо Dip52

З.Ы spirit2, поржал))

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

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

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


 


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


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