Einige Code-Fragen zum Tourenbau

  • Hallo,

    ich beschäftige mich gerade mit krpano, html5 und dem Tourenbau für Iphone etc.
    Nun habe ich eine Reihe Fragen, da ich beim Programmieren nicht weiterkomme:

    1.) Mit zorder wird, wenn ich es richtig verstehe, die Ladereihenfolge definiert. Welche Ladereihenfolge ist sinnvo, also erst Panorama oder erst Navi, etc?

    2.) Ist es Sinnvoll, bei einer größeren Toru mit z.B. 20 Panoramen alles in eine XML zu schreiben, oder ist es sinnvoller, auf mehrere XMLs aufzuteieln


    3.) Ich habe Probleme mit der Combobox. So wie ich es verstehe, ist die immer leicht blau layoutet, und zumindest in flash kann man sie nur umfärben, indem man die .fla - Datei ändert. Ist das korrekt? Ich habe zugang zu Adobe flash, kenne mich da aber nicht aus. Kann mir wer erkären, ob das umfärben einfach ist und wie es geht? Oder könnte mir wer eine Farbneutrale Combobox zur Verfügung stellen?


    4.) Wieviel Pixel größe haben die kleineren Smartphones. Die Tour sollte ja auch auf denen funktionieren?
    Oder werden die Navimaps etc. dort skaliert?

    5.) Wie definiere ich, welches der Navigationselemente oben liegt (also zu sehen ist, falls sich welche überlagern)

    5.) Combobox die zweite: Eigentlich sollte ja, wenn man es richtig macht, der Name der Panoramen aus diesen automatisch ausgelesen werden. Das klappt bei mir im Test nicht. Bei mir steht überall "Null" drin. Hier der von mir verwendete Code:


    <!-- combobox plugin -->
    <plugin name="box" keep="true"
    url="%SWFPATH%/plugins/combobox.swf"
    alturl="%SWFPATH%/plugins/combobox.js" native="false"
    align="lefttop" x="10" y="10"
    onloaded="fill_with_scenes();"
    />


    <!-- an action for automatically fill the combobox with all scenes -->
    <action name="fill_with_scenes">
    for(set(i,0), i LT scene.count, inc(i),
    txtadd(itemcall, 'loadscene(',get(scene[get(i)].name),',null,MERGE,BLEND(1));');
    addIdItem(get(scene[get(i)].name), get(scene[get(i)].title), get(itemcall));
    );
    </action>

    <!-- an action for updating the combobox when the scene was changed -->
    <action name="select_box_item">
    if(plugin[box].loaded,
    plugin[box].selectIdItem(%1);
    ,
    delayedcall(0.1, select_box_item(%1));
    );
    </action>


    Das Pano wird wie folgt aufgerufen
    <scene name="scene_eingang" onstart="activatespot(spot2,90);">
    <view hlookat="0" vlookat="0" maxpixelzoom="1.0" fovmax="135.0"/>
    <display details="22" />

    <preview url="kubabiblio-8bit.tiles/preview.jpg" />

    <image type="CUBE" multires="true" tilesize="728" progressive="false" >
    <level tiledimagewidth="2546" tiledimageheight="2546">
    <left url="kubabiblio-8bit.tiles/l2_l_%0v_%0h.jpg" />
    <front url="kubabiblio-8bit.tiles/l2_f_%0v_%0h.jpg" />
    <right url="kubabiblio-8bit.tiles/l2_r_%0v_%0h.jpg" />
    <back url="kubabiblio-8bit.tiles/l2_b_%0v_%0h.jpg" />
    <up url="kubabiblio-8bit.tiles/l2_u_%0v_%0h.jpg" />
    <down url="kubabiblio-8bit.tiles/l2_d_%0v_%0h.jpg" />
    </level>
    <level tiledimagewidth="1273" tiledimageheight="1273">
    <left url="kubabiblio-8bit.tiles/l1_l_%0v_%0h.jpg" />
    <front url="kubabiblio-8bit.tiles/l1_f_%0v_%0h.jpg" />
    <right url="kubabiblio-8bit.tiles/l1_r_%0v_%0h.jpg" />
    <back url="kubabiblio-8bit.tiles/l1_b_%0v_%0h.jpg" />
    <up url="kubabiblio-8bit.tiles/l1_u_%0v_%0h.jpg" />
    <down url="kubabiblio-8bit.tiles/l1_d_%0v_%0h.jpg" />
    </level>
    <mobile>
    <left url="kubabiblio-8bit.tiles/mobile_l.jpg" />
    <front url="kubabiblio-8bit.tiles/mobile_f.jpg" />
    <right url="kubabiblio-8bit.tiles/mobile_r.jpg" />
    <back url="kubabiblio-8bit.tiles/mobile_b.jpg" />
    <up url="kubabiblio-8bit.tiles/mobile_u.jpg" />
    <down url="kubabiblio-8bit.tiles/mobile_d.jpg" />
    </mobile>
    <tablet>
    <left url="kubabiblio-8bit.tiles/tablet_l.jpg" />
    <front url="kubabiblio-8bit.tiles/tablet_f.jpg" />
    <right url="kubabiblio-8bit.tiles/tablet_r.jpg" />
    <back url="kubabiblio-8bit.tiles/tablet_b.jpg" />
    <up url="kubabiblio-8bit.tiles/tablet_u.jpg" />
    <down url="kubabiblio-8bit.tiles/tablet_d.jpg" />
    </tablet>
    </image>


    6.) Ich habe eine Navimap. Die fährt auf klicken zur Seite. Ich hätte es gerne, dass sie automatisch nach Laden des ersten Panos nach 8 Sekunden einfährt. Wie muss ich meinen Code ergänzen? Hier der bisher verwendete Code ich hoffe das ist das wichtigste:


    <!-- the image map -->
    <layer name="mapcontainer" keep="true" type="container" bgcolor="0x000000" bgalpha="0.0" align="leftmiddle" x="0" y="0" width="314" height="400">

    <layer name="map" url="khmap.jpg" align="leftbottom" x="4" y="4" width="314" height="400" handcursor="false" onclick="closemap();"
    >


    <!-- actions -->
    <action name="closemap">
    set(onclick, openmap() );
    tween(layer[map].x,-300,0.5,easeOutQuint)); switch(layer[map].state,'closed','opened');" />
    </action>

    <action name="openmap">
    set(onclick, closemap() );
    tween(layer[map].x,0,0.5,easeOutQuint)); switch(layer[map].state,'closed','opened');" />

    </action>

  • Hi,

    1.) Mit zorder wird, wenn ich es richtig verstehe, die Ladereihenfolge definiert. Welche Ladereihenfolge ist sinnvo, also erst Panorama oder erst Navi, etc?

    Nein - mit zorder wird die Tiefenordnung bestimmt - d.h. ein Element mit zorder=2 wird über einem Element mit zorder=1 gezeichnet.
    Die Ladenreihenfolge wird davon nicht beeinflusst - umgekehrt beeinflusst die Ladenreihenfolge allerdings die Zeichenreihenfolge WENN KEIN zorder Wert angegeben wird.


    2.) Ist es Sinnvoll, bei einer größeren Toru mit z.B. 20 Panoramen alles in eine XML zu schreiben, oder ist es sinnvoller, auf mehrere XMLs aufzuteieln

    Je nach persönlicher Vorliebe - der Viewer lädt immer nur ein Pano, von daher ist es egal wie viele Panoramen in einer XML definiert wird. Um allerdings mittels Actions verschiedene Dinge automatisch für mehre Panoramen (Szenen) zu erledigen wären es praktischer alle Panoramen in einer XML zu definieren.


    3.) Ich habe Probleme mit der Combobox. So wie ich es verstehe, ist die immer leicht blau layoutet, und zumindest in flash kann man sie nur umfärben, indem man die .fla - Datei ändert. Ist das korrekt? Ich habe zugang zu Adobe flash, kenne mich da aber nicht aus. Kann mir wer erkären, ob das umfärben einfach ist und wie es geht? Oder könnte mir wer eine Farbneutrale Combobox zur Verfügung stellen?

    Ich kann hier leider nicht weiterhelfen - ich verwende Flash CS eigentlich nie, damit zu zeichnen finde ich etwas kompliziert. Ich plane zwar schon seit längeren das Flash Combobox Plugin komplett neu und ohne Flash CS Komponenten neu zu entwickeln, allerdings fehlte bis jetzt immer noch die dazu notwendige Zeit...


    4.) Wieviel Pixel größe haben die kleineren Smartphones. Die Tour sollte ja auch auf denen funktionieren?
    Oder werden die Navimaps etc. dort skaliert?

    Das kann man so nicht beantworten da die 'kleineren Smartphones' nicht alle dieselbe Auflösung und Pixeldichte haben. Als Anhaltspunkt für die Größenskalierung könnte z.B. der krpano iPhone/iPad Simulator verwendet werden - damit lassen sich die Layouts für iPhone und iPad simulieren.


    5.) Wie definiere ich, welches der Navigationselemente oben liegt (also zu sehen ist, falls sich welche überlagern)

    Mittels zorder.


    5.) Combobox die zweite: Eigentlich sollte ja, wenn man es richtig macht, der Name der Panoramen aus diesen automatisch ausgelesen werden. Das klappt bei mir im Test nicht. Bei mir steht überall "Null" drin. Hier der von mir verwendete Code:

    Das liegt daran das bei deinen <scene> Elementen kein 'title' Attribut definiert ist, der Code dort aber die 'title' Attribute der <scene> Elemente als Text verwendet.


    6.) Ich habe eine Navimap. Die fährt auf klicken zur Seite. Ich hätte es gerne, dass sie automatisch nach Laden des ersten Panos nach 8 Sekunden einfährt. Wie muss ich meinen Code ergänzen? Hier der bisher verwendete Code ich hoffe das ist das wichtigste:

    Hier eine Möglichkeit:

    Code
    <events name="automapclose" onloadcomplete="delayedcall(automapclose, 8.0, closemap());" onremovepano="stopdelayedcall(automapclose);" />

    Schöne Grüße,
    Klaus

  • Vielen Dank für die schnellen Antworten. Damit zusammenhängend habe ich weitere Fragen:
    Ist es möglich und sinnvoll, für die Flash-Tour einfach die JAvascript-Combobox zu nutzen, wenn ich eine Farbneutrale haben möchte.
    So wie ich das sehe, lässt die sich ja einfach in Photoshop umfärben bzw. entsättigen, oder?

    Und: Läuft bei krpano eigentlich überhaupt noch was, wenn javascript deaktiviert ist? Wenn ja, was läuft und was nicht, bzw. woc kann ich das nachschauen?

    Vielen Dank.

  • und noch eine Frage. Klaus kann es sein dass irgendwas mit dem von Dir geposteten Code zum automapclose nicht stimmt. Egal wo ich den in der XML hinsetze, ich bekomme immer danach beim Aufrufen der HTML ein XML-Parser Error - Element is malformed #1090

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!