Mein Space Invaders Klon (need help)

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Burnser

Betreff: Mein Space Invaders Klon (need help)

BeitragSo, Feb 05, 2006 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi also da ich ein einfaches spiel programmieren will habe ich mich für space invaders entschieden.

ALSO:

esa soll einen sternen himmel geben als hintergrund in der grösse 1024*768 der sich von oben nach unten schiebt das es so aussieht als wenn das raumschiff durch die gegend fliegt. das raumschiff darf später auchnoch in einem gewissem mase nach vorne und von rechts nach links fliegen aber da liegt nicht das problem.
Mein problem ist imoment, dass ich die sterne schon anzeigen kann und sie sich im gewissen tempo nachuntenn "rollen" und wenn sie über die 768 treten wieder oben bei 1 anfagen... nur in der zwischenzeit ist der bildschirm schwarz und die sterne sollen sich dauerhaft nach unten rollen...

hier mal der code:
Code: [AUSKLAPPEN]

Global xsterne = 1
Global ysterne = 1
Global sternespeed = 8
Global xplayer = 512
Global yplayer = 700
Global playerspeed = 3
Graphics 1024,768,32,1
SetBuffer BackBuffer()
Repeat
Cls
sterne = LoadImage ("gfx\stars.bmp")
player = LoadImage ("gfx\player.jpg")
If ysterne > 768 Then ysterne = 1
ysterne = ysterne + sternespeed
DrawImage sterne,xsterne,ysterne
DrawImage player,xplayer,yplayer
Flip
Until KeyHit(1)
End


also ich hoffe jemand weiss i#wie ich die sterne dauerhaft nach untenrollen lassen kann...

danke schonmal für jede antwort Smile)

mfg burnser

ChaosCoder

BeitragSo, Feb 05, 2006 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst einfach immer 2 Sternenbilder anzeigen lassen!

Das ganze dürfte dann so aussehen: (nicht getestet!)

Code: [AUSKLAPPEN]

Global xsterne1 = 1
Global ysterne1 = 1
Global xsterne2 = 1
Global ysterne2 = -768
Global sternespeed = 8
Global xplayer = 512
Global yplayer = 700
Global playerspeed = 3
Graphics 1024,768,32,1
sterne = LoadImage ("gfx\stars.bmp") ;AUS DER SCHLEIFE RAUS!!
player = LoadImage ("gfx\player.jpg") ;^^^^^^^^^^^^^^^^
SetBuffer BackBuffer()
Repeat
Cls
If ysterne1 > 768 Then ysterne1 = -768
ysterne1 = ysterne1 + sternespeed
If ysterne2 > 768 Then ysterne2 =-768
ysterne2 = ysterne2 + sternespeed
DrawImage sterne,xsterne1,ysterne1
drawimage sterne,xsterne2,ysterne2
DrawImage player,xplayer,yplayer
Flip
Until KeyHit(1)
End
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

Burnser

BeitragSo, Feb 05, 2006 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm danke für die schnelle antwort aber jetzt ist ein bild dauerhaft überden ganzen schirm angezeigt und ein zweites rollt von oben nacht unten so wie meins ebend...

aber habe den fehler grade noch gefunden^^:

Code: [AUSKLAPPEN]
ysterne2 = ysterne[i][u][b]2[/b][/u][/i] + sternespeed


du hattest die 2 vergessen danke für die antwort Smile


wenn ich wieder probleme habe und nicht weiter komme dann frage ich hier also bitte noch nicht closen


mfg burnser[/u][/i]
 

Burnser

BeitragSo, Feb 05, 2006 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
achja vorschläge wie ich das game gestalltensoall oder tipss oder was euch so einfällt bitte psoten wäre sehr nett danke!!

ChaosCoder

BeitragSo, Feb 05, 2006 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
naja... aufgrund des schon oben aufgetauchten problems, wirst du wohl sicher nicht weit kommen mit deim Spaceshooter! Aber lass dich davon mal nicht abbringen! Wink
ich wünsch dir trotzdem noch viel Spaß und viel Erfolg!

ChAoS|DrAgOn
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

Burnser

BeitragSo, Feb 05, 2006 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ChAoS|DrAgOn hat Folgendes geschrieben:
naja... aufgrund des schon oben aufgetauchten problems, wirst du wohl sicher nicht weit kommen mit deim Spaceshooter! Aber lass dich davon mal nicht abbringen! Wink
ich wünsch dir trotzdem noch viel Spaß und viel Erfolg!

ChAoS|DrAgOn


lol... duwirst es kaum glauben aber das mit den zwei bildern hatte ich auch verwendet nur ham die sich nach nen paar runden überlappt... deswegen wollte ich es "rohr" anstatt "kaput" hier hinschreiben.


naja mir sind schon wichtige dinge eingefallen die dabei sein müssen...


mfg burnser

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Feb 05, 2006 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm, sehe ich das richtig, daß ein riesen Bild geladen wird wo die Sterne drin gezeichnet sind? Wenn ja, dann schaue dir mal den Befehl TileBlock an!
 

Burnser

BeitragSo, Feb 05, 2006 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hectic hat Folgendes geschrieben:
Hmmm, sehe ich das richtig, daß ein riesen Bild geladen wird wo die Sterne drin gezeichnet sind? Wenn ja, dann schaue dir mal den Befehl TileBlock an!


gut werde ich

aber jetzt kommt so ein problem welches ich nicht nachvollziehen kann Sad Confused


Code: [AUSKLAPPEN]

Global ysterne1 = 1
Global xsterne2 = 1
Global ysterne2 = 768
Global sternespeed = 2
Global xplayer = 512
Global yplayer = 700
Global sidespeed = 6
Global frontbackspeed = 4
Global xkugel = 0
Global ykugel = 0
Graphics 1024,768,32,1
sterne = LoadImage ("gfx\stars.bmp")
player = LoadImage ("gfx\player.jpg")
kugel = LoadImage ("gfx\kugel.bmp")
MaskImage kugel, 255, 255, 255
SetBuffer BackBuffer()
Repeat
Cls
If xplayer > 975 Then xplayer = 975
If xplayer < 10 Then xplayer = 10
If yplayer > 710 Then yplayer = 710
If yplayer < 10 Then yplayer = 10
If KeyHit(57)Then ykugel = yplayer - 16 And xkugel = xplayer + 16
If KeyDown(200) Then yplayer = yplayer - frontbackspeed
If KeyDown(208) Then yplayer = yplayer + frontbackspeed
If KeyDown(203) Then xplayer = xplayer - sidespeed
If KeyDown(205) Then xplayer = xplayer + sidespeed
If ysterne1 > 768 Then ysterne1 = -768
ysterne1 = ysterne1 + sternespeed
If ysterne2 > 768 Then ysterne2 = -768
ysterne2 = ysterne2 + sternespeed
DrawImage kugel,xkugel,ykugel
DrawImage sterne,xsterne1,ysterne1
DrawImage sterne,xsterne2,ysterne2
DrawImage player,xplayer,yplayer
Flip
Until KeyHit(1)
end


mir gehts um diese zeile:


Code: [AUSKLAPPEN]
If KeyHit(57)Then ykugel = yplayer - 16 And xkugel = xplayer + 16


also da bewegt sich die kugel keinen milimeter aber wenn ich And xkugel = xplayer + 16 weg lassedann kann man schonmal die höhe so wie sie soll verändern und umgedreht genauso nur beides aufeinmal das die kugel direkt vor dem schiffchen erscheint klappt nicht obwohl es muss!!

das verwirrt mich weil der code doch richtig ist?! weis jemand weiter??

danke

mfg burnser[/code][/code]

Cardonic

BeitragSo, Feb 05, 2006 23:06
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

Sollte das nicht etwa so aussehen :
Code: [AUSKLAPPEN]
If KeyHit(57) Then ykugel = yplayer - 16 : xkugel = xplayer + 16


Das "And" kann nicht benutzt werden, um Befehle aneinander zu reihen; dazu benutzt man ":" 8)

mfg Cardonic
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet.
 

Burnser

BeitragSo, Feb 05, 2006 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Cardonic hat Folgendes geschrieben:
hi

Sollte das nicht etwa so aussehen :
Code: [AUSKLAPPEN]
If KeyHit(57) Then ykugel = yplayer - 16 : xkugel = xplayer + 16


Das "And" kann nicht benutzt werden, um Befehle aneinander zu reihen; dazu benutzt man ":" 8)

mfg Cardonic


danke hat gestimmt aber irgendwo benutz man auch das and?" deswegen:))

aber trotzdem danke

jetzt kann ich schonmal schieesen Smile

mfg burnser

Hagbard

BeitragMo, Feb 06, 2006 0:17
Antworten mit Zitat
Benutzer-Profile anzeigen
hier:
http://blitzbase.de/befehle2d/and.htm
 

Burnser

BeitragMo, Feb 06, 2006 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm ja bin jetzt schon weiter gekommen (danke nochmal hectic)

aber irgendwie ist dewr code komplett richtig meiner meinung nach nur bei mir kommt immer dieses memory acces dings bums da obwohl ichs hectic auch hat und bei ihm geht es er hat sogar die .exe erstellt...
also es geht um die kollision es soll bei der berührung von gegner und kugel der soun explosion abgespielt werden....

tut mir mal bitte den gefallen ladet es euch mal runter und versucht mal bitte ob ihr einen fehler entdecken koennt



danke schonmal


http://burnser.bu.ohost.de/

mfg burnser
 

HW

BeitragMo, Feb 06, 2006 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei mir gibts keine Memory Access Violation. Aber was mir auffällt: Du überspeicherst die Variable, die das Bild für die Explosion enthält, mit dem Explosionssound. Das ist auf jeden Fall inkorrekt. Lade den Sound also besser in eine andere Variable, z.B. "explosionssound".
Ausserdem musst du den sound aus dem SFX Ordner lesen.
Empfehlenswrt wäre auch, wenn du für die Gegner Types anlegst.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group