• Hallo,

    ich erstelle gerade eine Automatische Tour, in welcher sich die Ansicht sich auf verschiedene Stellen im Panorama bewegt. Da jedoch die Hotspots animiert sind und auch Videos im Hintergurnd laufen, war es mir wichtig, dass während des lookat-events nicht die animationen blockiert werden. Dies geht wunderbar mit der "nonblocking" einstellung der Lookat-Action.

    Mein Problem is nur, dass sich die Lookat aktion nicht mehr stoppen lässt, sobald nonblocking auf true steht. Weder Oninterrupt(BREAK) oder stoptween oder ähnliches wirkt sich auf die lookat Action aus. Allerdings möchte ich, dass der Benutzer selber eingreifen und die Tour stoppen kann.

    Lediglich die breakall() action unterbricht die lookat-action. Leider werden dadurch dann auch alle anderen Aktionen entfernt, was ich so nicht möchte.

    gibt es hier eine Lösung, die mir nicht einfällt?

  • Hi,

    in direktes stoppen des lookto's gibt es hier nicht...
    ...aber eine andere Möglichkeit wäre eventuell 'tween()' anstelle von 'lookto()' zu verwenden - die tweens könnten dann per 'stoptween()' gestoppt werden.

    z.B.

    Code
    tween(view.hlookat, ...);
    tween(view.vlookat, ...);
    tween(view.fov, ...);


    und

    Code
    stoptween(view.hlookat, view.vlookat, view.fov);

    Schöne Grüße,
    Klaus

  • Hallo Klaus,

    das habe ich auch probiert. Allerdings benutze ich keinen festen Zeitfaktor für die Bewegung, sondern eine Abstands-abhängige. so dass er bei größeren Abständen der bewegung eben länger rbaucht. Das problem bei separaten Tweens ist das nur, dass jeder mit einer anderen Geschwindigkeit fährt, da die Bewegung auf der horizontalen Achse länger ist als auf der Vertikalen. Das Ergebniss ist dann, dass die Kamera sehr schnell auf die Vertikale Zielebene fährt, und sich dann langsam zum Horizontalen Punkt bewegt. Es soll ja aber möglichst eine flüssige Bewegung sein was horizontal, vertical und zoom angeht.

    Deshalb komme ich leider um das lookto nicht herum, ohne komplizierte Berechnungen einzubauen um für alle 3 Tweens die Zeit zu berechnen.

    Ich habe das Problem nun doch mit einem breakall() gelöst, da dies das einzige ist was das lookto stoppt. Und danach werden dann alle anderen animationen in einer Schleife wieder gestartet. Das ist zwar nicht so elegant, funktioniert aber erstmal ;)

    Trotzdem Vielen Dank

Jetzt mitmachen!

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