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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.01.2008, 21:11
Sem3D вне форума Посмотреть профиль Отправить личное сообщение для Sem3D Посетить домашнюю страницу Sem3D Найти все сообщения от Sem3D
  № 11  
Ответить с цитированием
Sem3D
[+4 08.02.08]
 
Аватар для Sem3D

Регистрация: Jun 2005
Адрес: Russia, Samara
Сообщений: 82
Отправить сообщение для Sem3D с помощью ICQ
Тогда следующий вопрос:
В клип MainClip загружаю внешний файл Ext.swf в котором есть клип clip1.
Как мне обратиться к клипу clip1 из клипа MainClip после загрузки?
Получается цепочка MainClip.instanceXX.clip1 и instanceXX не постоянно и может менятся.

И ещё. Если будет предложение что-то типа:
Код:
var ldr:Loader = new Loader();
...
var mc:MovieClip = ldr.loaderInfo.content;
MainClip.mc.clip1.x = 100;
Тогда вопрос, можно ли брать имя переменной (здесь это mc) из какой нибудь текстовой переменной.


Последний раз редактировалось Sem3D; 22.01.2008 в 21:51.
Старый 22.01.2008, 21:41
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 12  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

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

content.getChildByName("clip1");

Старый 22.01.2008, 22:28
Sem3D вне форума Посмотреть профиль Отправить личное сообщение для Sem3D Посетить домашнюю страницу Sem3D Найти все сообщения от Sem3D
  № 13  
Ответить с цитированием
Sem3D
[+4 08.02.08]
 
Аватар для Sem3D

Регистрация: Jun 2005
Адрес: Russia, Samara
Сообщений: 82
Отправить сообщение для Sem3D с помощью ICQ
2BlooDHounD
content.getChildByName("clip1"); - это к чему?
Ты же видишь, что я новичок. Нужно подробней
Если так добраться до clip1, то я просил из MainClip.
Если это пример текстовой переменной, то я просил mc
Что-то типа: MainClip[mc_str].clip1

Нужно, чтобы забыть про ldr и обращаться как-то по другому.


Последний раз редактировалось Sem3D; 22.01.2008 в 22:31.
Старый 22.01.2008, 22:41
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 14  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
getChildAt не катит?

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

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Код:
var mc:DisplayObjectContainer = ldr.content as DisplayObjectContainer;
mc.getChildByName("clip1");

Старый 22.01.2008, 23:05
Sem3D вне форума Посмотреть профиль Отправить личное сообщение для Sem3D Посетить домашнюю страницу Sem3D Найти все сообщения от Sem3D
  № 16  
Ответить с цитированием
Sem3D
[+4 08.02.08]
 
Аватар для Sem3D

Регистрация: Jun 2005
Адрес: Russia, Samara
Сообщений: 82
Отправить сообщение для Sem3D с помощью ICQ

Нет. Что то я наверно не так объясняю
Я хочу из главного клипа MainClip обращаться к clip1, который находится в загруженном. (который загрузили в MainClip). Сейчас обращаюсь через ldr (content и т.д.). Как заменить ldr на что нибудь другое (типа ExtClip) и обращаться просто MainClip.ExtClip.clip1

2BlooDHounD
Да что-то наподобии, но еще чтобы имя (которое mc) бралось из текстовой переменной


Последний раз редактировалось Sem3D; 22.01.2008 в 23:08.
Старый 22.01.2008, 23:22
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 17  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Используйте статические члены класса. Только к clip1 можно обращаться только через getChildByName. Обращение по имени напрямую возможно лишь при использовании компилятора CS3 и нативно отрисованных на сцене мувиков, не стоит это применять.

Старый 23.01.2008, 02:10
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 18  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
Sem3D
слуша, а как ты вообще умудрился так добавить загруженный swf, чтобы он был как instanceXX? обычный addChild чтоли?
тогда вообще не понимаю почему нельзя сделать так:
Код:
var info:LoaderInfo  = event.target as LoaderInfo;
this.MainClip.ExtClip = new Object(info.content);

Старый 23.01.2008, 02:14
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 19  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от DRAGOnoid
не понимаю почему нельзя сделать так:
Код:
var info:LoaderInfo  = event.target as LoaderInfo;
this.MainClip.ExtClip = new Object(info.content);
Осталось расшифровать, что означает сей многозначительный код, особенно втоая строка.

Старый 23.01.2008, 02:50
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 20  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
я писал условно, я ж его кода не вижу.
если у него загрузчик в основном конструкторе и там же находится этот MainClip, то пусть в нём создаёт объект ExtClip ссылающийся на загруженный SWF.
по крайней мере я примерно так и делаю =) правда выглядит нескольки иначе.
Код:
package {
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	public class TestLoader {
		public var MainClip:Sprite;
		public var loader:Loader;

		public function TestLoader	():void {
			this.loader = new Loader();
			this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE,	completed);
		}
		private function complete	(event:Event):void {
			var info:LoaderInfo = event.target as LoaderInfo;
			this.MainClip = new Object(info.content);
			this.addChild(this.MainClip);
		}
	}
}
таким образом this.MainClip - у меня загруженный клип, куда хочу туда и добавляю, и обращаться к нему легко.
в общем я к тому спрашиваю что не понимаю к чему такие сложности


Последний раз редактировалось DRAGOnoid; 23.01.2008 в 02:54.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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