Zum Inhalt springen

Flash MX - onclick(?) Problem!


querdenker3000

Empfohlene Beiträge

Hallo,

ich bin grad ein wenig an einer HP am werkeln und hab folgendes Problem:

Ich habe einen Button, und ich möchte, das wenn man draufklickt ein bestimmter Text erscheint (und "stehenbleibt").

Ich kann mir denken das es sicherlich total easy ist, ich jedoch komm damit nicht wirklich klar und würde mich über jede Hilfe freuen ;)

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

ähm...also ehrlich gesagt hab ich kein script. Hab nicht wirklich die grosse ahnung von AS und ausserdem klappts soweit ganz gut ohne.

Habs endlich geschafft das zwar text (bzw. movie mit anschliessendem text) erscheint sobald ich auf die betreffende zeile klicke...aber wieder verschwindet sobald ich die maustaste loslasse.

Wo genau muss ich...:


[COLOR="Red"][B]meinButton[/B][/COLOR].onRelease = function():Void{

   //mach was ich will!

}

...einfügen?

Sorry aber in sachen AS bin ich wirklich noob!

Also der Button besteht ja aus UP, OVER, HIT & DOWN. Ich hab ein movie unter HIT eingesetzt. Aber weiter komm ich, wie gesagt, auch nicht...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die einzelnen Stati des Buttons (mit Buttons arbeitet man eigentlich ohnehin nicht mehr, sondern macht alles mit MovieClips) haben damit eigentlich nichts zu tun. HIT gibt in diesem Fall nur an, was passiert, wenn der Button gedrückt wird. Sobald die Maustaste aber wieder losgelassen wird, wechselt der Button logischerweise wieder in den UP-Status.

Mein Skript gehört auf die Hauptzeitleiste wobei "meinButton" dem Instanznamen deines Buttons entspricht. Einen MovieClip in den HIT-Status zu packen macht somit wenig Sinn, weil man ihn dann nicht vernünftig steuern kann. Am einfachsten wäre es wahrscheinlich, den Clip, der beim Click abgespielt werden soll von anfang an auf die Bühne zu legen, ihm ein stop(); mitzugeben, ihn zusätzlich auf _visible = false; zu setzen und dann einfach

meinButton.onRelease = function():Void{

   this._parent.overMC._visible = true;

   this._parent.overMC.play();

}

Man kann (sollte es aber tunlichst vermeiden) die Aktion auch direkt auf den Button legen, oder, oder, oder ...

Letztendlich hängt es aber von der Struktur Deiner FLA ab, wie das ganze genau gestrickt werden muss oder sollte und die kennt außer Dir nunmal niemand.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tja, das wird so nicht funktionieren.

  1. Erstmal nimmst Du den MC Balken wieder aus dem DOWN-Status raus.
  2. Dann machst Du in der _root-Ebene einen neuen Layer und packst den MC Balken da in Bild 2 und giebst ihm den Instanznamen "balken".
  3. Dann machst Du Dir einen weiteren Layer mit dem Titel "Actions" und schreibst in Bild 2 folgendes:

balken.stop();

balken._visible = false;

Button.onRelease = function():Void {

balken._visible = true;

balken.play();

}

Im Übrigen ist es eine äußerst schlechte Idee den für eine Klasse reservierten Namen (Button) als Instanznamen zu verwenden. Das solltest Du dringend ändern.

So funktioniert das zumindest in AS2. Flash MX ist bei mir echt zu lange her, als dass ich garantieren könnte, dass Timeline-Skripts unterstützt werden. Schließlich reden wir hier von einer fast schon antiken Flashversion.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm...soweit so gut...

Es erscheint jedoch die Fehlermeldung:

Symbol=services page, Layer=Actions, Frame=2: Line 3: '{' expected

Button.onRelease = function():Void {

Symbol=services page, Layer=Actions, Frame=2: Line 6: Unexpected '}' encountered

}

Sobald ich das Menü (in diesem Fall Services Page) startet sofort der MC und wartet gar nicht darauf "geklickt" zu werden...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und ich sag noch, ich bin in AS1 nicht mehr so fit ...

Schmeiß mal das :Void raus. Ich glaub das gab's in AS1 noch nicht. Und der Compiler scheint auch dementsprechend nachfolgende Angaben nicht zu ignorieren.

Was suchst Du Dir auch ausgerechnet die Flash-Version die für die meisten Bugs bekannt ist raus?!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Welches Fenster willst Du schliessen? Was man beachten muss, hängt immer von dem genauen Vorhaben ab. Wie wäre es, wenn Du Dir wirklich erstmal die absoluten Basics von Flash zu Gemüte führst, ehe Du Dich an die Anpassung eines solch umfangreichen und noch dazu nicht gerade sauber gebauten Templates setzt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich meine den MC welcher sich durch den klick zuvor geöffnet hat.

Wie wäre es, wenn Du Dir wirklich erstmal die absoluten Basics von Flash zu Gemüte führst, ehe Du Dich an die Anpassung eines solch umfangreichen und noch dazu nicht gerade sauber gebauten Templates setzt?

Ich würde mir Deinen Ratschlag gerne zu herzen nehmen, das Problem an der ganzen Sache das ich enorm unter Zeitdruck stehe. Ich mache mich (gezwungener maßen) in Kürze selbstständig und die Seite muss baldmöglichst fertig werden...

...da bleibt leider keine Zeit für's Lernen von Basics. Und aus finanziellen Gründen muss ich die Seite halt selbst fertig bekommen :(:D

Link zu diesem Kommentar
Auf anderen Seiten teilen

es bleibt echt nur noch die sache mit dem schliessen, dann hab ich eigentlich alles was ich brauch um bald fertig zu werden ;)

Und noch eine Frage..kann ich :


balken.stop();

balken._visible = false;

Button.onRelease = function(){

balken._visible = true;

balken.play();

}

...eigentlich das AS für alle Buttons untereinander schreiben?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das mit dem Schließen ist auch wieder so eine Sache, die man auf viele Arten erreichen kann. Allerdings musst Du dazu die Struktur der FLA verstehen und genau wissen, was Du wirklich machen willst. Ich kann Dir hier nicht jeden Code-Schnipsel vorkauen, damit Du Dein Projekt "selbständig" fertig gemacht hast. Denn ich für meinen Teil verdiene genau damit mein Geld, nämlich für Leute zu arbeiten, die sich mit Flash nicht auskennen, aber Flash haben wollen.

Und ja, Du kannst das AS für die Buttons, die im selben Scope liegen natürlich im gleichen Frame schreiben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

naja ok...danke trotzdem.

Und mit "selbstständig" mein, den Content einbauen. Mag für Dich ein Kinderspiel sein, aber für nen Noob ne ganz schöne Tüftelei...

Werds denn mal weiterhin mit simpler logik versuchen. Ist vielleicht nicht so effektiv wie AS...aber ich denke mir fällt da schon was ein ;)

also noch mal Danke...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...