figur die bestimmte sprites aufsammeln kann (upgrades)

Anfängerfragen zum Programmieren mit PureBasic.
seggl
Beiträge: 17
Registriert: 25.08.2005 16:57

figur die bestimmte sprites aufsammeln kann (upgrades)

Beitrag von seggl »

wie kann ich es anstellen, dass eine figur etwas aufsammeln kann z.b. stärkere schüsse d.h. wenn die figur das jeweilige sprite berührt oder drüber fährt der schaden des schusses dann z.b. von 10 auf 15 gehoben wird und das sprite dann verschwindet. also, dass dann dieses upgrade weg ist und wenn man ein zweites mal drüberfährt auch nichts mehr passiert??
habs schon mit spritecollison und einer data section auprobiert hat aber nicht wirklich gefunzt.

wegen der data section etwa so hab ichs gemacht:

Code: Alles auswählen

DataSection                         
Data.l 1,1,1,1,1,1,1,1,1,1,1,1
Data.l 1,0,3,0,0,0,0,0,0,3,0,1
Data.l 1,0,0,0,0,0,0,0,0,0,0,1        ;1 = wand (nicht durchfahrbar)
Data.l 1,0,0,0,3,0,0,0,0,0,0,1        ;0 = freier raum (durchfahrbar)
Data.l 1,0,0,0,0,0,0,0,0,0,0,1        ;3 = upgrade sprite(erhöt werte)
Data.l 1,0,0,0,0,0,0,0,3,0,0,1        
Data.l 1,0,0,3,0,0,0,0,0,0,0,1
Data.l 1,1,1,1,1,1,1,1,1,1,1,1
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Nun, du setzt alle deine #Sprite in eine LinkedList, und gehst diese Liste dann vor jedem Bildaufbau durch. Wenn die Spielfigur (bzw. das Sprite dieser Figur) dann ein Sprite aus deiner LinkedList berèhrt, dann erhéhst du den entsprechenden Wert je nachdem, WELCHES Upgrade der Spieler berührt hat, und du löschst sowohl das eigentliche Sprite als auch dessen Eintrag in der LinkedList.
Ist an sich ganz einfach (zumindest das Konzept)... :allright:
seggl
Beiträge: 17
Registriert: 25.08.2005 16:57

Beitrag von seggl »

danke aber ich hab ein bisschen ein problem mit der umsetzung z.b bin ich nich so vertraut mit linked lists. könntest du mir vielleicht ein ganz einfach gehaltenes beispiel geben?
seggl
Beiträge: 17
Registriert: 25.08.2005 16:57

Beitrag von seggl »

nun noch eine frage wie kann ich ein sprite aus der linked list bzw. sonst normalerweise löschen???
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Aus der LinkedList löschst du kein Sprite, sondern nur das Element mit der Nummer des zu löschenden Sprites. Das Sprite selber löschst du mit ...

(... = Schau in der Hilfe unter "Sprite & Screen")
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> wie kann ich ein sprite aus der linked list bzw. sonst normalerweise löschen?

Zuerst musst Du das entsprechende Element selektieren:

Code: Alles auswählen

SelectElement(DeineLinkedList(), Position)
danach kannst Du es löschen:

Code: Alles auswählen

DeleteElement(DeineLinkedList())
Grüße ... Kiffi
a²+b²=mc²
Antworten