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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.09.2009, 13:20
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 1  
Ответить с цитированием
Furinax
[+1 02.09.15]

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
Question Код для анимированного прелоадера

Проблема заключается в следующем:
я пишу класс прелоадера, и при загрузке каждых 10 процентов содержимого слинкованный с ним мувиклип должен переходить на следующий кадр. Однако совсем ничего не происходит, но и в Copmpiler Errors и Output никаких ошибок не пишет, поэтому самому ошибку найти не получается (в связи с малым опытом программирования).
Вот код:
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.net.URLRequest;
	import flash.events.ProgressEvent;
	import flash.events.TimerEvent;
	import flash.utils.Timer;
 
	public class Preloader extends MovieClip {
		private var loader:Loader;
		private var percent:Number;
		private var timer:Timer;
 
		public function Preloader () {
			loader = new Loader ();
			var url:URLRequest = new URLRequest ("Main.swf");
			loader.load (url);
			loader.contentLoaderInfo.addEventListener (ProgressEvent.PROGRESS, handleProgress);
			timer = new Timer (100);
			timer.start ();
			addEventListener (TimerEvent.TIMER, checkPreloader);
		}
 
		private function handleProgress (e:ProgressEvent):void {
			percent = Math.round (e.bytesLoaded/e.bytesTotal*100);
 
		}
 
		private function checkPreloader (e:TimerEvent):void {
			switch (percent) {
				case 10:
				gotoAndStop (2);
				break;
				case 20:
				gotoAndStop (3);
				break;
				case 30:
				gotoAndStop (4);
				break;
				case 40:
				gotoAndStop (5);
				break;
				case 50:
				gotoAndStop (6);
				break;
				case 60:
				gotoAndStop (7);
				break;
				case 70:
				gotoAndStop (8);
				break;
				case 80:
				gotoAndStop (9);
				break;
				case 90:
				gotoAndStop (10);
				break;
				case 100:
				gotoAndStop (11);
				parent.addChild (loader);
				break;
			}
		}
	}
}
Посмотрите пожалуйсто и расскажите че не так.

Старый 29.09.2009, 13:38
Smrad вне форума Посмотреть профиль Отправить личное сообщение для Smrad Найти все сообщения от Smrad
  № 2  
Ответить с цитированием
Smrad

Регистрация: Nov 2008
Сообщений: 205
Отправить сообщение для Smrad с помощью ICQ
private var percent:Number; заменить на private var percent:int; не?

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

Регистрация: Jan 2008
Сообщений: 669
Код AS3:
private function checkPreloader (e:TimerEvent):void {
			trace(percent);
		}
Дальше думаю сами разберетесь

Старый 29.09.2009, 15:36
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 4  
Ответить с цитированием
Furinax
[+1 02.09.15]

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
Только что попробовал int, не помогло. Трассирую, все равно не реагирует. Ошибок компиляции не вылазит ни одной. Но такое ощущение, что таймер почему-то не работает. Толи переменная percent не меняется.
Что именно из двух не понимаю.

Еще есть какие-нибудь варианты?

Старый 29.09.2009, 15:43
Alkaz вне форума Посмотреть профиль Отправить личное сообщение для Alkaz Найти все сообщения от Alkaz
  № 5  
Ответить с цитированием
Alkaz

Регистрация: May 2006
Адрес: Нск
Сообщений: 91
Код AS3:
timer.addEventListener (TimerEvent.TIMER, checkPreloader);

Старый 29.09.2009, 16:07
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 6  
Ответить с цитированием
Furinax
[+1 02.09.15]

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
большое спасибо, вот что значит взгляд более опытного человека.

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

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

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


 


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


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