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

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

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

Регистрация: Dec 2005
Адрес: Украина, Ивано-Франковск
Сообщений: 60
Отправить сообщение для MisterX с помощью ICQ Отправить сообщение для MisterX с помощью MSN
Attention Трабла с LoadMovie

Вот класс:
Код:
import inc.func.xmlUtils;
class inc.controls.DrawOps extends MovieClip{
	public var clip:MovieClip;
	public function DrawOps(xml:XMLNode,path:String){
		//parse image
		var ret:Array=xmlUtils.findByTag(xml,"image");
		if(ret.length>0){
			trace(path+ret[0].attributes.filename);
			this.clip.onLoad=function(a:Boolean){
				trace("Loaded");
			}
			this.clip.loadMovie(path+ret[0].attributes.filename);
			trace(this.clip); //Вот тут почемуто выводит undefined.
		}
	}
}
Как мне загрузить клип в переменную??

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

Регистрация: Sep 2002
Сообщений: 30,787
Клипы в переменные не загружают, их грузят в другие клипы.
В приведенном коде в принципе все верно (за исключением onLoad, отсутствия типизации в некоторых местах и непонятно откуда берущихся переменных, типа path).

Старый 13.03.2007, 21:10
MisterX вне форума Посмотреть профиль Отправить личное сообщение для MisterX Найти все сообщения от MisterX
  № 3  
Ответить с цитированием
MisterX
 
Аватар для MisterX

Регистрация: Dec 2005
Адрес: Украина, Ивано-Франковск
Сообщений: 60
Отправить сообщение для MisterX с помощью ICQ Отправить сообщение для MisterX с помощью MSN
Тогда опишу задачу, мне нужно сделать масив клипов. Кусок кода из главного класа.
Переменная path содержит путь к каталогу с картинками.

Код:
private var drawOps:Array = Array();
...
...
var ret:Array=xmlUtils.findByTag(main,"draw_ops");
for(var i:Number=0;i<ret.length; i++){
	var tmp=new DrawOps(ret[i],this.path);
	this.drawOps[tmp.attr.name]=tmp;
}
...
...
описание ф-и xmlUtils.findByTag
Код:
static function findByTag(xml:XMLNode,tag:String):Array{
		var c:Number;
		var _ret:Array = Array();
		for(c=0;c<xml.childNodes.length;c++){
			if(xml.childNodes[c].nodeName==tag){
				_ret.push(xml.childNodes[c]);
				
			}
		}
		return _ret;
	}
Ну и сам класс DrawOps:
Код:
import inc.func.xmlUtils;
class inc.controls.DrawOps extends MovieClip{
	public var clip:MovieClip;
	public function DrawOps(xml:XMLNode,path:String){
		//parse image
		var ret:Array=xmlUtils.findByTag(xml,"image");
		if(ret.length>0){
			this.clip.loadMovie(path+ret[0].attributes.filename);
			trace(this.clip);
		}
	}
}
аа...и пример ХМЛ
Код:
<draw_ops name="close_button">
  <image filename="button-close.png" x="0" y="0" width="object_width" height="object_height"/>
</draw_ops>
Вопрос: Мне нужен масив с клипами, и чтоб потом я их мог атачить куда мне нужно, что я не так сделал?

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

Регистрация: Sep 2002
Сообщений: 30,787
Мувиклипы через конструктор не создаются. Надо использовать attachMovie.

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

Регистрация: Dec 2005
Адрес: Украина, Ивано-Франковск
Сообщений: 60
Отправить сообщение для MisterX с помощью ICQ Отправить сообщение для MisterX с помощью MSN
немного не понял (( они даже сдесь не создаются .. почемуто ((
Код:
if(ret.length>0){
			this.clip.loadMovie(path+ret[0].attributes.filename);
			trace(this.clip);//тут выводится ундефайнет!!!!!
		}


Последний раз редактировалось etc; 13.03.2007 в 21:29.
Старый 13.03.2007, 21:28
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код оформлять не забываем.

Ещё раз объясняю: клипы с заданным классом создаются через attachMovie. В библиотеке должен быть мувик с указанным linkage прописанным классом DrawOps. Более того, в этом мувике должен присутствовать клип с именем clip. То, что вы указали, что такая переменная имеет тип MovieClip вовсе не значит, что этот клип создастся и будет присутствовать в классе.

Старый 14.03.2007, 17:03
MisterX вне форума Посмотреть профиль Отправить личное сообщение для MisterX Найти все сообщения от MisterX
  № 7  
Ответить с цитированием
MisterX
 
Аватар для MisterX

Регистрация: Dec 2005
Адрес: Украина, Ивано-Франковск
Сообщений: 60
Отправить сообщение для MisterX с помощью ICQ Отправить сообщение для MisterX с помощью MSN
хм .. тогда как мне все мувики в масив поместить, чтоб я потом мог их атачить в разные клипы, я окончательно запутался?? ((

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

Регистрация: Sep 2002
Сообщений: 30,787
Я предлагаю разобраться сначала с тем, как используются классы, расширяющие MovieClip.

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

Регистрация: Dec 2005
Адрес: Украина, Ивано-Франковск
Сообщений: 60
Отправить сообщение для MisterX с помощью ICQ Отправить сообщение для MisterX с помощью MSN
Где про это можно прочитать, так как книги нет, пользуюсь только хелпой флеша?

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

Регистрация: Sep 2002
Сообщений: 30,787
В хелпе как раз и прочитаете, вместе с примерами.

Например:
http://livedocs.macromedia.com/flash.../00001412.html

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

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

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


 


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


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