Flashhilfe.de - Flash Community

hintergrund (bild) eines buttons ändern [Flash 7]

Forum > ActionScript 2.0 > hintergrund (bild) eines buttons ändern

 


AntwortenRegistrieren Seite1  

 28.04.2009, 13:53 
Benutzerbild von rodeostar
Beiträge: 4
Registriert: Apr 2009

hintergrund (bild) eines buttons ändern
hi,

ich möchte beim laden den hintergrund eines button verändern. es soll auf dem button ein bild geladen werden. dieses wird als parameter über html bzw. php übergeben.

bis jetzt hab ich nur den klick hinbekommen.

ActionScript:
1
2
3
4
on (press)
{
   getURL("http://www.test.de", "_blank");
}


bitte um hilfe.

mfg stephan
Sie brauchen einen Computer nicht einzuschalten, um festzustellen, ob WINDOWS installiert ist.
Sehen sie einfach nach, ob die Aufschrift auf dem Reset-Knopf noch lesbar ist!
Geändert von rodeostar am 28.04.09 um 13:54 Uhr

 28.04.2009, 14:02Re1
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

ist doch schonmal ein Anfang ;)
Soll das Bild dann beim Klick auf den Button als Hintergrund erscheinen oder soll das Bild schon die ganze Zeit als Button-Hintergrund da sein?
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
 28.04.2009, 15:02Re2
Benutzerbild von rodeostar
Beiträge: 4
Registriert: Apr 2009

Themenautor/in

das bild soll schon beim laden vorhanden sein. da das swf mehrmals geladen wird, zur ansicht von produlten in einem webshop. beim klick darauf geht dann die detailseite auf.
Sie brauchen einen Computer nicht einzuschalten, um festzustellen, ob WINDOWS installiert ist.
Sehen sie einfach nach, ob die Aufschrift auf dem Reset-Knopf noch lesbar ist!
 
nicht sichtbar bei eingeloggten Mitgliedern
 29.04.2009, 11:58Re3
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

Hallo Stephan,

das Bild bzw. den Pfad zum Bild übergibst du also html-seitig. Das bedeutet, du übergibst eine Variable, dessen Inhalt der Pfad zum Bild ist. Auf diese kannst du dann einfach per ActionScript zugreifen.

Wenn das Bild, so wie du schreibst, schon von vornherein als Buttonhintergrund dienen soll, ist die Sache relativ einfach.
Du musst zunächst das Bild selbst zur Laufzeit in deine swf laden. Dafür hast du zwei Möglichkeiten. Zum einen die "einfache" Variante über loadMovie.

Ich gehe jetzt der Einfachheit halber mal davon aus, dass du die Variablen (ich nenne die Variable mal bild und den pfad zum Bild bilder/bild.jpg) richtig in dein HTML/PHP-Dokument eingebunden hast.

Dann benötigst du auf der Bühne einen MovieClip (deinen Button) mit dem Instanznamen button. In diesem MovieClip erstelle ich mir immer noch einen MovieClip mit dem Instanznamen platzhalter. Das ist zwar nicht unbedingt nötig, aber meiner Meinung nach ist man damit später etwas flexibler.

Wie schon erwähnt, liegt die übergebene Variable bild dank der hoffentlich richtigen Einbindung in HTML schon in deiner swf vor. Du brauchst dann lediglich folgendes ActionScript, um das Bild in deinen Button zu laden:

ActionScript:
1button.platzhalter.loadMovie(bild);


und dann eben das bereits von dir beschriebene Script zum aufrufen deiner Detail-Seiten:

ActionScript:
1
2
3
button.onPress = function() {
getURL("http://www.test.de", "_blank");
}


Die zweite, etwas umfangreichere Möglichkeit, das Bild zu laden, nutzt die MovieClipLoader-Klasse. Diese hat den Vorteil, dass sie dem Flashfilm eine Rückmeldung über den Ladestatus des Bildes gibt. Denn das Laden eines externen Bildes in den Flashfilm benötigt natürlich etwas Zeit. Um auf das Bild bzw. dessen Eigenschaften zugreifen zu können, muss es aber komplett geladen sein (was direkt nach dem Aufruf der swf-Datei natürlich noch nicht der Fall ist).

Die LoadMovie-Methode sollte fürs erste allerdings funktionieren. Dennoch empfehle ich dir, die MovieClipLoader-Klasse zu verwenden, da hier auch relativ leicht eine Anzeige des Ladezustands möglich ist (Preloader).

Ich hoffe, ich konnte dir fürs Erste etwas helfen.

Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
 29.04.2009, 17:42Re4
Benutzerbild von rodeostar
Beiträge: 4
Registriert: Apr 2009

Themenautor/in

Danka Patrick für diene gute Erklärung. Aber es geht immer noch net. Ich bekomm folge Fehlermeldungen:

**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 1: Anweisung muss innerhalb einer on-Prozedur vorliegen
    button.platzhalter.loadMovie(bild);

**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 3: Anweisung muss innerhalb einer on-Prozedur vorliegen
    button.onPress = function() {

Anzahl der ActionScript-Fehler: 2     Gemeldete Fehler: 2

Könntest du mir eine FLA fertig machen das ich das anschaulich vormir habe?

Danke Stephan
Sie brauchen einen Computer nicht einzuschalten, um festzustellen, ob WINDOWS installiert ist.
Sehen sie einfach nach, ob die Aufschrift auf dem Reset-Knopf noch lesbar ist!
 29.04.2009, 17:49Re5
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

Ich sehe gerade, dass du mit Flash7 entwickelst. Die Fehler klingen für mich gerade nach einem "veralteten" Flash-Player.
Ich versuch dir aber mal was zusammenzubasteln und meld mich dann wieder.
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'
 
nicht sichtbar bei eingeloggten Mitgliedern1&1 Webhosting
 30.04.2009, 08:54Re6
Benutzerbild von Sleepingbeast
Beiträge: 579
Wohnort: Halle
Registriert: Apr 2005

So Stephan,

ich hab dir mal 2 Flash-Filmchen zusammengebastelt.
Einmal mit der loadMovie-Methode (die einfache aber schlechtere Möglichkeit) und einmal mit der MovieClipLoader-Klasse (zwar mehr Code, aber dafür mit Preloader). Ist allerdings in Flash 9 geschrieben. Ich hoffe, du kannst es öffnen bzw. ausführen. Zur Not kann ich es dir maximal noch bis zur Version 8.0 runterschrauben.

Übrigens verwende ich zur Einbettung der swf-Dateien in das HTML-Umfeld die Datei swfobject.js. Das ist meines Erachtens optimaler als direkt aus Flash mit der AC_RunActiveContent.js.

Ich hoffe, du findest dich zurecht. Wenn nicht, meld dich einfach wieder.

Patrick
_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0'


Angehängte Dateien:
Komprimierte Datei buttonHintergrund.zip81.00 KB
Geändert von Sleepingbeast am 30.04.09 um 08:55 Uhr

 30.04.2009, 12:59Re7
Benutzerbild von Daemon_92
Beiträge: 339
Wohnort: Ludwigsburg; Stuttgart
Registriert: Jan 2006

ActionScript:
1
2
Ich sehe gerade, dass du mit Flash7 entwickelst. Die Fehler klingen für mich gerade nach einem "veralteten" Flash-Player.
Ich versuch dir aber mal was zusammenzubasteln und meld mich dann wieder.


Quatsch.


Das hängt einzig und alleine damit zusammen, dass er das Script auf den
Button gelegt hat, was hier falsch ist.

Du musst das Script in die Hauptzeitleiste legen und deinem Button den
Instanznamen geben, den du verwenden willst.
(Im Beispiel "button").

MfG
- What's next? -
Geändert von Daemon_92 am 30.04.09 um 13:00 Uhr

 05.05.2009, 12:40Re8
Benutzerbild von rodeostar
Beiträge: 4
Registriert: Apr 2009

Themenautor/in

Hab jetzt die zweite Variante genommen, funtzt einwandfrei. Danke ihr beiden!!!
Sie brauchen einen Computer nicht einzuschalten, um festzustellen, ob WINDOWS installiert ist.
Sehen sie einfach nach, ob die Aufschrift auf dem Reset-Knopf noch lesbar ist!
 
Themen
Ähnliche Beiträge zum Thema
Scrollpane Hintergrund ändern [Flash 10] 02.07.2009 - babyterminator
 

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de