Показать сообщение отдельно
Старый 22.02.2012, 11:53
In8Finity вне форума Посмотреть профиль Отправить личное сообщение для In8Finity Найти все сообщения от In8Finity
  № 1  
Ответить с цитированием
In8Finity

Регистрация: Jan 2010
Сообщений: 187
Question Эффект перехода между экранами

Подскажите, как это грамотно реализовать?
Для примера я создал две сцены Menu1 и Menu2
Важный момент. В первой сцене на экран добавляется только один мувиклип. А во второй - два.
Тоесть количество элементов на сцене может быть разным.
Также в нижеприведённом коде не реализовано удаление с экрана ненужных сцен.
Код всего этого такой:

Код AS3:
package 
{
	import flash.display.*;
	import flash.events.*;
 
 
	public class Main extends Sprite 
	{
 
		public var menu1:MovieClip;
		public var menu2:MovieClip;
		public var greenbox1:MovieClip;
 
		public function Main():void 
		{
			M1();
		}
 
 
		public function M1(event:Event = null):void 
		{
			menu1 = new Menu1();
			addChild(menu1);
			greenbox1 = new Greenbox1();
			addChild(greenbox1);
			menu1.but1.addEventListener(MouseEvent.MOUSE_DOWN, M2);
		}	
 
		public function M2(event:Event = null):void 
		{
			menu2 = new Menu2();
			addChild(menu2);
			menu2.but2.addEventListener(MouseEvent.MOUSE_DOWN, M1);
		}		
 
 
	}
 
}
Также имеется мувиклип Curtain состоящий из 30 кадров анимации.
С 1 по 15 кадр шторка полностью закрывает экран.
С 16 по 30 шторка открывается.

Тоесть я представляю процесс так:
Когда нажимается кнопка на каком либо из экранов.
1. На сцену добавляется клип Curtain.
2. Происходит анимация мувиклипа Curtain с 1 по 15 кадр.
3. В момент когда шторка закрыта, надо удалить все элементы присутствующие на экране. В нашем примере это либо menu1 и greenbox1 либо menu2
4. Затем надо добавить нужные нам элементы новой сцены. К примеру если мы переходим из menu2 в menu1, то нам надо добавить мувиклипы menu1 и greenbox1
5. После того как новая сцена сформирована - можно открыть шторки, проиграв анимацию с 16 по 30 кадры.
6. После того как шторка открылась, мувиклип Curtain можно удалить со сцены.

Может быть это делается как-то попроще/иначе? Или всё правильно?