Adobe Flash Flash-Navigation aus HTML steuern?

  1. mcintyre

    mcintyre Thread StarterMacUser Mitglied

    Mitglied seit:
    10.12.2003
    Beiträge:
    1.172
    Zustimmungen:
    2
    Hallo Zusammen!

    Ich möchte ein Frameset erstellen (drei Frames übereinander, in der Mitte ist die Navigation mit Flash).

    Nun ist es aber möglich, die Seiten im unteren Frame leider auch über HTML anzusteuern. Daher möchte ich, wenn eine bestimmte HTML-Seite (im unteren Frame) aufgerufen wird, die Flash-Naviagtion entsprechend ändern.

    Sprich: ich möchte aus dem HTML-Dokument den Flash-Film steuern. Nix wildes, nur einen bestimmten Punkt des Films ansteuern.

    Ich habe natürlich schon in einigen Foren nach einem Tut gesucht, aber das funktioniert leider irgendwie nicht. SO schwer kann das aber doch nicht sein, oder?

    Gruss und schonmal DANKE!

    mcintyre

    PS: Yves, Du weisst doch bestimmt wie das geht...;)
     
    mcintyre, 07.05.2004
  2. sevY

    sevY

     

    Na klar man.

    Mit dem FlashVars Objekt ;)


    PHP:
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="100">

    <
    param name="movie" value="datei.swf?varname=wert"
    <
    param name="quality" value="high"

    <
    embed src="datei.swf" flashvars="varname=wert" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="100">
    </
    embed>

    </
    object

    Das <embed> brauchst du noch für alte Browser, auch wenn die W3C Gurus sagen, es sei nicht konform.

    Variablen kannst du der SWF also einfach mit ?varname=wert (an den Dateinamen angehängt) mitgeben oder im <embed> Container dem Flashvars Objekt zuordnen.

    Verfügbar sind die Variablen dann in der entsprechenden SWF auf level0.

    Hier wäre dann zb

    _level0.varname==wert;



    Und dann kannst du mittels switch() in Flash die entsprechenden Aktionen für die entsprechenden Varnamen abhandeln.

    Zb
    PHP:
    //actionscript

    switch(_level0.varname)
    {
    case 
    home:
    this.gotoAndStop('home');
    break;
    case 
    contact:
    this.gotoAndStop('contact');
    break;
    //etc.
    }

    Allerdings musst du für jeden Menüwechseln den Frame mit der SWF und dem entsprechenden Wert neuladen. Wenn du das ganze statisch programmierst, heisst das, für jeden Punkt eine HTML Datei.

    Hier würde sich dann PHP anbieten.


    Soweit klar?


    Liebe Grüße

    Yves
     
    sevY, 07.05.2004
  3. mcintyre

    mcintyre Thread StarterMacUser Mitglied

    Mitglied seit:
    10.12.2003
    Beiträge:
    1.172
    Zustimmungen:
    2
    Erstmal Danke für die Mühe!

    Ich dachte da eher an eine JS Lösung die ich einfach in die entsprechende Seite einbaue. Ist das nicht einfacher?

    Gruss

    mcintyre
     
    mcintyre, 07.05.2004
  4. sevY

    sevY

    &nbsp;

    Da hast du mich erwischt :D

    Prinzipiell mag ich keine Hybridseiten und beschäftige mich daher auch fast gar nicht mit Variablenaustausch zwischen HTML/JS und AS.

    Bisher brauchte ich das nur ein einziges Mal, da ich ein großes Projekt, das quasi 5 Seiten in einer enthielt und über verschiedene Domains erreichbar war, realisiert habe.

    Ich poste dir mal den Code dazu, vielleicht kannst du dir da etwas herausziehen.

    PHP:
    <?php
    require_once('cms/config.inc.php');
    switch(
    $_SERVER['HTTP_HOST'])
        {
        case 
    'www.XXX.de':
            
    $additional='XXX.';
            
    $selected='XXX';
            
    $favicon=$favicon['0'];
        break;
        case 
    'www.XXX1.com':
            
    $additional='XXX1.';
            
    $selected='XXX1';
            
    $favicon=$favicon['1'];
        break;
    //etc., spezifische Daten aus Diskretion gelöscht
        
    }
    ?>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
    <meta http-equiv="expires" content="7">
    <meta name="robots" content="all">
    <meta name="revisit-after" content="7 days">
    <meta name="author" content="XXX">
    <meta name="publisher" content="XXX">
    <meta name="copyright" Content="XXX">
    <title>XXX | <?php echo $additional?></title>
    <link rel="shortcut icon" href="cms/img/<?php echo $favicon?>">
    <link rel="stylesheet" type="text/css" href="cms/default.css">
    </head>
    <body>
    <table width="100%" height="100%">
        <tr>
            <td align="center" valign="middle">
                <table>
                    <tr>
                        <td>
                            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="954" height="730">
                            <?php
                            
    echo'
                                <param name="movie" value="home.swf?selected='
    .$selected.'"> 
                                <param name="quality" value="high"> 
                                <embed src="home.swf" flashvars="selected='
    .$selected.'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="954" height="730">
                                </embed>
                            '
    ;
                            
    ?>
                            </object> 
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table> 
    </body>
    </html>
    Ansonsten schau mal hier oder hier.

    Bokel oder Ludabruda bzw. Sebastian Wichmann oder Carsten Ennulat können dir sicherlich dabei helfen. Die Jungs sind Gold wert!


    Liebe Grüße

    Yves
     
    sevY, 07.05.2004
  5. sevY

    sevY

    Mir fällt grad ein… wenn du ein wenig in Javascript fit bist, kannst du auch eine Funktion definieren. Und dann einfach der Funktion aus Flash entsprechende Funktionsparameter mitgeben.

    zb.

    on(release)
    {
    getURL("javascript:ChooseSWF("name der datei.swf");");
    }


    Und die Funktion ChooseSWF() müsste dann im Head des HTML Dokuments entsprechend definiert werden.

    Man könnte da doch eventuell eine Verkettung von IF/ELSE oder einen switch(); basteln, der dann mit document.write(); den entsprechenden Code ausgibt.



    Liebe Grüße

    Yves
     
    sevY, 08.05.2004
  6. mcintyre

    mcintyre Thread StarterMacUser Mitglied

    Mitglied seit:
    10.12.2003
    Beiträge:
    1.172
    Zustimmungen:
    2
    Besten Dank für Deine Hilfe!

    Ich werde das mal testen. Muss aber vorher noch einige andere Änderungen einbauen. Besser würde es mir gefallen, wenn ich das gar nicht einbauen müsste. Ich halte die Idee grundsätzlich für Schwachsinn, da dadurch das ursprüngliche Navigationskonzept nicht mehr stimmt. Aber des Kunden Wunsch.....

    Gruss

    mcintyre
     
    mcintyre, 08.05.2004
  7. sevY

    sevY

    Des Kunden Wunsch…

    ich sitze gerade an einer Navigationstruktur in SQL für Flash mit „Sage und Schreibe“ 25 Ebenen Tiefe.

    Da hilft kein Rat und kein Flehen, der Kunde ist knöddelig… äh König ;)


    Liebe Grüße

    Yves
     
    sevY, 08.05.2004
Die Seite wird geladen...
Ähnliche Themen - Flash Navigation aus
  1. dylan51
    Antworten:
    11
    Aufrufe:
    2.462
    dylan51
    23.12.2016
  2. Marinero
    Antworten:
    1
    Aufrufe:
    490
    Bert H.
    05.12.2016
  3. Beani2000
    Antworten:
    0
    Aufrufe:
    1.125
    Beani2000
    13.12.2014
  4. jtkirk67
    Antworten:
    3
    Aufrufe:
    470
    PowerBookGrafik
    13.07.2006
  5. Maja84
    Antworten:
    5
    Aufrufe:
    650