Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-05-2003, 10:25   #1 (permalink)
asozial
 
Benutzerbild von bundi
 
Registriert seit: Jun 2001
Beiträge: 1.197
[Flash5] Memory mit 3 variablen

mein erster oop- beitrag. *g*
ich weiss, hier gibt es schon ein memory vom gutgnut. aber da ich die vielfalt liebe und lieber selber was scripte und ich ein memory für meine kleine fee brauchte und blablabla ...

hier ist es ... es müssen nur 3 vars geändert werden. und wenn mir jemand sagen kann wie man die _root höhe und breite rausbekommt nur noch eine. und wenn ich es schaffe die spalten der tabelle aus den gesamtbilder zu berechnen ... gar keine mehr. *g*

ActionScript:
  1. // Flash5 Memory
  2. // einfach bilder in den mem-mc importieren, höhe und breite einstellen ... losspielen
  3. // benötig wird ein memory-mc als hauptfilm und ein mem-mc als bildcontainer.
  4. // das script kommt ins erste schlüsselbild.
  5. // ### allgemeines script ...mischen und dublizieren der karten ###
  6. movieclip.prototype.memoryload = function () {
  7.     // ### eistellungen:
  8.     // wieviele karten nebeneinander liegen sollen
  9.     breite = 5;
  10.     // die höhe und breite des flashfilms
  11.     filmbreite = 800;
  12.     filmhoehe = 600;
  13.    
  14.     // ### ab hier müsste nichts geändert werden!
  15.     // zurücksetzen der vars
  16.     gewinnzaehler = true;
  17.     punkte = 0;
  18.     prozent = 0;
  19.     // gesamtbilder berechnung mit einer array
  20.     gesamtbilder = mem._totalframes;
  21.     countbild = 1;
  22.     bild = new Array();
  23.     while (countbild < gesamtbilder){
  24.     countbild ++;
  25.     bild.push( countbild );
  26.     }
  27.     // bilder mischen in der array
  28.     bild = bild.concat(bild);
  29.     bild.sort(function () {return random(3)-1; });
  30.     // bilder auf der bühne dublizieren
  31.     xposstart = -mem._width/2;
  32.     yposstart = mem._height/2;
  33.     xpos = xposstart;
  34.     ypos = yposstart;
  35.     for (i=1; i<=(countbild-1)*2; i++) {
  36.         duplicateMovieClip ("mem", "mem"+i, i);
  37.         if (spalte == breite) {
  38.             xpos = xposstart;
  39.             ypos += mem._height+5;
  40.             spalte = 0;
  41.         }
  42.         spalte ++;
  43.         xpos += mem._width+5;
  44.         this["mem"+i]._x = xpos;
  45.         this["mem"+i]._y = ypos;
  46.         wo = bild[i-1];
  47.         this["mem"+i].w = wo;
  48.     }
  49.     // das spiel in der mitte positionieren
  50.     _x = (filmbreite/2) - (this._width/2);
  51.     _y = (filmhoehe/2) - (this._height/2);
  52.     // orginales bild verstecken
  53.     mem._visible = 0;
  54.     mem._width = 1;
  55.     mem._height = 1;
  56. };
  57. // ### allgemeines script ...klick- gewinn abfrage ###
  58. movieclip.prototype.memoryenter = function () {
  59.     // wie oft du schon ein bild aufgedeckt hast und ob es richtig ist
  60.     if (_root.klick == 1) {
  61.         wa = _root.w;
  62.     } else if (_root.klick == 2) {
  63.         wb = _root.w;
  64.         if (wa == wb) {
  65.             _root.gewonnen = "1";
  66.             // punkte zählen
  67.             if (gewinnzaehler) {
  68.                 punkte++;
  69.                 gewinnzaehler = false;
  70.             }
  71.         } else if (wa != wb) {
  72.             _root.gewonnen = "2";   
  73.         }
  74.     } else if (_root.klick == 0) {
  75.         gewinnzaehler = true;
  76.         _root.gewonnen = "0";
  77.     }
  78.     // dein durchschnitt
  79.     prozent = int(100*(punkte/gesamtklick));
  80. };
  81. // ### kartenscript ###
  82. movieclip.prototype.karteload = function () {
  83.     gotoAndStop (1);
  84.     // wie lange du aufgedeckte karten betrachten kannst
  85.     zeit = 10;
  86.     activ = false;
  87.     k = true;
  88. };
  89. movieclip.prototype.kartemouse = function () {
  90.     // klick und maus abfrage
  91.     if (this.hitTest(_root._xmouse, _root._ymouse) && _root.klick<2 && _visible == 1) {
  92.         if (k) {
  93.             activ = true;
  94.             gotoAndStop (w);
  95.             _root.w = w;
  96.             _root.klick += 1;
  97.             _parent.gesamtklick += .5;
  98.             k = false;
  99.         }
  100.     }
  101. };
  102. movieclip.prototype.karteenter = function () {
  103.     // richtig oder falsch abfrage
  104.     if (_root.gewonnen == "1" && activ) {
  105.         if (kc++ == zeit) {
  106.             _visible = 0;
  107.             _root.klick = 0;
  108.         }
  109.     }
  110.     if (_root.gewonnen == "2" && activ) {
  111.         if (kc++ == zeit) {
  112.             activ = false;
  113.             k = true;
  114.             kc = 0;
  115.             gotoAndStop (1);
  116.             _root.klick = 0;
  117.         }
  118.     }
  119. };

...wenn was ist dann hier posten.

F5-fla ist im anhang ...
Angehängte Dateien
Dateityp: zip memory.zip (6,9 KB, 218x aufgerufen)
bundi ist offline   Mit Zitat antworten
Alt 21-05-2003, 11:11   #2 (permalink)
::flash5user::
 
Benutzerbild von Heidsch
 
Registriert seit: Aug 2001
Ort: Berlin
Beiträge: 497
versuchs mal mit ...
ActionScript:
  1. Stage.width()
  2. Stage.height()
...
__________________
mfg :::heidsch:::

visit heidsch.de
visit oprspedition.de
visit megalogistik.de

letzter Besuch 15.07.2006 | Finde leider kaum noch Zeit zum flashen
Heidsch ist offline   Mit Zitat antworten
Alt 22-05-2003, 07:54   #3 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
heidsch - äuglein auf in Flash 5 gab es diese beiden wunderbaren Eigenschaften leider noch nicht. Und immer darauf achten keine Funktionsklammern bei Stage.width u. Stage.height! War bestimmt im eifer des Gefechts.

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 22-05-2003, 12:04   #4 (permalink)
::flash5user::
 
Benutzerbild von Heidsch
 
Registriert seit: Aug 2001
Ort: Berlin
Beiträge: 497
oh ja, mein fehler *schäm*

sorry für diese verwirrung
__________________
mfg :::heidsch:::

visit heidsch.de
visit oprspedition.de
visit megalogistik.de

letzter Besuch 15.07.2006 | Finde leider kaum noch Zeit zum flashen
Heidsch ist offline   Mit Zitat antworten
Alt 22-05-2003, 17:20   #5 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
heidsch - wie war das mit dem Stein und ohne Sünde - don't be in panic.

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 22-05-2003, 18:15   #6 (permalink)
Mit ohne "F"
 
Benutzerbild von slashmaster
 
Registriert seit: Nov 2002
Ort: Dresden
Beiträge: 1.051
Thumbs up

niceeeeeeeeeee!

aber die arme fee sieht traurig wirklich tränenerweckend aus..
slashmaster ist offline   Mit Zitat antworten
Alt 22-05-2003, 22:09   #7 (permalink)
asozial
 
Benutzerbild von bundi
 
Registriert seit: Jun 2001
Beiträge: 1.197
Zitat:
Geschrieben von Heidsch
oh ja, mein fehler *schäm*

sorry für diese verwirrung
macht nischt, ich dachte erst das es eine versteckte funktion ist ...aber es ging nicht.

@slashmaster ...so geht es meinem sohn auch. er lässt die fee deswegen sogar mit absicht gewinnen.
bundi ist offline   Mit Zitat antworten
Alt 11-06-2003, 11:06   #8 (permalink)
ah jetzt ja ...
 
Benutzerbild von Jörg
 
Registriert seit: Jun 2001
Ort: Kölle
Beiträge: 46
MEMORY - Abmahnwelle

Alle die dieses 'Aufdeckspiel' im Netz veröffentlichen, bitte nennt es um! Die Anwälte von Ravensburger gehen auf Abmahnjagd !!!!
Jörg ist offline   Mit Zitat antworten
Alt 22-09-2003, 11:33   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 40
RE: [Flash5] Memory mit 3 variablen

Hallo Leute,

das Script ist ja echt Klasse , habe aber noch meine Schwierigkeiten damit.

Ich hab noch eine weiter Variable deklariert "myCards = 24".
Sobald 2 Karten identisch sind ziehe ich 2 von der var myCards ab. Ist der Zähler dann auf 0 also alle Karten wurden aufgedeckt kommt in einer if abfrage gotoAndPlay("szene3", 1);

Leider springt er nicht zu der gewünschten Szene und ich versteh es nicht warum. Wenn ich in der IF Abfrage trace("HALLO"); eingebe bekomme ich die Ausgabe HALLO, was ja bedeutet das er schonmal in die IF Abfrage springt. Weiß jemand weiter?

Vielen Dank im voraus...
Stefan
cosmic ist offline   Mit Zitat antworten
Alt 11-02-2004, 13:22   #10 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 14
Habt ihr mittlerweile eine Lösung gefunden?

ich habe das gleiche Problem. Der scheint die goto Anweisungen nicht auszuführen.

Wäre super wenn jemand Rat wüsste

Gruß

Sven
sven_voecking ist offline   Mit Zitat antworten
Alt 12-02-2004, 05:53   #11 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 14
Anstelle der goto Anweisung, welche er seltsamerweise nicht ausführt, kannst du _root.nextFrame(); benutzen.

Vorher auf den verweisenden Frame einfach ein gotoAndPlay("SceneX",1) setzen.

Das Funktioniert dann.

Ich möchte noch gerne eine Zusatzfunktion einbauen, vielleicht kann da jemand helfen. Folgende Funktinalität.

Ich möchte spezielle Karten als Joker einsetzen. Soll bedeuten, wenn man ein Joker paar aufdeckt, so hat man sofort gewonnen.

Die Anzahl der Joker karten soll von der Gesamtanzahl der Karten abhängen.

bei 16 Karten soll 1 Joker Paar vorhanden sein.
ab 25 Karten 3 Joker Paare
ab 36 Karten 4 Joker Paare

vielleicht kann jemand helfen, danke

Gruß

Sven
sven_voecking ist offline   Mit Zitat antworten
Alt 12-02-2004, 06:42   #12 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 14
Kann man den Quellcode auch irgendwie Flash 7 kompatibel machen?

Oder die Frage, warum Funktioniert das nicht wenn man eine neuere Version von Flash in den Publish Settings enstellt?

Gruß

Sven
sven_voecking 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 15:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele