zwei Type-Bilder: Kollisionsabfrage
Übersicht

![]() |
juse4proBetreff: zwei Type-Bilder: Kollisionsabfrage |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich bin ein ziemlicher Anfänger in Sachen BLITZ-BASIC hab da mal ne Frage: Wenn ich zwei Bilder(Schüsse und Gegner) in einer function nach der Kollision abfrage sagt der Debugger mir das ein bestimmtes Objekt nicht exstiert. habe folgenen Programmcode verwendet: Type Tshot Field x,y Field speed Field image End Type Type Ttarget Field x,y Field dir Field image End Type Function update_drone(target.Ttarget,shot.Tshot) DrawImage target\image,target\x-scroll_x,target\y-scroll_y,target\dir IfImagesOverlap(shot\image,shot\x-sroll_x,shot\y-scroll_y,target\image,target\x-scroll_x,target\y-scroll_y) Delete shot Delete target EndIf End Function Function update_shot(shot.Tshot) DrawImage shot\image,shot\x-sx,shot\y-sy,shot\dir If shot\dir=0 Then shot\y=shot\y-shot\speed;player_wea_speed If shot\dir=1 Then shot\x=shot\x+shot\speed;player_wea_speed If shot\dir=2 Then shot\x=shot\x-shot\speed;player_wea_speed If shot\dir=3 Then shot\y=shot\y+shot\speed;player_wea_speed End Function While Not Keyhit(1) For shot.Tshot=Each Tshot update_shot( shot ) Next For target.Ttarget=Each Ttarget update_drone(target,shot) Next Flip Cls Wend Kann mir jemand helfen MFG: mortus |
||
Portfolio |LinkedIn |XING |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Falls das der ganze Code sein soll:
Ich würde erstmal sagen, dass bei shot nicht angegeben wurde "Field dir" ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
juse4proBetreff: ne |
![]() Antworten mit Zitat ![]() |
---|---|---|
das ist nartürlich nicht der ganze Quelltext... | ||
Portfolio |LinkedIn |XING |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Problem liegt in dieser Schleife
Code: [AUSKLAPPEN] For target.Ttarget=Each Ttarget
update_drone(target,shot) Next Mal angenommen die Function Update_drone löscht die beiden Objeckte, dann sind beide = NULL. Durch die Schleife weist target auf das nächste Objekt, aber Shot ist immer noch = null und das Programm stürzt ab! eine schnelle Lösung wäre es wenn du es vorher abfragst! Code: [AUSKLAPPEN] For target.Ttarget=Each Ttarget
If shot = null then exit update_drone(target,shot) Next |
||
[BB2D | BB3D | BB+]
|
![]() |
juse4proBetreff: gut |
![]() Antworten mit Zitat ![]() |
---|---|---|
thx, functionniert jetzt!!!! ![]() ![]() |
||
Portfolio |LinkedIn |XING |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group