Frage zu kollisions abrfrage

Für allgemeine Fragen zur Programmierung mit PureBasic.
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Frage zu kollisions abrfrage

Beitrag von True29 »

Hi,
es geht um ein kleines fußballgame in dem ich nun gerne die kollesion der spieler abfangen will.
Momentan sind alle spieler in der einer Liste.
hatte es nun so probiert.
Die liste der spieler kopiert mittels CopyList und dann mit collision abfragen.

Code: Alles auswählen

If SpritePixelCollision(\sprite,\posx,\posy,check()\sprite,\posx,\posy)
endif
Vielleicht hat ja wer eine Idee oder einen guten Vorschlag!
mfg
i7,12gb ram , Windows 10 ,Purebasic 5.50
Kevin
Beiträge: 236
Registriert: 11.06.2007 12:55

Re: Frage zu kollisions abrfrage

Beitrag von Kevin »

True29 hat geschrieben:Hi,
es geht um ein kleines fußballgame in dem ich nun gerne die kollesion der spieler abfangen will.
Momentan sind alle spieler in der einer Liste.
hatte es nun so probiert.
Die liste der spieler kopiert mittels CopyList und dann mit collision abfragen.

Code: Alles auswählen

If SpritePixelCollision(\sprite,\posx,\posy,check()\sprite,\posx,\posy)
endif
Vielleicht hat ja wer eine Idee oder einen guten Vorschlag!
mfg
wie heißt den die liste... dann kann ich dir ein Beispiel schreiben

[edit]

Code: Alles auswählen

Structure spieler
  sprite.i
  posx.i
  posy.i
EndStructure
Global NewList spieler.spieler()

With spieler()
  ForEach spieler()
    *spieler.spieler = @spieler()
    
    ForEach spieler()
      If @spieler() <> *spieler ; damit es sich nicht selbst überprüft
        If SpritePixelCollision(\sprite, \posx, \posy,  *spieler\sprite, *spieler\posx, *spieler\posy)
          
        EndIf
      EndIf
    Next
    
    ChangeCurrentElement(spieler(), *spieler)
  Next
EndWith
; Erklärung:
; in '*spieler' wird die adresse zum aktuelle Element zwischengespeichert
; die liste kann dann einfach von vorne durchgegangen werden
; ChangeCurrentElement(spieler(),*spieler) macht *spieler wieder zum aktuellen Element
mfg kevin
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Re: Frage zu kollisions abrfrage

Beitrag von True29 »

danke so etwas habe ich gesucht werde es mal testen ;)

update.
so funktioniert vielen dank ;)
i7,12gb ram , Windows 10 ,Purebasic 5.50
Antworten