Aus FLash HTML Hintergrundfarbe ändern

pat_morita

Mitglied
hi,

ich habe ein Script gefunden, daß die Hintergrundfarbe des Browsers ändern soll. Bin noch relativ neu im Flash, lerne auch schon fleißig AS aber hier blick ich nicht ganz durch.
Kann mir jemand das script mal kurz erklären, damit ich's versteh und nachvollziehen kann? (Sonst bringt's mir ja für die Zukunft nix)
Welche Rolle spielen beispielsweise "farbwert" und "hintergrund" im AS Script? vorher deklarieren?

in HTML
HTML:
<html><head>
<title>farbe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/JavaScript">
<!--
function farbe(wert) {
if (wert && document.getElementById) {
document.getElementById('mybody').bgColor = wert;
}
}
//-->
</script>

</head>


PHP:
function farbe(farbwert) {
//
//Hintergrund umschalten
my_color = new Color(hintergrund);
my_color.setRGB(farbwert);
//
//farbe auf java umschreiben und an die Funktion schicken
farbwert = "#" + farbwert.substring(2, farbwert.length);
getURL("javascript:farbe('" + farbwert + "')");
}

deinButton.onPress = function(){farbe("0xFF0000");}

lg Pat
 
Hi,

  1. die JS-Funktion "farbe" bekommt einen Farbwert übergeben, und ändert die Hintergrundfarbe des html-Objekts mit der ID "mybody" auf diesen Farbwert. Der Farbwert wird als String im Format "#RRGGBB" übergeben.

    Willst Du z.B. die Hintergrundfarbe der gesamten Seite ändern, musst Du dem body-Tag die ID "mybody" geben.

  2. der ActionScript-Block besteht zum einen aus einer Funktion, die ebenfalls "farbe" heisst. Ihr wird ebenfalls ein Farbwert als String (allerdings im Flash-Hexadezimalformat; "#FFAA00" wäre z.B. "0xFFAA00") übergeben.

    Um auch den Hintergrund des Flashfilms zu ändern, muss sich auf der Bühne ein MC mit dem Instanznamen "hintergrund" befinden, der genau so groß wie die Bühne ist.

    Die Funktion erstellt zunächst ein Farbobjekt für den Hintergrund-Clip, und weist ihm dann die übergebene Farbe zu (dies geschieht mit der setRGB-Methode).

    Nun wird der numerische Farbwert so umgewandelt, dass die JavaScript-Funktion etwas damit anfangen kann (aus 0xFF0000 muss #FF0000 werden). Dazu wird das Zeichen "#" vorangestellt und der übergebene String ab dem 3. Zeichen (mit der substring-Methode) hintenangestellt.

    Zuletzt wird die JavaScript-Methode mittels der getURL-Aktion aufgerufen.

    Die letzte Zeile des Codes weist einem MovieClip mit dem Instanznamen "deinButton" die Funktion "farbe" zu, so dass die Hintergrundfarbe beim Klick auf diesen MC geändert wird.

Anmerkung: Die substring-Methode ist veraltet, und es ist ebenfalls eleganter, den Farbwert eines Color-Objektes mit numerischen Werten anzugeben. Ich würde die Methode "farbe" so notieren:
Code:
function farbe(col) {
  var col = new Color(hintergrund);
  col.setRGB(col);
  var colstr = "#" + col.toString(16);
  getURL("javascript:farbe('" + colstr + "')");
}

deinButton.onPress = function() {
  farbe(0xFF0000);
}

Gruß
 
Zurück