hilfdirselbst.ch
Facebook Twitter gamper-media
colmans
Beiträge: 184
14. Mai 2004, 07:57
Beitrag #1 von 2
Bewertung:
(570 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Memory Karten schneller umdrehen!?


Hallo,

ich hab ein Problem mit meinem Memory-Spiel.

Im Moment wird auf mouseUp das Sprite mit der Kartenrückseite durch eine Vorderseite, die vorher durch Zufall ermittelt wurde, ersetzt. Bei der ersten Karte ist die Zeit noch so gerade akzeptabel, aber das umdrehen der zweiten Karte dauert fast eine Sekunde!

Wie kann ich das beschleunigen?

Ein anderes Problem entsteht, wenn man wie blöd mit der Maus weiterklickt... Director scheint sich wohl die angeklickten Karten zu merken und arbeitet sie gewissenvoll nacheinander ab. Das ist ärgerlich, aber noch ärgerlicher ist es, dass die Darstellung der Spielzeit auf dem Screen stehenbleibt. Wenn alle Klicks abgearbeitet sind wird die Zeit erst wieder aktualisiert.

Gibt es eine Möglichkeit das Annehmen weiterer Klicks zu verhindern solange die beiden ersten Karten geöffnet sind?

Ist es möglich, die Zeit kontinuierlich auf dem Screen zu aktualisieren?

Bitte um schnelle Hilfe!

Viele Grüße

Colmans Top
 
X
donkey shot
Beiträge: 1416
14. Mai 2004, 10:40
Beitrag #2 von 2
Beitrag ID: #85479
Bewertung:
(570 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Memory Karten schneller umdrehen!?


Hmmm... Da müsstest Du schon etwas genauer werden. Kann ja nicht hellsehen, wie Dein Skript aussieht. :)

Ich habe mal ein Memory-Spiel programmiert, das wunderbar funktioniert und zwar werden die Karten alle am Anfang gemischt.

Es gibt eine Liste mit jeweils identischen Einträgen (also die Paare). Die Liste wird nach einer zufallsmäßigen Formel gemischt und die Karten verdeckt "ausgelegt". Sprite 1 ist ganz oben links und der letzte sprite (das Spiel kann unterschiedlich groß sein) ganz unten links.

Wenn eine Karte umgedreht wird, liest Director die Position aus der Liste aus, also zB. sprite(22) entspricht cardList[22]. Jetzt merkt sich Director den Kartennamen (Name des Darstellers) und beim Umdrehen einer zweiten Karte werden die Namen verglichen. Sind sie ein Paar, werden die jeweiligen Sprites unsichtbar gemacht und können daher nicht mehr angeklickt werden.

Die Treffer werden auch in einer Liste gespeichert, ist eine bestimmte Anzahl erreicht, ist das Spiel fertig.

Beim klicken wird ein Zähler inkrementiert, dh.

bei 0 > Karte umdrehen, Zähler wird 1
bei 1 > noch ne Karte umdrehen, Zähler wird 2
bei 2 > Karten wieder verdecken, Zähler wird 0

Das ganze ist also ganz einfach und Director muß nirgendwo lang rechnen, abgesehen vom Mischen, das je nach Prozessorleistung mal ein bißchen dauert.

grüsse,

Christof
als Antwort auf: [#85445] Top