Пятница, 19 Апреля 2024, 09:34

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Подгрузка swf в swf
Подгрузка swf в swf
NOVAGSДата: Вторник, 24 Января 2012, 18:20 | Сообщение # 1
частый гость
Сейчас нет на сайте
Подскажите пожалуйста, как подгрузить несколько swf файлов в единое swf окно?(чтобы игрок не переключался с одной флэшки на другую)
StikДата: Вторник, 24 Января 2012, 21:08 | Сообщение # 2
был не раз
Сейчас нет на сайте
Какой язык используешь AS2 или AS3?
AS2:
Code
//Создаем пустой клип — «КОНТЕЙНЕР», в который будем подгружать внешнюю флешку
_root.createEmptyMovieClip("conteyner_mc", _root.getNextHighestDepth());
//подгружаем флешку, которая лежит в одной папке с этой флешкой
conteyner_mc.loadMovie("flash_1.swf");


Сообщение отредактировал Stik - Вторник, 24 Января 2012, 21:13
NOVAGSДата: Среда, 25 Января 2012, 13:36 | Сообщение # 3
частый гость
Сейчас нет на сайте
Stik, спасибо

P.S. а который из ас лучше использовать?
anton-garДата: Среда, 25 Января 2012, 15:41 | Сообщение # 4
WEBmaster
Сейчас нет на сайте
Наверное, as3.0, так как новее => больше функций.

noTformaTДата: Среда, 25 Января 2012, 15:44 | Сообщение # 5
Ukrainian independent game developer
Сейчас нет на сайте
ас2 уже на поддерживаться.

@noTformaT
АлишДата: Среда, 25 Января 2012, 17:30 | Сообщение # 6
был не раз
Сейчас нет на сайте
Quote (noTformaT)
ас2 уже на поддерживаться.

да и вообще это не совсем даже полноценный ЯП.
Классы там какие-то рахитичные, AttachMovie() как-то странно работает..
NOVAGSДата: Среда, 25 Января 2012, 19:04 | Сообщение # 7
частый гость
Сейчас нет на сайте
Всем спасибо за ответы, тему можно закрывать)
smit1987Дата: Четверг, 01 Ноября 2012, 03:58 | Сообщение # 8
частый гость
Сейчас нет на сайте
Выдало ошибку. Error opening URL "file:///C|/Users/smit/AppData/Local/Temp/альбом.swf"
Напишите код точно, без пояснений между строк и т.п.


Сообщение отредактировал smit1987 - Четверг, 01 Ноября 2012, 04:00
cougraAccДата: Четверг, 01 Ноября 2012, 06:03 | Сообщение # 9
Яркая личность GD
Сейчас нет на сайте
Code
var loc2:Loader;
loc2 = new Loader();
loc2.load(new URLRequest('path/load.swf'));
smit1987Дата: Четверг, 01 Ноября 2012, 20:03 | Сообщение # 10
частый гость
Сейчас нет на сайте
ERROR: Scene 1, Layer 2, Frame 1, Instance of 'Symbol 6', Line 1: Statement must appear within on handler.

Вместо path/load.swf вставляю адресс файла. Где ошибка?

Добавлено (01.11.2012, 19:14)
---------------------------------------------
В хелпе контакта дано следующее:

this.addEventListener( Event.ADDED_TO_STAGE, onAddedToStage );
...
function onAddedToStage(e: Event): void {
var wrapper: Object = Object(parent.parent);
// Init application
}

Куда впиливать путь к файлу??

Добавлено (01.11.2012, 20:03)
---------------------------------------------
в хелпе адоба, такой код:

var request:URLRequest = new URLRequest("http://www.[yourdomain].com/externalSwf.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);

Всё-равно ошибку выдает. Не понимаю!

TreinDSMДата: Четверг, 01 Ноября 2012, 21:32 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Примеры из хелпа контакта и хелпа адоба, которые Вы привели вообще о разном. В первом случае по добавлению объекта на сцену создается локальная ссылка на объект родитель. Во втором - загружается какая-то swf-ка, которая добавляется на сцену.

Где Ваша ошибка обнаружить для нас не представляется возможным, так как Вы вместо того, чтобы продемонстрировать нам свой код скопировали чужой (который ко всему прочему вырван из контекста). В примере от адобе никакой ошибки нет - все упирается в Вашу реализацию. Опять же нам неизвестно, что у Вас в Вашей загружаемой флешке твориться.
Пример из контакта - без комментариев. 4- строчки кода вырванные из контекста программы не несут практически никакой информации.

Самое простое - это посмотреть, что у Вас находится в Scene 1, Layer 2, Frame 1, Instance of 'Symbol 6', Line 1.
smit1987Дата: Пятница, 02 Ноября 2012, 03:20 | Сообщение # 12
частый гость
Сейчас нет на сайте
Ничего нету. Обсолютно пустой контейнер. Одна кнопка. Пытаюсь понять как на нее вешается другой swf. Когда разберусь, будет море кнопок, куча дополнительных файлов и все это в красивой обложке будет выложено в контакте.
Знаю что в хелпе ошибок нет, просто не могу догнать что я делаю не так. Если учесть, что все остальное девственно чистое. Мне нужно тупо кусок кода, который я буду вставлять в кнопки, меняя только путь файла и что там еще нужно....
Если кто опытный поможет разобраться, буду очень благодарен!
TreinDSMДата: Пятница, 02 Ноября 2012, 10:22 | Сообщение # 13
почетный гость
Сейчас нет на сайте
Вешать на кнопку другой swf не надо. Вам нужен контроллер, который повесит на Вашу кнопку слушатель на событие, скажем, CLICK. Когда оно произойдет, пусть этот контроллер и грузит нужную swf-ку и добавляет ее куда следует.
Например:
Code

public class SWFControl extends Sprite
  {
   private var _button:YourButton = null;
   //
   private var _loader:Loader = null;
   //
   private var _mc:MovieClip = null;
   //
   public function SWFControl()  
   {
    _button = new YourButton();
    this.addChild(_button);
    _button.addEventListener(MouseEvent.CLICK, clickListener);
   }
    
   private function clickListener(event:MouseEvent):void  
   {
    _button.removeEventListener(MouseEvent.CLICK, clickListener);
    _loader = new Loader();
    _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadCompleteListener);
    _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventListener);
    _loader.load(new URLRequest("yourAddress"));
   }
    
   private function errorEventListener(event:IOErrorEvent):void  
   {
    trace("ACHTUNG!");
   }
    
   private function loadCompleteListener(event:Event):void  
   {
    _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadCompleteListener);
    _mc = _loader.content as MovieClip;
    this.addChild(_mc);
   }
    
  }
smit1987Дата: Суббота, 03 Ноября 2012, 21:42 | Сообщение # 14
частый гость
Сейчас нет на сайте
Ладно, с подгрузкой разобрался. Новый вопрос, как теперь обратно выгрузить?)
cougraAccДата: Воскресенье, 04 Ноября 2012, 00:10 | Сообщение # 15
Яркая личность GD
Сейчас нет на сайте
Quote (smit1987)
Ладно, с подгрузкой разобрался. Новый вопрос, как теперь обратно выгрузить?)

removeChild(object);
smit1987Дата: Воскресенье, 04 Ноября 2012, 02:07 | Сообщение # 16
частый гость
Сейчас нет на сайте
Quote (cougraAcc)
removeChild(object);

это нужно уже вписать в той флешке, что будет подгужаться? или в контейнере?
TreinDSMДата: Воскресенье, 04 Ноября 2012, 09:53 | Сообщение # 17
почетный гость
Сейчас нет на сайте
removeChild(displayObject) - удаляет объект отображение из объекта, для которого вызывается этот метод.
Удалить объект со сцены можно как из родителя, так и из самого себя.

Если из родителя: то просто в родителе вызваете метод removeChild(удаляемый объект).
Если из самого объекта отображение то вот так: parent.removeChild(this).
Само собой, что объект должен быть child'ом того объекта, из которого его удаляют.

Если Вы хотите именно выгрузить объект, тогда надо воспользоваться методами объекта класса Loader - unload() или unloadAndStop().
smit1987Дата: Понедельник, 05 Ноября 2012, 03:33 | Сообщение # 18
частый гость
Сейчас нет на сайте
Нарисовалась новая неприятность: файлы подгружаются прямо в то окно где запущенно приложение и в результате все перемешивается в одну кашу.
Что посоветуете?

Code

bt_Chip_Off.addEventListener
(MouseEvent.CLICK, fl_ClickToLoadUnloadSWF);

import fl.display.ProLoader;
var fl_ProLoader:ProLoader;

var fl_ToLoad:Boolean = true;

function fl_ClickToLoadUnloadSWF(event:MouseEvent):void
{
   if(fl_ToLoad)
   {
    fl_ProLoader = new ProLoader();
    fl_ProLoader.load(new URLRequest("ссылка"));
    addChild(fl_ProLoader);
   }
   else
   {
    fl_ProLoader.unload();
    removeChild(fl_ProLoader);
    fl_ProLoader = null;
}
}


Сообщение отредактировал smit1987 - Понедельник, 05 Ноября 2012, 03:36
TreinDSMДата: Понедельник, 05 Ноября 2012, 09:43 | Сообщение # 19
почетный гость
Сейчас нет на сайте
smit1987,
Естественно, loader добавляется на сцену родительского приложения.
smit1987Дата: Понедельник, 05 Ноября 2012, 14:41 | Сообщение # 20
частый гость
Сейчас нет на сайте
а как сделать замену?
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Подгрузка swf в swf
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг