Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-01-2007, 10:58   #1 (permalink)
PixelPusher
 
Benutzerbild von Nikkore
 
Registriert seit: Apr 2006
Ort: Stuttgart
Beiträge: 2
Exclamation Sammelspiel: Reihenfolge einhalten

Hallo,

ich sitze derzeit an einem kleinen Flash - Game für eine Prüfung und stecke gerade an folgender Stelle fest:

Der Spieler steuert ein Auto in der Aufsicht über eine Karte und hat allerlei Hindernisse zu bewältigen.
Tastatursteuerung und Kollisionsabfragen sind soweit kein Problem.

Nun hat der Spieler aber auch die Aufgabe, zufällig erscheinende Objekte einzusammeln (auch kein Problem mit dem Hittest)
Allerdings müssen diese Objekte in ener gewissen Reihenfolge gesammelt werden, d.h. sammle ich Objekt 3 vor Objekt 1 so soll dies nicht möglich sein.

Ich habe bereits versucht, jedem Objekt einen Wert mitzugeben, der bei der Kollisionsabfrage mit den Objekten abgefragt wird.
Ist der Wert erfüllt, soll man das in der Reihe nächste Objekt einsammeln können, ist er es nicht, so ist es in der Reihenfolge das falsche Objekt und gibt einen Text aus.

Allerdings scheint das mit einer einfachen if/else - Abfrage nicht getan zu sein, deshalb meine Frage, wie so etwas in Grundzügen aussehen könnte.

Ich hoffe, ihr habt eine Idee, ich suche schon seit 4 Tagen nach einer passenden Schreibweise.

Vielen lieben Dank und Gruß,
Nikkore
Nikkore ist offline   Mit Zitat antworten
Alt 11-01-2007, 11:21   #2 (permalink)
Animateur
 
Benutzerbild von Master Wu
 
Registriert seit: Jan 2003
Ort: MZ
Beiträge: 1.536
if-abfrage passt schon, so zb. in etwa:

PHP-Code:
if (objekt.id == nextToSammelId) {
takeObject();
} else {
trace("falsche reihenfolge");

__________________
there is no way to happiness, happiness is the way - flashgames
Master Wu ist offline   Mit Zitat antworten
Alt 11-01-2007, 11:24   #3 (permalink)
Flashbitch
 
Benutzerbild von X-Tender
 
Registriert seit: Oct 2003
Ort: Hannover
Beiträge: 279
Einfach würde ic hes so lösen das bei jedem objekt das du erzeugst (was in der richtigen reihen folge sein sollte) eine variabel mit übergibst.

also
i=0;

var newObj:MovieClip = attachMovie("obj","obj"+i,depthblabla);

newObj.index:Number = i;


dnan machen wir noch eine globale varaible die anzeigt wieviel man eingesammelt hat

var collectedObjs:Number = 0;

und beim hitTest machst du dann lediglich

if(auto.hitTest(_root["obj"+i])){
if(_root["obj"+i].index == collectedObjs){
//einsammeln
collectedObjs++;
}
}


syntax und logik net richtig nur so zur erklärung

sollte dann eigentlich klappen meiner meinung nach.
__________________
Fuchtelworld
X-Tender ist offline   Mit Zitat antworten
Alt 11-01-2007, 14:04   #4 (permalink)
PixelPusher
 
Benutzerbild von Nikkore
 
Registriert seit: Apr 2006
Ort: Stuttgart
Beiträge: 2
Zitat:
Zitat von X-Tender Beitrag anzeigen
Einfach würde ic hes so lösen das bei jedem objekt das du erzeugst (was in der richtigen reihen folge sein sollte) eine variabel mit übergibst.

also
i=0;

var newObj:MovieClip = attachMovie("obj","obj"+i,depthblabla);

newObj.index:Number = i;


dnan machen wir noch eine globale varaible die anzeigt wieviel man eingesammelt hat

var collectedObjs:Number = 0;

und beim hitTest machst du dann lediglich

if(auto.hitTest(_root["obj"+i])){
if(_root["obj"+i].index == collectedObjs){
//einsammeln
collectedObjs++;
}
}


syntax und logik net richtig nur so zur erklärung

sollte dann eigentlich klappen meiner meinung nach.
Das hab ich jetzt mal ein paar Stunden durchprobiert und bin leider immer noch nicht viel weiter als vorher, obwohl die Machart an sich einleuchtend ist.

Wo der Fehler liegt, kann ich nicht genau sagen, da mein Syntax wohl richtig zu sein scheint, das Auto aber nicht auf die Objekte anspringt.
Nikkore ist offline   Mit Zitat antworten
Alt 11-01-2007, 14:17   #5 (permalink)
Animateur
 
Benutzerbild von Master Wu
 
Registriert seit: Jan 2003
Ort: MZ
Beiträge: 1.536
wenn du hilfe willst, musst du schon etwas mehr geben als "die syntayx scheint richtig zu sein, aber es geht nicht"

poste den genauen code oder lade die fla hoch
__________________
there is no way to happiness, happiness is the way - flashgames
Master Wu ist offline   Mit Zitat antworten
Alt 11-01-2007, 14:26   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Und immer mal die Werte ausgeben lassen, ich sehe gar kein trace();
Omega Psi ist offline   Mit Zitat antworten
Alt 11-01-2007, 14:47   #7 (permalink)
Flashbitch
 
Benutzerbild von X-Tender
 
Registriert seit: Oct 2003
Ort: Hannover
Beiträge: 279
Das mit trace sollte klar sein .. es war nur eine Veranschaulichung und kein copy/paste code ...
__________________
Fuchtelworld
X-Tender 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 18:24 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele