Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: krpano.com Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Zephyr

Profi

  • »Zephyr« ist der Autor dieses Themas

Beiträge: 991

Wohnort: Netherlands

Beruf: Web developer

  • Nachricht senden

1

Dienstag, 2. Juni 2009, 11:43

Possible to add objects in plugin?

Hi,

I created a plugin that loads an external xml to build up a menu. To make things more simple, I was wondering if I could add the objects in the external xml in the plugin?

Quellcode

1
2
3
4
<plugin keep="true" alpha="1" customattribute="1" url="plugin.swf">
<object attribute="1" />
<object attribute="2" />
</plugin>


and from the flashfile I could loop it like:

Quellcode

1
2
3
4
5
plugin_object = krpano.get(plugin_path);
for(var i:int = 0; i < plugin_object.object.length(); i++)
{
    trace(plugin_object.object[i].@attribute);
}


Is this possible?
3d childrens game using krpano Game
Minify your xml with my krpano XML Compressor
Krpano XML Parsing Error Checklist
Available for hire (krpano xml, javascript, actionscript, flash, php and ipad plugins).

2

Dienstag, 2. Juni 2009, 13:59

Hi,

yes, that's possible

but the sub objects must have a "name" attribute for identification,
and the name must begin with an alphabetic character,
then an internal array for these objects is created,

e.g.
xml:

Quellcode

1
2
3
4
<plugin keep="true" alpha="1" customattribute="1" url="plugin.swf">
<object name="n1" />
<object name="n2" />
</plugin>



the items of this array can be accessed with the krpano.get() function,
e.g.:

as3 - get():

Quellcode

1
2
3
4
5
6
7
var plugin_object:Object = krpano.get(plugin_path);
var cnt:int = krpano.get("plugin_path + ".object.count");
for(var i:int = 0; i < cnt; i++)
{
   var object:Object = krpano.get(plugin_path + ".object[" + i + "]");
   trace(object.name);
}



or direct via direct array access (better and faster )

Quellcode

1
2
3
4
5
6
7
var plugin_object:Object = krpano.get(plugin_path);
var objectarray:Array = plugin_object.object.getArray();
for(var i:int = 0; i < objectarray.length; i++)
{
   var object:Object = objectarray[i];
   trace(object.name);
}



these internal arrays have these interface functions for as3:
  • count - returns the number of items
  • getItem(index) - returns the object at the given index
  • getArray() - returns a ref to a normal AS3 "Array" which contains all objects

best regards,
Klaus

Zephyr

Profi

  • »Zephyr« ist der Autor dieses Themas

Beiträge: 991

Wohnort: Netherlands

Beruf: Web developer

  • Nachricht senden

3

Dienstag, 2. Juni 2009, 15:24

Thanks Klaus!

that did the trick. 1 less xml to lad ;p Another question. Is it possible to <include> files based on a if statement? I want to include certain xml if some attributes been set to 1.

Quellcode

1
if(plugin[advancedcontrols].toggled EQ 1, include some xml);
3d childrens game using krpano Game
Minify your xml with my krpano XML Compressor
Krpano XML Parsing Error Checklist
Available for hire (krpano xml, javascript, actionscript, flash, php and ipad plugins).

4

Montag, 8. Juni 2009, 16:02

Hi,

no, the <include> tags were parsed and resolved while loading the xml itself,

best regards,
Klaus