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

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

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

Регистрация: Dec 2011
Сообщений: 29
По умолчанию Сравнение булеан переменной с хмл атрибутом

Доброго дня суток !
Столкнулся с такой проблемой.
Есть хмл файл в нем лежит свойство булеан.
Не могу сделать сравнение из хмл файла с условием, пытаюсь вот так
Код AS3:
public function xmlLodet(e:Event):void
		{
			activPageXML= new XML(urlLoder.data);
			xmlList = activPageXML.page;
			for (var i:Number =0; i < xmlList.length() ; i++)
			{
				//trace(xmlList[i].@active);
				//trace(xmlList.@id);
				if ( xmlList.(@active == true))
				{
					trace("рабоатаю нашол");
				}
			}
 
		}
хмл строка для сравнения <page id="1" active="false"></page>
проблема в том что проверку проходить все равно тру или фолс
Надо прочесть хмл или проверить на каком элементе стоит тру

Старый 17.02.2012, 00:24
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 2  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Код AS3:
if (xmlList.@active.toLowerCase() == 'true')
__________________
http://www.chessmax.ru

Старый 17.02.2012, 00:34
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Забыли индекс в xmlList указать
Код AS3:
var activPageXML:XML = <data>
	<page id="1" active="false"></page>
	<page id="2" active="true"></page>
</data>;
var xmlList:XMLList = activPageXML.page;
for (var i:Number = 0; i < xmlList.length(); i++) {
	if (xmlList[i].@active == true) {
		trace (xmlList[i].@id);
	}
}
Хотя правильнее писать
Код AS3:
if (xmlList[i].@active == 'true') {
Так как все значения в xml строки.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 17.02.2012, 01:08
lovik вне форума Посмотреть профиль Отправить личное сообщение для lovik Найти все сообщения от lovik
  № 4  
Ответить с цитированием
lovik
[+1 03.01.12]
[++1 03.01.12]

Регистрация: Dec 2011
Сообщений: 29
спс огромное блнин я в as Дуб Дубом
теперь как бы устроить проверку, если тру, тогда эта кнопка на которой тру должна перейти на второй кадр

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
var activPageXML:XML = 
<data>
	<page id="1" active="false"></page>
	<page id="2" active="true"></page>
	<page id="3" active="false"></page>
	<page id="4" active="true"></page>
	<page id="5" active="false"></page>
	<page id="6" active="true"></page>
</data>;
var xmlList:XMLList = activPageXML.page.(@active=="true");
for each (var i:XML in xmlList)
{
	trace (i.@id);
}
Добавлено через 4 минуты
Ну если кнопки создавали по этой ХMLке, надо было их в массив например сложить по айдишникам. Определили id той что тру, получили ссылку из массива по индексу-айдишнику и перевели ее на второй кадр.
__________________
Reality.getBounds(this);

Старый 17.02.2012, 01:18
lovik вне форума Посмотреть профиль Отправить личное сообщение для lovik Найти все сообщения от lovik
  № 6  
Ответить с цитированием
lovik
[+1 03.01.12]
[++1 03.01.12]

Регистрация: Dec 2011
Сообщений: 29
что то у меня не получается с кейсом
пример хмл <page id="btn_6" active="false"></page>
Код AS3:
public function xmlLodet(e:Event):void
		{
			activPageXML= new XML(urlLoder.data);
			xmlList = activPageXML.page;
			for (var i:Number =0; i < xmlList.length() ; i++)
			{
 
				if ( xmlList[i].@active == true)
				{
 
					switch(xmlList[i].@id)
					{
					case "btn_1" :
						menu_bar.btn_mc1.gotoAndStop("out");
						trace(xmlList[i].@id);
					break;
					case "btn_2" :
						menu_bar.btn_mc2.gotoAndStop("out");
						trace(xmlList[i].@id);
					break;
					case "btn_3" :
						menu_bar.btn_mc3.gotoAndStop("out");
						trace(xmlList[i].@id);
					break;
					case "btn_4" :
						menu_bar.btn_mc4.gotoAndStop("out");
						trace(xmlList[i].@id);
					break;
					case "btn_5" :
						menu_bar.btn_mc5.gotoAndStop("out");
						trace(xmlList[i].@id);
					break;
					case "btn_6" :
						menu_bar.btn_mc6.gotoAndStop("out");
						trace(xmlList[i].@id);
					break;
				}
 
				}
			}
почему он получает ид но не сверяет его с кейсами ?
что то кода много и что то он бестолковый (
Может я и запихнул бы их в массив но на них куча ручной анимации, если честно больше половины инфы которую выкладывают в посте не понимаю, но общими усилиями у меня идет некий прогресс в знаниях ас и навыках программирование.
Всем за это огромное спасибо!


Последний раз редактировалось lovik; 17.02.2012 в 01:25.
Старый 17.02.2012, 14:19
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 7  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Ну как бы :

Код AS3:
public class Test extends Sprite {
  public var activPageXML:XML = 
    <data>
      <page id="btn_1" active="false"></page>
      <page id="btn_2" active="true"></page>
      <page id="btn_3" active="false"></page>
      <page id="btn_4" active="true"></page>
      <page id="btn_5" active="false"></page>
      <page id="btn_6" active="true"></page>
    </data>;
    public var xmlList:XMLList = activPageXML.page;//.(@active=="true");
    public function Test() {
      xmlLodet();
    }
 
    public function xmlLodet():void{
      for (var i:Number =0; i < xmlList.length() ; i++){
        if (xmlList[i].@active == "true"){
	  trace("xmlList[i].@id = " + xmlList[i].@id);
	  menu_bar[xmlList[i].@id].gotoAndStop("out")
	}
      }
    }
  }
}
Работает.
И я чуть-чуть подрезал ваш кейс.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 18.02.2012, 02:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Нет никакого смысла заводить переменные "true" и "false" - в AS3 в смысле Boolean не бывает неопределенности, а вы попытались ее искусственно создать, и, естественно, поплатитесь за это когда-нибудь
Лучше думайте об этом так: любое не пустое значение - это true, и писанины вам поубавит, и логично. А то, что вы придумали сломается при первой же опечатке, по забывчивости, напутаете с регистром и т.д.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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