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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.04.2006, 04:14
this.wampa вне форума Посмотреть профиль Отправить личное сообщение для this.wampa Найти все сообщения от this.wampa
  № 1  
Ответить с цитированием
this.wampa

Регистрация: Apr 2006
Адрес: Odessa
Сообщений: 16
Отправить сообщение для this.wampa с помощью ICQ Отправить сообщение для this.wampa с помощью AIM Отправить сообщение для this.wampa с помощью MSN Отправить сообщение для this.wampa с помощью Yahoo
По умолчанию про переменные в классе

есть класс:

Код:
class screen {
	public var gogo:Number;
	public var xmlLoader:XML;
	
	public function screen() {
		
		xmlLoader = new XML();
		xmlLoader.ignoreWhite = true;
		xmlLoader.load("screena.xml");
		
		//gogo = 150;
		
		xmlLoader.onLoad = function(success){

			if (success) {
				gogo = this.firstChild.childNodes.length;
				_root.SCR.test();
			}
		}
	}
	
	public function test() {
		trace(gogo);
	}
}
вызываю:

Код:
var SCR:screen = new screen();
а выдает undefined

почему???

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

Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 233
Отправить сообщение для breez38 с помощью ICQ
Цитата:
Код:
xmlLoader.onLoad = function(success){

			if (success) {
				gogo = this.firstChild.childNodes.length;
				_root.SCR.test();
			}
		}
Потому что в данном случае флешка "думает", что gogo относиться к xmlLoader'у, а не к твоему классу.
Лечение: использование делегатов
Пример:
В самом начале файлика с классом (до объявления класса):
Код:
import mx.utils.Delegate
Дальше в классе объявляешь метод
Код:
private afterLoad(success:Boolean):Void
{
  if (success)
  {
    this.gogo = this.firstChild.childNodes.length;
    this.test();
  }
}
и цепляешь делегата на onLoad
Код:
xmlLoader.onLoad = Delegate.create(this, afterLoad);
И еще - проверь правильность XML-файла
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже!

Старый 18.04.2006, 05:28
this.wampa вне форума Посмотреть профиль Отправить личное сообщение для this.wampa Найти все сообщения от this.wampa
  № 3  
Ответить с цитированием
this.wampa

Регистрация: Apr 2006
Адрес: Odessa
Сообщений: 16
Отправить сообщение для this.wampa с помощью ICQ Отправить сообщение для this.wampa с помощью AIM Отправить сообщение для this.wampa с помощью MSN Отправить сообщение для this.wampa с помощью Yahoo
Зашибись!
Немного подправила и фсе заработало! Спасибо!

Код:
private function afterLoad(success:Boolean):Void {
	if (success) {
		this.gogo = xmlLoader.firstChild.childNodes.length;
		this.test();
  	}
}

Старый 18.04.2006, 10:11
AxelRB вне форума Посмотреть профиль Отправить личное сообщение для AxelRB Посетить домашнюю страницу AxelRB Найти все сообщения от AxelRB
  № 4  
Ответить с цитированием
AxelRB
[+3 23.02.07]
 
Аватар для AxelRB

Регистрация: Mar 2006
Сообщений: 104
breez, ты человек!
А я вот таким идиотизмом раньше страдал (как ни странно все работает):
Код:
class ... {
	public function setContent(node:XMLNode) {
		if(node.attributes.src!=undefined) {
			var Html:LoadVars = new LoadVars();
			var Body:TextField = this["txtBody"];
			Html.onData = function(src:String) {
				if(src!=undefined)
					Body.htmlText = src.split("\r\n").join("");
			}
			Html.load(node.attributes.src);
		}
	}
}

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

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

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


 


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


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