Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-01-2004, 17:36   #1 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Button gedrückt speichern im Array

Mein Problem:


Ich will zu jeder Zeit abrufen können, welcher der Buttons "thumb1" bis zB "thumb4" schon gedrückt wurde und welcher nicht.
Denn solbald der User über einen Button fährt, soll ein anderer MC spielen - aber eben nur beim ersten mal, wenn man darüber fährt.

Ich würde (aus noch ein paar weiteren Gründen) gerne folgende Methode dazu verwenden:

Einen Array anlegen.
Beim Übern-Btn-Gehen:
teste, ob der Name des Buttons schon im Array ist
Wenn nicht
Mache xy
Wenn ja
Mache vz
johanness ist offline   Mit Zitat antworten
Alt 20-01-2004, 17:39   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Und wo ist das Problem ?

Edit:
Achso, weiss schon. Echte Buttons lassen sich nicht so gut programmieren, nimm lieber MovieClips stattdessen.


mfg r.
bokel ist offline   Mit Zitat antworten
Alt 20-01-2004, 18:03   #3 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Hab ich ja eh, aber ich kenn mich mit Arrays eben noch nicht gut aus....
johanness ist offline   Mit Zitat antworten
Alt 20-01-2004, 18:40   #4 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Dann probier es mal so:

ActionScript:
  1. /**
  2. * Erzeuge einen Button
  3. */
  4. function createButton( nr){
  5.     var mc = _root.createEmptyMovieClip("button_" + nr, nr);
  6.     mc._x = nr * 50;
  7.     //
  8.     // ich zeige mich
  9.     mc.lineStyle(40);
  10.     mc.lineTo(1, 1);
  11.     //
  12.     // bei der ersten berührung werde ich rot
  13.     mc.onRollOver = function() {
  14.         // ich bin dran, aufpusten
  15.         this._xscale = this._yscale = 120;
  16.        
  17.         // war ich schon dran ?
  18.         // mal in der liste nachschauen
  19.         for( var i in gedrueckt){
  20.             // stehe ich auf der liste ?
  21.             if (gedrueckt[i] == this) {
  22.                 // ja, also nichts wie raus hier
  23.                 trace("Ich war schonmal dran " + this);
  24.                 return;
  25.             }
  26.         }
  27.         // nein, es ist die erste berührung
  28.         trace("Zum ersten Mal berührt " + this);
  29.         //
  30.         // ich speichere mich selbst in der gedrueckt liste
  31.         gedrueckt.push( this);
  32.         //
  33.         // und werde rot
  34.         new Color(this).setRGB(0xff0000);
  35.     };
  36.     //
  37.     // beim rollout werde ich wieder klein
  38.     mc.onRollOut = function() {
  39.         this._xscale = this._yscale = 100;
  40.     };
  41. }
  42.  
  43. /**
  44. * Neues Array und Buttons erzeugen
  45. */
  46. function main(){
  47.     gedrueckt = new Array();
  48.     for (var i = 0; i < 4; i++) {
  49.         createButton(i);
  50.     }
  51. }
  52.  
  53. main();

Wenn du die Eigenschaft gedrückt im Button selbst speicherst, kannst du dir das Array noch sparen.

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 20-01-2004, 19:21   #5 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Edit *net gescheit gelesen*: Danke das ist das was is ca. wollte. Werde mir dann morgen mein Script daraus basteln

Dann müsste das Thema auch so gut wie fertig sein....

Geändert von johanness (20-01-2004 um 19:29 Uhr)
johanness ist offline   Mit Zitat antworten
Alt 20-01-2004, 19:27   #6 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Ja klar, das ginge auch

Such mal hier im Forum nach Pheidrias Arraytutorial, das soll ganz gut sein.

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 21-01-2004, 16:31   #7 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Hallo,
geht nicht so ganz auf, weil meine Butons nicht von 1 bis 4 durchnummeriert sind, sondern thumb1 bis thumb4 heißen....

Kann man das nich passend umschreiben?
ActionScript:
  1. // war ich schon dran ?
  2.                 // mal in der liste nachschauen
  3.                 for( var i in gedrueckt){
  4.                         // stehe ich auf der liste ?
  5.                         if (gedrueckt[i] == this) {
  6.                                 // ja, also nichts wie raus hier
  7.                                 trace("Ich war schonmal dran " + this);
  8.                                 return;
  9.                         }
  10.                 }
  11.                 // nein, es ist die erste berührung
  12.                 trace("Zum ersten Mal berührt " + this);
  13.                 //
  14.                 // ich speichere mich selbst in der gedrueckt liste
  15.                 gedrueckt.push( this);
johanness ist offline   Mit Zitat antworten
Alt 21-01-2004, 16:48   #8 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
So hast doch noch selbst geschafft. Für alle dies interessiert:

ActionScript:
  1. thumb_load = function (clip) {
  2.  
  3.                 var status = false;
  4.                 for (var i in gedrueckt) {
  5.                         // stehe ich auf der liste ?
  6.                         if (gedrueckt[i] == clip) {
  7.                                 // ja, also nichts wie raus hier
  8.                                 trace("Ich war schonmal dran " + clip);
  9.                                 status = true;
  10.                         }
  11.                 }
  12.                 if(status == false) { 
  13.                     trace("Zum ersten Mal berührt " + clip);
  14.                     // ich speichere mich selbst in der gedrueckt liste
  15.                     gedrueckt.push(clip);
  16.                 }
  17. }
  18.  
  19.  
  20.  
  21. MeinButton.onPress = function() {
  22.                 thumb_load(this._name);
  23. }



Das Script erledigt folgendes:
Es ist jetzt immer überprüfbar, ob der vom User gedrückte Button schon einmal gedrückt wurde oder sdas erste mal dran ist.
johanness ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele