Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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!

}

Geschrieben

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

Geschrieben

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.

Geschrieben

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

Geschrieben

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.

Geschrieben

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

Geschrieben

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

Geschrieben

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!

Geschrieben

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

Geschrieben

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!

Geschrieben

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?

Geschrieben

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?

Geschrieben

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

Geschrieben

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?

Geschrieben

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.

Geschrieben

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

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