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

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

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

Регистрация: Jul 2012
Сообщений: 3
Question Подключение .Swf к .SWF

Я так понимаю, что надо делать через Embed, затем загрузить в byteArray, а loader, после loader.loadBytes(byteArray as ByteArray), добавить так: this.AddChild(loader).... Но у меня ничего не выходит
Код AS3:
import flash.events.*;
import flash.display.*;
import flash.utils.*;
[Embed(source = "data.swf",mimeType = "application/octet-stream")]
var cl:Class;
var byteLoader:ByteArray = new cl as ByteArray;
var loader:Loader = new Loader();
loader.loadBytes(byteLoader);
this.addChild(loader);
ошибок при компиляции не выдает, загружается в слое, data.swf не сжат и отдельно работает, никак не могу понять в чем дело...
Я просто хочу научиться делать вложение друг в друга SWF зашифрованных файлов ( что то типа защиты от быстрого вскрытия)... Ну вот и решил начать с не зашифрованного и не сжатогофайла... Еси можите, научите плиз как это делать правильно...

Старый 30.07.2012, 07:22
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Код AS3:
package  {
	import flash.display.DisplayObject;
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.utils.ByteArray;
	/**
	 * ...
	 * @author casey ryan
	 */
	public class Main extends Sprite {
 
		[Embed(source="swf/TestSwf.swf", mimeType="application/octet-stream")]
		private var EmbededSWF:Class;
 
		public function Main() {
			var ba:ByteArray = new EmbededSWF as ByteArray;
			var loader:Loader = new Loader();
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
			loader.loadBytes(ba);
		}
 
		private function onLoadComplete(e:Event):void {
			e.target.removeEventListener(Event.COMPLETE, onLoadComplete);
			var loadedSwf:DisplayObject = e.target.content as DisplayObject;
			addChild(loadedSwf);
		}
	}
}

Старый 30.07.2012, 14:47
stronhold вне форума Посмотреть профиль Отправить личное сообщение для stronhold Найти все сообщения от stronhold
  № 3  
Ответить с цитированием
stronhold

Регистрация: Jul 2012
Сообщений: 3
Код AS3:
package  {
 
	import flash.display.*;
	import flash.utils.ByteArray;
	import flash.events.*;
         /**
	 * ...
	 * @author casey ryan
	 */
	public class main extends Sprite {
 
		[Embed(source="data.swf", mimeType="application/octet-stream")]
		private var EmbededSWF:Class;
		public function main() {
			var ba:ByteArray = new EmbededSWF as ByteArray;
			trace(ba.length+', '+ba[0]+' '+ba[1]+' '+ba[2]+' ');
			var loader:Loader = new Loader();
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete1);
			loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressGo);
			trace(ba.length);
			trace(loader);
			loader.loadBytes(ba as ByteArray);
			trace('End Main');
		}
      private function onProgressGo(e:ProgressEvent):void{
			trace('Loading....');
		}
		private function onLoadComplete1(e:Event):void {
			trace('Complete!');
			e.target.removeEventListener(Event.COMPLETE, onLoadComplete1);
			var loadedSwf:DisplayObject = e.target.content as DisplayObject;
			addChild(loadedSwf);
			trace('ADD');
		}
	}
 
}
[/quote]
Вот немного модифицировал, поставил traces... Вот что выводит:

3808011, 70 87 83
3808011
[object Loader]
Loading....
Loading....
End Main


// 70d 87d 83d = 46h 57h 53h = F W S
Ну и нет в выводе Сomplete и ADD, поэтому я могу сказать точно что загрузка в loader не произошла...
Хелп снова, кто - что подскажет?
P.S.Adobe Flash Professional (c)

Старый 30.07.2012, 15:16
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
stronhold, не злоупотребляйте размером шрифта. Это только сбивает с толку. Достаточно выделения цветом, зрение у всех в порядке.
__________________
Идите первым!

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Ну и нет в выводе Сomplete и ADD, поэтому я могу сказать точно что загрузка в loader не произошла...
Только что проверил. Все отлично работает. И Add и Complete! выводятся

Возможно проблема с файлом data.swf. Хотя не понимаю как в таком случае могут выводиться осальные трейсы.
Я тестировал на этом файле
Вложения
Тип файла: zip TestSwf.zip (42.3 Кб, 39 просмотров)

Старый 30.07.2012, 16:03
stronhold вне форума Посмотреть профиль Отправить личное сообщение для stronhold Найти все сообщения от stronhold
  № 6  
Ответить с цитированием
stronhold

Регистрация: Jul 2012
Сообщений: 3
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Только что проверил. Все отлично работает. И Add и Complete! выводятся

Возможно проблема с файлом data.swf. Хотя не понимаю как в таком случае могут выводиться осальные трейсы.
Я тестировал на этом файле
Да, спасибо, все работает... Вы оказались правы, файл повредился как-то O_o... Я его отдельно запустил - а он не работает... Вообщем моя халатность, пришлось собирать заново

Тему можно закрывать, Спасибо всем еще раз...

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

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

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


 


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


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