Wie soll ich anfangen ?

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2, 3, 4  Weiter

Neue Antwort erstellen

 

Oli27

BeitragDi, Mai 23, 2006 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Cool THX jetzt klappts Very Happy

Goodjee

BeitragDi, Mai 23, 2006 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
np
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/
 

Oli27

BeitragDi, Mai 23, 2006 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach Scheibe Laughing bei mir will einfach kei gegner auftauchen Sad

BlitzBasic: [AUSKLAPPEN]

Graphics 640, 480,16,2
SetBuffer BackBuffer()



Global hintergrund = LoadImage ("data\gfx\background.bmp")

Global figur = LoadImage ("data\gfx\figur.bmp")
MaskImage figur, 255, 0, 255

Global gegner = LoadImage ("data\gfx\figur.bmp")
MaskImage gegner, 255, 0, 255

Global x = 300
Global y = 450

;Tasten definieren
Global rauf = 200
Global runter = 208
Global rechts = 205
Global links = 203
Global space = 57


;schuss1
Global b.schuss
Type schuss
Field x
Field xs#
Field y
Field ys#
End Type

;feind
Global f.feind
Type feind
Field x
Field y
Field gfx
End Type




;#########################################################################;
;############################## HAUPTPROGRAMM ############################;
;#########################################################################;

Repeat
Cls


TileBlock hintergrund
DrawImage figur, x, y
DrawImage gegner, 100,100

Steuerung()
Feuern()



Flip
Until KeyHit(1)

End


;#########################################################################;
;############################## FUNKTIONEN ###############################;
;#########################################################################;

;-------------------------------------------------
; Steuerung der Figur |
;-------------------------------------------------
Function Steuerung()
; ---- Steuerung der Figur ----
If KeyDown (rauf) = 1 Then y = y - 1
If KeyDown (runter) = 1 Then y = y + 1
If KeyDown (rechts) = 1 Then x = x + 2
If KeyDown (links) = 1 Then x = x - 2
If KeyHit (space) Then
b.schuss = New schuss
b\x= x-0
b\y= y-0
b\xs= 0
b\ys= 3
EndIf

; ---- Rand setzen ----
If X < 0 Then X= 0
If X > 610 Then X = 610
If Y < 0 Then Y = 0
If Y > 450 Then Y = 450
End Function


;-------------------------------------------------
; Feuern |
;-------------------------------------------------
Function Feuern()
;---- schuss ----
For b.schuss = Each schuss
b\y = b\y - b\ys
b\x = b\x + b\xs
Rect b\x, b\y, 2,10
If ImageRectOverlap (gegner, 100, 100, b\x, b\y, 2, 10) Then Print "booooom"
If b\y < 0 Then Delete b
Next
End Function


;-------------------------------------------------
; Feind |
;-------------------------------------------------
Function Feind()
;---- schuss ----
For f.feind = Each feind
f\y = 300
f\x = 300
f\gfx = LoadImage ("data\gfx\figur.bmp")
Next
End Function

Goodjee

BeitragDi, Mai 23, 2006 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
das liegt daran, das du auch gar keinen zeichnest...du müsstest mit f.Feind=new Feind einen neuen erstellen...

und dann mit for f.Feind=each Feind alle gegner zeichnen...du lädst stattdessen die graphic
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/
 

Oli27

BeitragDi, Mai 23, 2006 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
schick neues ava Laughing

Wo muss ich die grafik dann sonst laden ?

also ich hab das jetz so

BlitzBasic: [AUSKLAPPEN]

Global f.feind
Type feind
Field x
Field y
Field gfx
End Type


BlitzBasic: [AUSKLAPPEN]

Function Feind()
f.Feind = New Feind
For f.feind = Each feind
f\y = 300
f\x = 300

Next
End Function

Mr.Hyde

Newsposter

BeitragDi, Mai 23, 2006 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Vorher. aber nur einmal. Du kannst die eine Grafik ja für den gleichen Gegner wiederverwenden.
als fügst du Code: [AUSKLAPPEN]
img_gegner=loadimage("data\gfx\figur.bmp")
ein. da ich grade sehe, dass das in diesem Fall die selbe Grafik ist, wie der Spieler, kannst du auch einfach diese nehmen. wenn nun der Gegner berechnet wird, zeichnest du für jeden Gegner diese Grafik an die jeweilige Position des Gegners
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
 

Oli27

BeitragDi, Mai 23, 2006 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
ich war blos zu faul eine gegner grafik zu erstellen Laughing

Ich guck mal obs jetz klappt
 

Oli27

BeitragDi, Mai 23, 2006 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
THX klappt wunderbar Surprised
 

icestorm

BeitragDi, Mai 23, 2006 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur so nebenbei:

Man kann Beiträge editieren.
Doppelposts sind nicht so beliebt.
 

Oli27

BeitragDi, Mai 23, 2006 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry hat ich vergessen Laughing

PS ich hab schonwieder ein Problem ... diesmal beim Menü

Immer wenn ich "1" drücke um das Spiel zu starten blitzt das Spiel kurz auf und das wars dann Shocked

Dann hab ich hier mal im Forum gesucht und den Tipp gefunden das ich in meine Funktion NeuesSpiel() eine Repeat schleife einbauen soll.... jedoch geht dann gar nix mehr Shocked Also das Menü reagiert nicht

BlitzBasic: [AUSKLAPPEN]

Function Menue()
taste1 = 2
escape = 1
ClsColor 0,0,0
Text 100, 100, "1 - Neues Spiel"
Text 100, 200, "ESC - Beenden"
If KeyHit (taste1) = 1 Then NeuesSpiel()
If KeyHit (escape) = 1 Then End

End Function


Function NeuesSpiel()
TileBlock hintergrund
DrawImage figur, x, y
Steuerung()
Feuern()
Feind()
End Function
 

icestorm

BeitragDi, Mai 23, 2006 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Function NeuesSpiel()
  Repeat
    ;Anweisungen
  Until KeyHit(1)
End Function()


Wenn keine Hauptschleife existiert wird das ganze genau EINmal durchlaufen und deshalb sieht man nur kurz ein "aufleuchten".
 

Oli27

BeitragDi, Mai 23, 2006 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
wie ich schon geschrieben hab passiert dann gar nichts Sad

Mr.Hyde

Newsposter

BeitragDi, Mai 23, 2006 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
ja klar.. was icestorm bereits gesagt hat: du hast jetzt zwei funktionen aber keine Schleife fürs Spiel. du musst natürlich jetzt eine Hauptschleife einbauen, in die man springt, wenn "1" gedrück wird.
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
 

Oli27

BeitragDi, Mai 23, 2006 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Versteh ich nicht wirklich Neutral

Mr.Hyde

Newsposter

BeitragDi, Mai 23, 2006 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau mal: In deinem Code rufst du die Funktion NeuesSpiel() auf. Dort beginnst du mit den anzeigen, rufst einmal die nötigen Funktionen auf. Doch die Schleife für ständiges durchlaufen fehlt.
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
 

Oli27

BeitragDi, Mai 23, 2006 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Na das hab ich doch dann mit

BlitzBasic: [AUSKLAPPEN]
Function NeuesSpiel()	
Repeat
TileBlock hintergrund
DrawImage figur, x, y
Steuerung()
Feuern()
Feind()
Until KeyHit(1)
End Function


gemacht. aber dann öffnet sich gar nichts wenn ich "1" drücke

Mr.Hyde

Newsposter

BeitragDi, Mai 23, 2006 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
zeig mal den code im Zusammenhang bitte. Also alles wenns geht
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
 

Oli27

BeitragDi, Mai 23, 2006 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

Graphics 640, 480,16,2
SetBuffer BackBuffer()



Global hintergrund = LoadImage ("data\gfx\background.bmp")

Global figur = LoadImage ("data\gfx\figur.bmp")
MaskImage figur, 255, 0, 255

Global gegner = LoadImage ("data\gfx\figur.bmp")
MaskImage gegner, 255, 0, 255

Global x = 300
Global y = 450

;Tasten definieren
Global rauf = 200
Global runter = 208
Global rechts = 205
Global links = 203
Global space = 57


;schuss1
Global b.schuss
Type schuss
Field x
Field xs#
Field y
Field ys#
End Type

;feind
Global f.feind
Type feind
Field x
Field y
Field gfx
End Type




;#########################################################################;
;############################## HAUPTPROGRAMM ############################;
;#########################################################################;

Repeat
Cls



Menue()


Flip
Until KeyHit (1)

End


;#########################################################################;
;############################## FUNKTIONEN ###############################;
;#########################################################################;

;-------------------------------------------------
; Menü |
;-------------------------------------------------
Function Menue()
taste1 = 2
escape = 1
ClsColor 0,0,0
Text 100, 100, "1 - Neues Spiel"
Text 100, 200, "ESC - Beenden"
If KeyHit (taste1) = 1 Then NeuesSpiel()
If KeyHit (escape) = 1 Then End

End Function




;-------------------------------------------------
; Hauptspiel |
;-------------------------------------------------
Function NeuesSpiel()
Repeat
TileBlock hintergrund
DrawImage figur, x, y
Steuerung()
Feuern()
Feind()
Until KeyHit(1)
End Function


;-------------------------------------------------
; Steuerung der Figur |
;-------------------------------------------------
Function Steuerung()
; ---- Steuerung der Figur ----
If KeyDown (rauf) = 1 Then y = y - 1
If KeyDown (runter) = 1 Then y = y + 1
If KeyDown (rechts) = 1 Then x = x + 2
If KeyDown (links) = 1 Then x = x - 2
If KeyHit (space) Then
b.schuss = New schuss
b\x= x-0
b\y= y-0
b\xs= 0
b\ys= 3
EndIf

; ---- Rand setzen ----
If X < 0 Then X= 0
If X > 610 Then X = 610
If Y < 0 Then Y = 0
If Y > 450 Then Y = 450
End Function


;-------------------------------------------------
; Feuern |
;-------------------------------------------------
Function Feuern()
;---- schuss ----
For b.schuss = Each schuss
b\y = b\y - b\ys
b\x = b\x + b\xs
Rect b\x, b\y, 2,10
If ImageRectOverlap (gegner, 100, 100, b\x, b\y, 2, 10) Then Print "booooom"
If b\y < 0 Then Delete b
Next
End Function


;-------------------------------------------------
; Feind |
;-------------------------------------------------
Function Feind()
gfx=LoadImage("data\gfx\figur.bmp")
f.feind = New feind
For f.feind = Each feind
f\y = 300
f\x = 300
DrawImage gfx, 100, 100
DrawImage gfx, 200, 100

Next
End Function


;f\gfx = LoadImage ("data\gfx\figur.bmp")

Mr.Hyde

Newsposter

BeitragDi, Mai 23, 2006 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Also hab mir das ganze mal angesehen und folgene Punkte würd ich ändern:

1. Würd ich nicht die Hauptspielschleife in eine Funktion packen, sondern ins Hauptprogramm. Die Funktion benutz nur dafür um die Spieldaten zu erstellen. Danach wechsel ins Hauptprogramm und richte dort die Schleife ein.

2. Bei der Feinde Funtion musst du zwischen zwei Möglichkeiten unterscheiden. A-wenn ein neuer Feind erstellt werden soll und B- wenn du ihn einzeichnen möchtest.

3. Die Schussfunktion musst du auch nopch überarbeiten, denn das Print ist dort recht unsinnig. wenn du unbedingt Text haben möchtest nutze den Befehl "Text"
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
 

Oli27

BeitragDi, Mai 23, 2006 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
1 ... Also ich soll jetzt Function NeuesSpiel() in die Hauptschleife packen ? und wie rufe ich dannd as menü auf ?

2. Das mit den Feinden und Types hab ich imemr noch nich richtig gecheckt Laughing

3. das mit dem schuss das is noch von vor dem gegner erstellen durch types also das wird sowieso noh überarbeitet

Gehe zu Seite Zurück  1, 2, 3, 4  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group