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

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

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

Регистрация: Jan 2009
Сообщений: 221
По умолчанию Внешний прелоадер

Добрый день!
делаю проект, и надо сделать внешний флеш файл, который бы загружал другой флеш (он состоит из двух внешних картинок и одного музыкального файла), как это можно реализовать,
в сети нашел программу SWF, Lock & Load, которая, по идеи, должна делать то, что мне надо, но, видимо это из-за того что мой флеш состоит из двух внешних картинок и одного музыкального файла

Старый 03.08.2009, 00:23
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
используйте класс Loader

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

Регистрация: Mar 2009
Сообщений: 31
Пытаясь создать внешний прелоадер, столкнулся с проблемой. Вот код моей флешки, которая загружает другую:
Код AS3:
var cifra:Number;
 
var loader:Loader = new Loader();
var urlRequest:URLRequest = new URLRequest("http://maximumrisk.narod.ru/mos.swf");
loader.load(urlRequest);
loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeListener);
 
function progressListener(e:ProgressEvent):void{
 
cifra = Math.round(e.bytesLoaded/e.bytesTotal*100);
 
moovik.progrecc.gotoAndStop(Math.round(e.bytesLoaded/e.bytesTotal*100));
}
 
function initListener(e:Event):void{
addChild(loader);
}
function completeListener(e:Event):void{
removeChild(moovik);
}
trace(cifra);
moovik - это мой мувик прелоадер. Но дело в том, что trace(cifra); выдает NaN. Следовательно, и мувик-прелоадер у меня не работает. Вообще, правильно ли я делаю внешний прелоадер? А если метод правильный, то в чем же проблема?

Старый 28.12.2009, 00:29
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 4  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Трейсите не там
__________________
Дело не в тебе

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

Регистрация: Mar 2009
Сообщений: 31
Поместил
Код AS3:
trace(cifra);
внутрь progressListener, трейсится, но мувик-прелоадер все все равно не работает. И загруженная флешка жутко тормозит и ругается так:
Цитата:
*** Security Sandbox Violation ***
SecurityDomain 'http://maximumrisk.narod.ru/mos.swf' tried to access incompatible context
SecurityError: Error #2070: Security sandbox violation: caller http://maximumrisk.narod.ru/mos.swf cannot access Stage owned by file:///C|/Documents%20and%20Settings/user/Мои%20документы/Flash/ПОДЕЛКИ/открытка/newyearContainer.swf.

Старый 28.12.2009, 18:43
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 6  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
Код AS3:
package
{
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.display.Loader;
    import flash.display.LoaderInfo;
    import flash.net.URLRequest;
    import flash.events.Event;
    import flash.events.ProgressEvent;
    import flash.display.LineScaleMode;
    import flash.display.CapsStyle;
    import flash.display.JointStyle;
 
 
 
    [SWF(width='900', height='750', backgroundColor='#FFFFFF', frameRate='31')]
/*____________________________________________________*/
 
 
    public class FotoBigLoader extends Sprite
    {
        private var picLoader: Loader;
        private var myRequest: URLRequest;
        private var scaleOfLoad: Sprite; 
        private var percentOfLoad: Number = 0;  
        public var completeLoad: Boolean;
 
 
 
        public function FotoBigLoader()
	{
            thisLoaderElement();
 
	    drawPlayer();
        }
 
 
	private function thisLoaderElement(): void
	{
	    picLoader = new Loader();
	    myRequest = new URLRequest("image/big image/foto.jpg");
 
	    picLoader.load(myRequest);
 
            picLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onLoadProgress);
            picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
	}
 
 
	private function drawPlayer(): void
	{
	    scaleOfLoad = new Sprite;
 
            addChild(scaleOfLoad);
	}
 
 
	private function actionScaleOfLoad(target:Sprite): void 
	{
	    target.graphics.clear();
 
	    target.graphics.lineStyle(6, 0x9B79AE, 1.0, false, LineScaleMode.NONE, CapsStyle.SQUARE);
            target.graphics.moveTo(0, 594);
	    target.graphics.lineTo(percentOfLoad, 594);
            target.graphics.endFill();			
	}
 
 
 
	function onLoadProgress(event:ProgressEvent): void
	{
	    percentOfLoad = Math.floor((event.bytesLoaded / event.bytesTotal) * (100 * 9));
 
	    actionScaleOfLoad(scaleOfLoad as Sprite);
        }
 
 
	function onLoadComplete(event:Event): void
	{
	    completeLoad = true;
 
	    removeChild(Sprite(scaleOfLoad));
 
            addChild(picLoader);
 
	    picLoader.x = 75;
	    picLoader.y = 300;
        }
   }
}
Извени твой код не смотрел, но вот набросал, так должно работать
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 31.12.2009, 19:24
Captain QUAZAR вне форума Посмотреть профиль Отправить личное сообщение для Captain QUAZAR Найти все сообщения от Captain QUAZAR
  № 7  
Ответить с цитированием
Captain QUAZAR

Регистрация: Mar 2009
Сообщений: 31
D12, спасибо тебе, но мне непонятные многие вещи в твоем коде. Например, вот это:
Код AS3:
  [SWF(width='900', height='750', backgroundColor='#FFFFFF', frameRate='31')]
/*____________________________________________________*/

Старый 31.12.2009, 19:42
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 8  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
^^)

Ой прошу прощения этой строчкай указываеться разрешение и фпс когда програмируете в флешьДевелопмер+компилирование FlexSDK а так не нужно

а так все работает и проверяно много раз

вот как это выглядит с этим кодом
http://goroskop.110mb.com/FotoGallery.swf
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 01.01.2010, 17:55
Captain QUAZAR вне форума Посмотреть профиль Отправить личное сообщение для Captain QUAZAR Найти все сообщения от Captain QUAZAR
  № 9  
Ответить с цитированием
Captain QUAZAR

Регистрация: Mar 2009
Сообщений: 31
D12, если у тебя есть время, не объяснишь мне некоторые непонятные вещи в твоем коде. Разобраться хочется.
Код AS3:
  target.graphics.lineTo(percentOfLoad, 594);
- почему мы рисуем линию до 594?
Код AS3:
percentOfLoad = Math.floor((event.bytesLoaded / event.bytesTotal) * (100 * 9));
- почему же здесь 100 умножается еще на девять? Я привык к такой записи
Код AS3:
Math.round(e.bytesLoaded/e.bytesTotal*100);
И вот эти 2 строчк еще не понимаю:
Код AS3:
actionScaleOfLoad(scaleOfLoad as Sprite);
removeChild(Sprite(scaleOfLoad));
Почему нельзя просто записать removeChild(scaleOfLoad);
Еще твоя флешка у меня почему-то не работает.


Последний раз редактировалось Captain QUAZAR; 01.01.2010 в 18:00.
Старый 02.01.2010, 10:05
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 10  
Ответить с цитированием
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
эм это как бы класс и он работает а путь к картинке ты верно прописал ?

1. 594 это координата по игрику
2. у множа. на 9 потаму что если просто на сто то прелоадер будет длинной в 100пикселей а мне нужно пустить его по всей ширене тоесть 900
2. первая строчка это наш спрайт линия отправляеться на функцию где она будет менять свою длинну по результатам данных загрузки, вторая строчка это из другой функции где она удаляет прелоадер после завершения загрузки картинки
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

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

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

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


 


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


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