glaub hier sollte noch n forum für absolut unwissende sein

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

simi

BeitragDi, Dez 21, 2004 11:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke das mit Select-Case verstehst du noch nicht ganz:

Also, man selektiert eine Variable, die irgendeinen Wert hat (select).
Jetzt kann man bei jedem Case angeben mit was die Variable verglichen werden soll. Wenn beide zum Beispiel 10 sind, dann wird der darauffolgende Codeteil durchgearbeitet. Wenn das geschehen ist geht das Programm nach End Select weiter.

zu deinem Fall:

Du willst, das der Code ausgeführt wird, wenn hoch/... 1 sind. Also kannst du Select 1 machen.
Auch musst du zuerst die Schrägen abfragen machen, weil sonst immer nur die Geraden berücksichtigt werden (Siehe Fettes).

cu simi

Die Wurst

BeitragDi, Dez 21, 2004 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hab mir grad keydown nochmal angeguckt... mir war net klar, dass der funktion keydown wenn sie true ist der wert 1 zugewiesen wird... alles klar *sich selbst auf den hinterkopf schlag...*


hab jetz glaub ich auch das prob mit dem schräg laufen gelöst... nur warscheinl. viel zu umständlich

Code: [AUSKLAPPEN]
Graphics 640,480,16,1
SetBuffer BackBuffer()


;TASTENBEFEHLE
Const esc = 1
Const leer = 57
Const f12 = 88
Const breite =640
Const hoehe =480


;BILDER LADEN
;PLAYER
Dim player(7)
player(0)=LoadImage("pl_hinten.bmp")
player(4)=LoadImage("pl_vorne.bmp")
player(6)=LoadImage("pl_links.bmp")
player(2)=LoadImage("pl_rechts.bmp")
player(7)=LoadImage("pl_hinten_links.bmp")
player(1)=LoadImage("pl_hinten_rechts.bmp")
player(5)=LoadImage("pl_vorne_links.bmp")
player(3)=LoadImage("pl_vorne_rechts.bmp")

MaskImage player(0),0,255,0
MaskImage player(1),0,255,0
MaskImage player(2),0,255,0
MaskImage player(3),0,255,0
MaskImage player(4),0,255,0
MaskImage player(5),0,255,0
MaskImage player(6),0,255,0
MaskImage player(7),0,255,0



;MAP
spielfeld=LoadImage("map002.bmp")

;PLAYER
pl_x=(breite-25)/2 ;breite 25 hoehe 40
pl_y=(hoehe-40)/2

;MAP
map_x=0
map_y=0

;RICHTUNG
richtung=4 ;0=hoch 1=hoch-rechts 2=rechts 3=runter-rechts 4=runter 5=runter-links 6=links 7=hoch-links



;Hauptschleife
While Not KeyDown(esc)
   ;RICHTUNGEN
   hoch = KeyDown(200)
   rechts = KeyDown(205)
   runter = KeyDown(208)
   links = KeyDown(203)
   
   If hoch Then
      If rechts Then
         richtung=1
         map_y=map_y+0.7
         map_x=map_x-0.7
      ElseIf links Then
         richtung=7
         map_y=map_y+0.7
         map_x=map_x+0.7
      Else      
         richtung=0
         map_y=map_y+2
      EndIf
   ElseIf rechts Then
      If hoch Then
         richtung=1
         map_y=map_y+0.7
         map_x=map_x-0.7
      ElseIf runter Then
         richtung=3
         map_y=map_y-0.7
         map_x=map_x-0.7
      Else
         richtung=2
         map_x=map_x-2
      EndIf
   ElseIf runter Then
      If rechts Then
         richtung=3
         map_y=map_y-0.7
         map_x=map_x-0.7
      ElseIf links Then
         richtung=5
         map_y=map_y-0.7
         map_x=map_x+0.7
      Else
         richtung=4
         map_y=map_y-2
      EndIf
   ElseIf links Then
      If hoch Then
         richtung=7
         map_y=map_y+0.7
         map_x=map_x+0.7
      ElseIf runter Then
         richtung=5
         map_y=map_y-0.7
         map_x=map_x+0.7
      Else
         richtung=6
         map_x=map_x+2
      EndIf
   EndIf
   

   Cls

   DrawImage spielfeld,map_x,map_y
   DrawImage player(richtung),pl_x,pl_y

   Flip

Wend

Die Wurst

BeitragDi, Dez 21, 2004 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
nächste frage: angenommen ich hab ne textur 10*10 pixel... wie schaff ich es, dass die textur den ganzen bildschirm füllt, und sich dann auch noch bewegt, wenn ich es will...

Kryan

BeitragDi, Dez 21, 2004 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit TileBlock oder TileImage!

So anwenden:

TileBlock image,scrollx,scrolly
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Die Wurst

BeitragDi, Dez 21, 2004 18:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ok... hab jetz alles angewandt, was ihr mir geraten habt... nun noch eine frage... ich habs grad probiert und nicht hinbekommen... ich will nun noch wissen, ob die figur irgendwie mit igendwas kollidiert. dann soll die figur sich nur noch in die anderen richtungen bewegen können(solange collision)
 

Cloud

BeitragDi, Dez 21, 2004 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde dir mal Raten dir das Buch von Rene Meyer zu kaufen
"Jetzt lerne ich Spiele programmieren mit Blitz Basic"
in dem Buch werden etwa 80-90% der Probleme von Anfängern geklärt bzw die Lösung ist mit hilfe des Buches zu finden.
Duron 1200 | 256 RAM | Geforce 2 TI

Kryan

BeitragDi, Dez 21, 2004 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst dann ganz anders anfangen

ein beispiel:
Code: [AUSKLAPPEN]
Graphics 640,480
SetBuffer BackBuffer()
Dim Level(20,15)
herox=10
heroy=8
For j=1 To 15
 For i=1 To 20
  Read Level(i,j)
 Next
Next
Repeat
 Cls
 For i=1 To 20
  For j=1 To 15
   Select Level(i,j)
   Case 0 Color 255,0,0
   Case 1 Color 0,0,255
   End Select
   Rect i*32-32,j*32-32,32,32
  Next
 Next
 If KeyHit(200) Then
  If Level(herox,heroy-1)=0 Then
   heroy=heroy-1
  End If
 End If
 If KeyHit(203) Then
  If Level(herox-1,heroy)=0 Then
   herox=herox-1
  End If
 End If
 If KeyHit(205) Then
  If Level(herox+1,heroy)=0 Then
   herox=herox+1
  End If
 End If
 If KeyHit(208) Then
  If Level(herox,heroy+1)=0 Then
   heroy=heroy+1
  End If
 End If
 Color 0,255,0
 Rect herox*32-32,heroy*32-32,32,32
 Flip
Until KeyHit(1)

Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data 1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1
Data 1,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1
Data 1,0,1,0,0,0,0,0,1,0,1,1,1,0,1,1,1,1,0,1
Data 1,0,1,1,1,1,1,0,1,0,1,1,1,0,1,1,1,1,0,1
Data 1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,1,1,1,0,1
Data 1,0,1,0,1,0,1,0,1,0,1,1,1,0,1,1,1,1,0,1
Data 1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,1,1,1,0,1
Data 1,0,1,0,1,0,1,1,1,0,1,1,1,0,1,1,1,1,0,1
Data 1,0,1,0,1,0,0,0,0,0,1,1,1,0,0,0,0,1,0,1
Data 1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1
Data 1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1
Data 1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1
Data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1


du musst ja wissen, ob etwas eine mauer oder Ähnliches ist oder nicht
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

simi

BeitragDi, Dez 21, 2004 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie willst du dein Prgramm machen:
- Mit Tiles
- fre positionierbar
- Ein Bild
- ...

Die Wurst

BeitragMi, Dez 22, 2004 10:35
Antworten mit Zitat
Benutzer-Profile anzeigen
@simi: die frage versteh ich jetz nich

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group