Blitz Basic Funktionen in PB
-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
Weiß den hier niemand, wie man eine Tilemap malt?:(
Re: Blitz Basic Funktionen in PB
in der Zwischenzeit hättest Du dich ja auch mal mit derNathanielBlack hat geschrieben:Weiß den hier niemand, wie man eine Tilemap malt?:(
PureBoard-eigenen Suchfunktion vertraut machen können.
Wenn Du dort Tilemap eingibst, erhältst Du eine reichhaltige
Auswahl von Treffern. Beispielsweise diesen hier:
http://www.purebasic.fr/german/viewtopi ... ht=tilemap
Grüße ... Kiffi
a²+b²=mc²
Re: Blitz Basic Funktionen in PB
Da du PNG datein als bilder verwendest solltest du auch UsePNGImageDecoder() verwenden, sonst kann dein programm keine png bilder öffnen
desweiteren benötigst du bei Sprites kein StartDrawing()
//edit:
Bei MAPinit würde ich einen long anstatt eines floats nehmen
und ich würde 32 bit farbtiefe nehmen, weiß nicht aber als ich das programm getestet hab konnte ich mittels CreateSprite() bei 16 bit keine Sprites erstellen
desweiteren benötigst du bei Sprites kein StartDrawing()
//edit:
Bei MAPinit würde ich einen long anstatt eines floats nehmen
und ich würde 32 bit farbtiefe nehmen, weiß nicht aber als ich das programm getestet hab konnte ich mittels CreateSprite() bei 16 bit keine Sprites erstellen
Code: Alles auswählen
InitSprite()
UsePNGImageDecoder()
OpenScreen(800,600,32,"Tilemap")
Dim MAPinit.l(5,1)
For i = 1 To 2
LoadSprite(i,"tile"+ Str(i) + ".png")
Next
MAPinit(0,0) = 1
MAPinit(1,0) = 1
MAPinit(2,0) = 1
MAPinit(3,0) = 1
MAPinit(4,0) = 1
MAPinit(5,0) = 1
MAPinit(0,1) = 2
MAPinit(1,1) = 2
MAPinit(2,1) = 2
MAPinit(3,1) = 2
MAPinit(4,1) = 2
MAPinit(5,1) = 2
For x = 0 To 5
For y = 0 To 1
DisplaySprite(MAPinit(x,y),x,y)
Next
Next
FlipBuffers()
Delay(3000)



-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
Danke euch vielmals! Eine kleine verbesserung musst eich an deinem Code dennoch vornehmen, hörmi. Und zwar hab eich folgendes hier stehen(und es klappt perfekt):
Vorher waren die Tiles immer nur einen Pixel weiter gezeichnet, also klepten sie alle in einander^^
Naja, jetzt gehts! Dank dir!
Juhu
mfg
Nathaniel
Code: Alles auswählen
InitSprite()
UsePNGImageDecoder()
OpenScreen(800,600,32,"Tilemap")
Dim MAPinit.l(5,1)
For i = 1 To 2
LoadSprite(i,"tile"+ Str(i) + ".png")
Next
MAPinit(0,0) = 1
MAPinit(1,0) = 1
MAPinit(2,0) = 1
MAPinit(3,0) = 1
MAPinit(4,0) = 1
MAPinit(5,0) = 1
MAPinit(0,1) = 2
MAPinit(1,1) = 2
MAPinit(2,1) = 2
MAPinit(3,1) = 2
MAPinit(4,1) = 2
MAPinit(5,1) = 2
For x = 0 To 5
For y = 0 To 1
PosX = PosX + 50
DisplaySprite(MAPinit(x,y),PosX,PosY)
Next
Next
FlipBuffers()
Delay(3000)
Vorher waren die Tiles immer nur einen Pixel weiter gezeichnet, also klepten sie alle in einander^^
Naja, jetzt gehts! Dank dir!
Juhu

mfg
Nathaniel
Re: Blitz Basic Funktionen in PB
hab noch einen vorschlag für dich
Code: Alles auswählen
For x = 0 To 5
For y = 0 To 1
PosX = x * 50
PosY = y * 50
DisplaySprite(MAPinit(x,y),PosX,PosY)
Next
Next



-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
Mit Input kann man ja einen benutzerdefinierten Wert auf eine Variable$ "setzen".
Wie mache ich diesen String$ in eine float oder word oder ähnliches?

Wie mache ich diesen String$ in eine float oder word oder ähnliches?

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Blitz Basic Funktionen in PB
Da nimmt man sich mal die Zeit in die Hilfe zu sehen, weil das ist meist schneller als hier zu fragen,NathanielBlack hat geschrieben:Mit Input kann man ja einen benutzerdefinierten Wert auf eine Variable$ "setzen".
Wie mache ich diesen String$ in eine float oder word oder ähnliches?
da findet man unter Strings Val, ValD und ValF.
Dort gibts dann auch Erklärungen und Beispiele.
Gruß
Thomas
-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
Danke dir.
Bei meinem folgenden Problem konnte mir die Sufu auch nicht weiterhelfen:( Ich versuche eine Kollision au der Tilemap hinzubekommen, aber scheitter immer wieder:(
Könnt ihr mir bei diesem Code helfen?:
Ich brauche begehbare und nicht begehbare Tiles, habe aber kp wie ich das machen soll:(
vielen lieben dank im vorraus,
euer Nathaniel
Bei meinem folgenden Problem konnte mir die Sufu auch nicht weiterhelfen:( Ich versuche eine Kollision au der Tilemap hinzubekommen, aber scheitter immer wieder:(
Könnt ihr mir bei diesem Code helfen?:
Code: Alles auswählen
InitSprite()
InitKeyboard()
UsePNGImageDecoder()
OpenScreen(800,600,32,"Tilemap")
Dim MAPinit.l(5,1)
Global ScrollX
Global ScrollY
Global PlayerX
Global PlayerY
For i = 1 To 2
LoadSprite(i,"tile"+ Str(i) + ".png")
Next
MAPinit(0,0) = 1
MAPinit(1,0) = 1
MAPinit(2,0) = 1
MAPinit(3,0) = 1
MAPinit(4,0) = 1
MAPinit(5,0) = 2
;*****Zweite Reihe********
MAPinit(0,1) = 2
MAPinit(1,1) = 2
MAPinit(2,1) = 1
MAPinit(3,1) = 2
MAPinit(4,1) = 1
MAPinit(5,1) = 1
Repeat
ClearScreen(RGB(0,0,0))
For x = 0 To 5
For y = 0 To 1
PosX = x * 50 + ScrollX
PosY = y * 50 + ScrollY
DisplaySprite(MAPinit(x,y),PosX,PosY)
Next
Next
StartDrawing(ScreenOutput())
Box(PlayerX+ScrollX+350,PlayerY+ScrollY+250,50,50,RGB(255,0,255))
DrawText(0,200,"PlayerX= " + Str(PlayerX))
DrawText(0,220,"PlayerY= " + Str(PlayerY))
DrawText(0,240,"ScrollX= " +Str(ScrollX))
DrawText(0,260,"ScrollY= " +Str(ScrollY))
StopDrawing()
FlipBuffers()
ExamineKeyboard()
If KeyboardPushed(#PB_Key_W)
PlayerY = PlayerY - 1
ScrollY = ScrollY + 1
EndIf
If KeyboardPushed(#PB_Key_S)
PlayerY = PlayerY + 1
ScrollY = ScrollY - 1
EndIf
If KeyboardPushed(#PB_Key_D)
PlayerX = PlayerX + 1
ScrollX = ScrollX - 1
EndIf
If KeyboardPushed(#PB_Key_A)
PlayerX = PlayerX - 1
ScrollX = ScrollX + 1
EndIf
Until KeyboardPushed(1)
End
vielen lieben dank im vorraus,
euer Nathaniel
-
- Beiträge: 63
- Registriert: 25.12.2009 18:48
Re: Blitz Basic Funktionen in PB
gar nicht, soweit war ich mit der demo nicht gekommen:P
ich brauche auch keine Pixel genaue Kollision, sondern einfach nur, dass man über tiles net laufen kann;)
mfg
Nathaniel
ich brauche auch keine Pixel genaue Kollision, sondern einfach nur, dass man über tiles net laufen kann;)
mfg
Nathaniel