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

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

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

Регистрация: May 2008
Адрес: Кострома, Россия
Сообщений: 22
Отправить сообщение для CaXaP с помощью ICQ
По умолчанию Проблема смены клипов

Здравствуйте!

Возникла небольшая (надеюсь) проблема - я начал изучать флеш по книге Д. Гурского, и там в конце проект игры "реверси". Я слегка отошёл от последовательности, описанной в книге и застопорился на следующем моменте:

У меня есть клип _root - туда помещён main.swf - что то вроде стартового клипа.
В нём я создаю пустой клип container, куда помещаю клип логина в игру login.swf. В дальнейшем я хочу использовать container для всех последующих клипов (клип для комнаты ожидания противника, клип для самого процесса игры и т.п.).

Так вот, клип container хорошо создаётся и туда помещается login.swf.
Но когда я залогинился, мне нужно поменять в клипе container мувик login.swf на мувик room.swf.
И когда я пишу loader.loadClip("room.swf",this), то результатом получаю белый фон =(

Получаетя что клипу нельзя поменять "себя" на другой клип?
Как можно обойти данную проблему?
И буду очень признателен, если вы поделитесь каким-нибудь более удобным способом организации подобных смен мувиков.

Заранее спасибо.

Старый 04.06.2008, 09:59
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
loader.loadClip("room.swf",this) загружает новый, но то что было в this удаляется, в том числе и сам loader..
если loader создать не в самом контейнере, а вне его - в том же _root, например, то все будет работать:
_root.loader.loadClip("room.swf",this)

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

Регистрация: May 2008
Адрес: Кострома, Россия
Сообщений: 22
Отправить сообщение для CaXaP с помощью ICQ
silin
Спасибо, заработало.

И ещё один вопрос по этой же теме.
Я создал loader на клипе main.swf и теперь обращаюсь к нему из остальных мувиков как _parent.loader.
Но думаю это не очень удачное решение, поскольку код становится жостко привязанным к этому мувику main.swf (например не сделать вложенность клипов более 1 (иначе клипы следующих вложенностей по свойству _parent не попадут на main.swf)).
Была мысль записать loader на _root, но оч. не хочется засорять осн. временную диаграмму своим мусором (если вдруг игра будет расположена на каком-либо др. сайте то могут возникнуть конфликты идентификаторов да и просто нехорошо мусорить в чужих клипах).
Есть ли возможность этот loader записать куда-нибудь, откуда его будет видно всем мувикам моим, при этом не используя _root (это учитывая что все мувики грузятся в клип container, заменяя собой старое содержимое и клип container не выход для хранения).

Старый 04.06.2008, 14:22
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
как вариант: поместить лоадер в _global:
_global.loader = new MovieClipLoader();

вызов из любого места (независимо от вложенности) :
_global.loader.loadClip("room.swf",this);
или просто loader.loadClip("room.swf",this);(если в самом мувике нет свойства loader, то все равно найдет)

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

Регистрация: May 2008
Адрес: Кострома, Россия
Сообщений: 22
Отправить сообщение для CaXaP с помощью ICQ
хорошо, спасибо за помощь)

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

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

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


 


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


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