Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Flash MX - onclick(?) Problem!

Empfohlene Antworten

Veröffentlicht

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

Tjo, das ist total simple, aber es giebt ungefähr 27.000.000 Wege, wie man das erreicht. Wie wäre es, wenn Du mal dein derzeitiges Skript postest?

Allgemein: F1 drücken und schon findet man sowas hier:

meinButton.onRelease = function():Void{

   //mach was ich will!

}

ä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...

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.

also ehrlich gesagt ich blicks nicht ;-(

...ich hab eben 3 screenshots gemacht, hab aber momentan noch keinen webspace um sie hier einzusetzen. Wäre es möglich sie dir per mail zu schicken, dann könntest du wenigstens sehen wie in etwa es aufgebaut ist...?

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.

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...

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?!

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

...sorry :D

Script sieht jetzt so aus....:


balken.stop();

balken._visible = false;

Button.onRelease = function(){

balken._visible = true;

balken.play();

} 

...bleibt aber unverändert!

hier, aber ich nehm den link gleich wieder raus aus vielleicht verständlichen gründen:

link ist wieder draussen

Bearbeitet von querdenker3000

Oh Gott, wo hast Du das Template denn her ...

Naja, die Lösung ist recht einfach:

Ich schrieb ja schon zuvor, dass Du den Sachen INSTANZNAMEN geben musst. sonst funktioniert das nicht.

Siehe Anhang. Kaum sind die gesetzt, funktioniert auch das mit dem Klicken ... :rolleyes:

post-19947-14430448157778_thumb.jpg

mir gefällt das Template ;)

Kaum sind die gesetzt, funktioniert auch das mit dem Klicken ...

...ähm...also Instanzname hab ich gesetzt, aber ganz ehrlich...funzt immer noch net. Prob bleibt unverändert ;-((

Also in der FLA, die Du mir geschickt hast, war keiner der nötigen Instanznamen gesetzt. Und nachdem ich die eingebaut hab läuft das Ding auch tadellos mit den Klicks. Instanznamen sind nicht das gleiche wie Bezeichner in der Bibliothek!

sorry muss mich korrigieren...funzt doch...hab vergessen den instanznamen von BALKEN zu ändern ;) ...

:uli geil :uli

...wär nur noch eine Frage...wenn ich jetzt ein "x" oder schliessen button in den MC einsetze um das Fenster zu schliessen...was müsst ich da noch beachten?

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?

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

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?

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.

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...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.