Veröffentlicht 7. Dezember 200816 j 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
8. Dezember 200816 j 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! }
10. Dezember 200816 j ä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...
10. Dezember 200816 j 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.
10. Dezember 200816 j 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...?
10. Dezember 200816 j Tja, das wird so nicht funktionieren. Erstmal nimmst Du den MC Balken wieder aus dem DOWN-Status raus.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".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.
10. Dezember 200816 j 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...
10. Dezember 200816 j 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?!
10. Dezember 200816 j Was suchst Du Dir auch ausgerechnet die Flash-Version die für die meisten Bugs bekannt ist raus?! ...sorry Script sieht jetzt so aus....: balken.stop(); balken._visible = false; Button.onRelease = function(){ balken._visible = true; balken.play(); } ...bleibt aber unverändert!
10. Dezember 200816 j hier, aber ich nehm den link gleich wieder raus aus vielleicht verständlichen gründen: link ist wieder draussen Bearbeitet 10. Dezember 200816 j von querdenker3000
10. Dezember 200816 j 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 ...
10. Dezember 200816 j 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 ;-((
10. Dezember 200816 j 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!
10. Dezember 200816 j 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?
10. Dezember 200816 j 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?
10. Dezember 200816 j 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
10. Dezember 200816 j 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?
10. Dezember 200816 j 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.
10. Dezember 200816 j 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.