problem mit types... [gelöst]
Übersicht

![]() |
ChrissaBetreff: problem mit types... [gelöst] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leute!
Ich hab n kleines Problem bei meinem Space shooter. Und zwar wird nach jedem neuen schuss der alte schuss gelöscht und die Geschwindigkeit des neuen verdoppelt... Ich hab schon im Forum nach Hilfe gesucht aber nichts hilfreiches gefunden... Hier der Quelltext, wenn ihr ihn brauchen könnt(is noch übersichtlich ![]() Code: [AUSKLAPPEN] AppTitle "Space Shooter"
Graphics 1280,1024,32,1 SetBuffer BackBuffer() AutoMidHandle(True) ;Globals Global alien_x = Rnd(0,1280) Global alien_y = Rnd(0,0) Global player_x = 1280/2 Global player_y = 900 Global ufo_x = 1280/2 Global ufo_y = 0 Type schuss Field x Field y End Type ;Images space=LoadImage("space.png") alien=LoadImage("alien.png") shuttle=LoadImage("shuttle.png") ufo=LoadImage("ufo.png") kugel=LoadImage("schuss_2.png") schuss=LoadImage("schuss_1.png") rocket=LoadImage("schuss_3.png") ;Game While 1 Cls DrawImage space,1280/2,1024/2 DrawImage shuttle,player_x,player_y If KeyDown(203) player_x=player_x-8 EndIf If KeyDown(205) player_x=player_x+8 EndIf If KeyDown(208) player_y=player_y+8 EndIf If KeyDown(200) player_y=player_y-8 EndIf If KeyHit(57) Then noob.schuss=New schuss boom_x=player_x-10 boom_y=player_y+20 EndIf For noob.schuss= Each schuss boom_y=boom_y-12 DrawImage kugel,boom_x,boom_y Next If KeyDown(1) End EndIf Flip Wend End |
||
- Zuletzt bearbeitet von Chrissa am Fr, Dez 18, 2009 22:38, insgesamt 2-mal bearbeitet
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst "boom_x" bzw. "boom_y" auch als Type-Field benutzen. Denn so benutz jeder Schuss dieselbe Variable. Das resultiert darin, dass bei neuem erstellen der Speed verdoppelt wird (denn die Variable ist die selbe und wird trotzdem addiert) und der alte Schuss wird auf dem neuen platziert, sieht also so aus, als wäre er gelöscht worden. | ||
![]() |
Chrissa |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm wie meinst du? dass dann "boom_x" und "boom_y" in dem einen Type den ich habe ein field sind oder dass ich für die beiden jeweils einen eigenen Type erstellen muss? | ||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast zwar schon einen Schuss-Type und erstellst Schüsse, aber du nutzt in der Schleife, die alle Type-Einträge durchgeht und wahrscheinlich alle Schüsse bewegen und zeichnen soll, nur lokale Variablen und keine Type-Einträge und deren "Fields".
Du solltest es so machen: Code: [AUSKLAPPEN] For noob.schuss= Each schuss
noob\y=noob\y-12 DrawImage kugel,noob\x,noob\y Next "boom" war wohl dein Schuss-"Objekt", bevor du du Types benutzt hast. Du musst aber alles, was zu den Schüssen gehört, für die Type-Nutzung umwandeln. (Bei deinem Code sind alle Variablen, die mit "boom_" beginnen nicht richtig genutzt.) mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
Chrissa |
![]() Antworten mit Zitat ![]() |
---|---|---|
ah k danke jetzt funktioniert es ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group