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

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

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

Регистрация: Jul 2009
Сообщений: 35
По умолчанию Больная тема - прелоадер

Помогите пожалуйста разобраться с прелоадером, никак понять не могу как его поставить у себя.
Есть два слоя - preloader, имеющий 1 кадр и content, имеющий 2 кадра.
Есть класс Main.
Код AS3:
public function Main(){
			stop();
 
			var imageBar:imgBar = new imgBar();
				imageBar.x = (stage.stageWidth - imageBar.width) / 2 - imageBar.width / 4;
				imageBar.y = imageLogo.y + imageLogo.height / 2 + 5;
			var leftLayer:MovieClip = new MovieClip();
				leftLayer.graphics.beginFill(0xffffff);
				leftLayer.graphics.drawRect(imageBar.x, imageBar.y,
											imageBar.width / 2, imageBar.height);
			var rightLayer:MovieClip = new MovieClip();
				rightLayer.graphics.beginFill(0xffffff);
				rightLayer.graphics.drawRect(imageBar.x + imageBar.width,
											imageBar.y, imageBar.width / 2, imageBar.height);
			addChild(imageBar);			
			addChild(leftLayer);
			addChild(rightLayer);
 
			loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
			loaderInfo.addEventListener(Event.COMPLETE, completeHandler);	
 
			function progressHandler(event:ProgressEvent):void {
				var loaded:uint = event.bytesLoaded; 
				var total:uint = event.bytesTotal;
				var percentLoaded:Number = Math.round((loaded/total) * 100);
				imageBar.x = (stage.stageWidth - imageBar.width) / 2 - imageBar.width / 4;
				imageBar.x += (imageBar.width / 2) * (percentLoaded / 100);				
			}
			function completeHandler(event:Event):void {
				removeChild(imageBar);
				removeChild(leftLayer);
				removeChild(rightLayer);
                                gotoAndStop(2);
				Start();
			}
}
Все картинки в библиотеке загружаются на 2 кадр(Publish Setting/Flash/Settings/Export classes in frame = 2)
Но так не получается. Ошибки:
Код:
1180: Call to a possibly undefined method stop.
1180: Call to a possibly undefined method gotoAndStop.
Добавлено через 48 минут
Заработало, нужно было всего лишь поставить MovieClip(root)

Старый 16.08.2009, 02:20
MonkDead вне форума Посмотреть профиль Отправить личное сообщение для MonkDead Посетить домашнюю страницу MonkDead Найти все сообщения от MonkDead
  № 2  
Ответить с цитированием
MonkDead
 
Аватар для MonkDead

Регистрация: Dec 2007
Сообщений: 204
Вы метод stop() и gotoAndStop() вызываете у главного класса, а он не наследуется от MovieClip, значит в нем нет таких методов, о чем вам и сказал компилятор.

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

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

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


 


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


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