![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 60
|
Задача такова.
Отрабатывает Php и генерит в ХТМЛ переменные и значения переменных. Как их считать я кажется понял. Тобишь во флеш я передаю. А сделать мне надо следующее: Флеш получает разделенные каким либо символом строки с заголовком, ссылкой и кратким описанием (ну или просто несколько переменных сделать для этих 3 видов параметров), но суть не в этом, а в том, как мне сгенерить кучу "лейблов" при клике на которые я бы переходил по ссылке? Не пойму как создать кучу неких лейблов и привязать к ним параметры типа label, link, text - это все что мне бы было нужно. С чего начать и как сделать? Во флене я профан, хотя другие языки знаю некоторые. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
XML в руки.
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 467
|
Пишу находу - работоспособность не гарантирую!
![]() Flash: var dataXML= new XML();
dataXML.ignoreWhite = true;
dataXML.load('data.php');
dataXML.onLoad = function (success)
{
if (success)
{
for (var node = dataXML.firstChild.firstChild; node!= null; node = node.nextSibling)
{
trace(node.text);
trace(node.link);
}
}
else
{
trace ("XML data loading failed");
}
};
<?php
for ($i = 0; $i < 10; $i++)
{
$body .= "\n<label text=\"myText".$i."\" link=\"myLink".$i."\" />";
}
print "<data>".$body."\n</data>";
?>
![]() Последний раз редактировалось 2morrowMan; 30.10.2007 в 21:56. |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 60
|
"TypeError: Error #1006: value is not a function.
at data_fla::MainTimeline/data_fla::frame1()" В коде синтаксических ошибок нет, но выдается вышеописанное сообщение при запуске. Линк на тест тут же лежит и data.php - генерит все ОК и data.swf - собственно выдающее ошибку. Хотя я просто воткнул флешовый код в Layer1 по умолчанию. Может его надо к какому то конкретному созданному заранее объекту привязать? Я не совсем улавливаю код флеша пока. Значения куда сбрасываются - в некий объект "trace"? Как мне на основании этого сгенерить например N количество текстовых полей на основании уже имеющегося (с ранее заданными параметрами шрифта и прочего)? 100% есть же функция для этого. Просто будет не Text1, а Text1(1) или как? Я не прошу за меня готовый код сделать, но куски мне очень помогут. Как создать копию объекта на основании имеющегося, как потмо пробежать по всем значениям этого TRACE (если это он все хранит) и создать точное кол-во этих текстовых объектов. А можно ли добавить этим текстовым объектам еще параметр и сохранить в него ссылку, а не только вывести на заголовок значение ТЕХТ? Или проще как то сразу из TRACE все цеплять не нагружая излишними данными создаваемые объекты? Последний раз редактировалось Shinoby; 31.10.2007 в 10:45. |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 60
|
Я кажется нашел еще примерчики, но длинные шибко. щас перевариваю...
Я научился работать с XML ужо. Сделал класс и подцеплил его в swf А как мне теперь налабать кучу вышеописанных объектиков по образу и подобию какого то имеющегося? Последний раз редактировалось etc; 31.10.2007 в 13:10. |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 467
|
Извени, но учить тебя ActionScipt времени нету - смотри уроки в инете.
На счет объекта "trace" вставь просто код: |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 60
|
Я уже понял это все.
Просто не допру как сгенерить объекты на основании ХМЛ... trace = echo = print =) Рельно не могу найти тему о создании копии объектов с добавлением им ну индексов что ли или как их иначе различать? Последний раз редактировалось etc; 31.10.2007 в 14:06. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Shinoby, если надо что-то добавить *— редактируйте свой пост, а не лепите второй рядом.
|
|
|||||
|
Регистрация: Oct 2007
Сообщений: 60
|
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.xml.XMLDocument;
public class xml_loader extends Sprite {
public function xml_loader() {
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("test.xml"));
function LoadXML(event:Event):void {
xmlData = new XML(event.target.data);
//trace(xmlData);
//trace(xmlData.layer.desc.text());
//trace(xmlData.layer.desc.text()[0]);
//var nameList:XMLList = xmlData.layer.link.text();
//trace(nameList);
//for each (var nameEl:XML in nameList) {
//trace (nameEl);
//}
var layerChildren:XMLList = xmlData.layer.children();
for each (var layerInfo:XML in layerChildren) {
trace(""+layerInfo.name());
trace(" "+layerInfo);
}
var total = xmlLoader.bytesTotal
var loaded = xmlLoader.bytesLoaded
trace("Total bytes:"+total+" , Loaded bytes:"+loaded);
}
}
}
}
Нашел пример для создания объектов package
{
//
import flash.display.Sprite;
import flash.text.TextField;
//
public class Starter_1 extends Sprite
{
private var tField:TextField;
public function Starter_1 ()
{
myTest();
}
private function myTest():void
{
tField = new TextField();
tField.autoSize = "left";
tField.background = true;
tField.border = true;
tField.x = 20;
tField.y = 75;
tField.text = "Hello You, what is your name?";
addChild(tField);
}
}
}
Последний раз редактировалось Shinoby; 31.10.2007 в 15:22. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|