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

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

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

Регистрация: Apr 2010
Сообщений: 1
По умолчанию Существует ли воспроизведение timeline в обратную сторону?

Можно ли запускать воспроизведение timeline в обратную сторону, и если да, то как?

Старый 07.04.2010, 16:21
PsixokoT вне форума Посмотреть профиль Отправить личное сообщение для PsixokoT Найти все сообщения от PsixokoT
  № 2  
Ответить с цитированием
PsixokoT

Регистрация: May 2008
Сообщений: 63
Код AS3:
package
{
	import flash.display.MovieClip;
	import flash.events.Event;
 
	public class ReturnFrame extends MovieClip
	{
		public var currentFr:Number;
 
                public function ReturnFrame()
		{
			stop();
                        currentFr=totalFrames;//или -1 не могу проверить
                        addEventListener(Event.ENTER_FRAME, OnEnterFrame);
		}
 
		public function OnEnterFrame(e:Event):void
		{
			currentFr--;
                        gotoAndStop(currentFr);
		}
	}
}
по идее должно сработать

Старый 07.04.2010, 20:31
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 3  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
та делай просто при помощи gotoAndStop(), вписывай в него переменную которую нужно будет отнимать в EnterFram'e и всё.

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

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
у MovieClip есть метод prevFrame().
__________________
местонахождение

Старый 08.04.2010, 12:06
zuxul вне форума Посмотреть профиль Отправить личное сообщение для zuxul Найти все сообщения от zuxul
  № 5  
Ответить с цитированием
zuxul

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.events.Event;
 
	dynamic public class ReversMovieClip extends MovieClip
	{
		/// Направление проигрывания мувиклипа
		private var direction:Boolean = true;
 
		/// Проигрывается ли сейчас мувиклип
		private var isPlaying:Boolean = true;
 
		public function ReversMovieClip()
		{
			super();
		}
 
		override public function gotoAndPlay (frame:Object, scene:String = null) : void
		{
			if (direction) {
				super.gotoAndPlay(frame, scene);
			} else {
				super.gotoAndStop(frame, scene);
				if (!isPlaying)	addEventListener(Event.ENTER_FRAME, enterFrameListener);
			}
			isPlaying = true;
		}
 
		override public function gotoAndStop (frame:Object, scene:String = null) : void
		{
			super.gotoAndStop(frame, scene);
			if (isPlaying && !direction) {
				removeEventListener(Event.ENTER_FRAME, enterFrameListener);
			}
			isPlaying = false;
		}
 
		override public function nextFrame () : void
		{
			if (direction) {
				super.nextFrame();
			} else {
				super.prevFrame();
				if (isPlaying) removeEventListener(Event.ENTER_FRAME, enterFrameListener);
			}
			isPlaying = false;
		}
 
		override public function prevFrame () : void 
		{
			if (direction) {
				super.prevFrame();
			} else {
				super.nextFrame();
				if (isPlaying) removeEventListener(Event.ENTER_FRAME, enterFrameListener);
			}			
			isPlaying = false;
		}
 
		override public function play () : void
		{
			if (!isPlaying) {
				isPlaying = true;
				if (direction) {
					super.play();
				} else {
					addEventListener(Event.ENTER_FRAME, enterFrameListener);
				}
			}
		}
 
		override public function stop () : void
		{
			if (isPlaying) {
				isPlaying = false;
				if (direction) {
					super.stop();
				} else {
					removeEventListener(Event.ENTER_FRAME, enterFrameListener);
				}
			}
		}
 
		private function enterFrameListener(e:Event):void
		{
			if (currentFrame == 1) {
				super.gotoAndStop(totalFrames);
			} else {
				super.prevFrame();
			}
		}
 
		public function set direct(value:Boolean):void {
			if (direction != value) {
				direction = value;
				if (isPlaying) {
					if (direction) {
						removeEventListener(Event.ENTER_FRAME, enterFrameListener);
						super.play();
					} else {
						super.stop();
						addEventListener(Event.ENTER_FRAME, enterFrameListener);
					}
				}
			}
		}
 
		public function get direct():Boolean { 
			return direction;
		}
	}
}

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

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

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


 


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


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