AS3: Dynamisch-beschrifteter Button mit einem Link auf eine andere Webseite/URL-Adresse

Die meisten Anfänger scheitern schon bei den einfachsten Anforderungen. Dazu gehört beispielsweise ein einfacher Button, der dynamisch zur Laufzeit beschriftet wird und eine externe Webseite/URL-Adresse öffnet. Verwendet wird diese Art von Buttons in Navigationen für Webseiten oder in CMS Systemen. Das folgende Skript macht aus einer beliebigen Instanz mit dem Namen „meinFeld“ einen Button. Dieses muss in die Zeitleiste des Films eingefügt werden:

import flash.events.MouseEvent;

//Eventlistner hinzufügen
meinFeld.addEventListener(MouseEvent.CLICK, click);

// Clickevent verarbeiten
function click(e:MouseEvent):void
{
	 // Hier passiert was, z.B.
	 trace("Klick erfolgreich!");
}


Nun wird die Funktionalität dem Button hinzugefügt. Hierfür nutze ich die Funktion navigateToURL(). Diese benötigt zwei Parameter, zum einen die URL-Adresse in Form eines URLRequest Objektes und zum anderen ein Flag, wie die URL-Adresse geöffnet wird. Zur Auswahl stehen folgende Varianten:

  • "_self"
    • Öffnet die URL-Adresse im aktuellen Frame/aktuellen Fenster.
  • "_blank"
    • Öffnet die URL-Adresse in einem neuen Fenster.
  • "_parent"
    • Öffnet die URL-Adresse im übergeordneten Frame des aktuellen Frames.
  • "_top"
    • Öffnet die URL-Adresse im obersten Frame im aktuellen Fenster.

Der Code sieht nun so aus:

import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.navigateToURL;

//Eventlistner hinzufügen
meinFeld.addEventListener(MouseEvent.CLICK, click);

// Clickevent verarbeiten
function click(e:MouseEvent):void
{
	// Hier passiert was, z.B.
	var url:URLRequest = new URLRequest("http://www.google.de");
	navigateToURL(url, "_blank");
}

Durch duplizieren des Codes kann man sich so ein eigenes kleines Flash-Menü bauen. Zusätzlich kann man die verschiedenen Zustände, wie Roll_Over und Roll_out, animieren. Dies könnt ihr demnächst hier lesen.

[download id=“4″ format=“2″]

Quelle

Adobe




Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.