problem mit level darstelung

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

andi79

Betreff: problem mit level darstelung

BeitragSo, März 14, 2010 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ein schönen Abend an alle ich habe folgendes Problem
Ich benutze draw3D es funktionier alles so weit bis auf das Problem das ich aus einen data Feld keine tiels anzeigen kann hab den ganzen Tag schon rumprobiert komme nicht drauf was ich falsch mache Crying or Very sad vielleicht könnte mir jemand helfen Embarassed

Code: [AUSKLAPPEN]
 
;Grafikmodus setzen
AppTitle "test"
Graphics3D 1024,768,0,2
SetBuffer BackBuffer()
Include "includes\Draw3D.bb"
Local Timer=CreateTimer(50)
Local Camera=CreateCamera()



DrawInit3D(Camera)
Origin3D(1024,768)

Global player=LoadImage3D("player1.png",2,2,0)
Global tiel=loadimage3d("boden.png",2,2,0)
Global springen
Global Angle#=0
Global Scale#=1
Global xposspie=-480;Die x koordinate für den spieler
Global yposspie=-360;Die y Koordinate für den spiler
Global sprinegn

Global Offset_x = -480, Offset_y = -360


;leveldaten lesen
Dim map (10,10)


;Hauptschleife

Repeat
   DrawMap()
   spilerbewegen()
   
   Restore mapdata
   For y=0 To 5
      For x=0 To 7
         Read map(x,y)
      Next
   Next
   
   WaitTimer(Timer)
   RenderWorld
   Clear3D()
   Flip 0
Until KeyHit(1)
End
Function spilerbewegen()
   
   
   DrawImage3D(player,xposspie,yposspie,0,Angle,Scale)
   If KeyDown(205) Then xposspie= xposspie + 5   
   If KeyDown(203) Then xposspie= xposspie - 5
   
   If KeyDown(59) Then Angle#= Angle# + 5
   If KeyDown(60) Then Angle#= Angle# - 5
   
;Prüfen ober der spieler den Bildschirmrand berrürt :
   If xposspie > 510 Then xposspie=512   
   If xposspie < -510 Then xposspie=-512     
   If yposspie > 380 Then yposspie=384   
   If yposspie < -380 Then yposspie=-384

   
   
End Function


Function DrawMap()
   For y = 0 To 5
      For x = 0 To 7
         If map(x,y) = 1 Then
            DrawImage3d (tiel, x*128 - Offset_x, y*128 - Offset_y,0,0,0)
         EndIf
      Next
   Next
End Function 



;level daten
.mapdata
Data 0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0
Data 0,1,1,1,1,1,0,0
Data 0,0,0,0,0,0,0,0
Data 0,0,0,0,0,0,0,0
Data 1,1,1,1,1,1,1,1

TimBo

BeitragSo, März 14, 2010 22:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi andi97,

die Bilder werden bei dir ab einer X-Koordinate von
1*128- (-480) px gemalt.

->
128+480 = 608px.

da 0|0 die Mitte des Bildschirmes ist und du 1024 Pixel als Win-Size genommen hast, kannst du bis zu einer Koordinate von -512 bis 512 zeichen. D.h. deine Tiles sind aus dem Bild.

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
  • Zuletzt bearbeitet von TimBo am So, März 14, 2010 22:06, insgesamt einmal bearbeitet

andi79

BeitragSo, März 14, 2010 22:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke das war das Problem 4 Augen sehn halt mehr als 2 Very Happy

TimBo

BeitragSo, März 14, 2010 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Kein Ding Very Happy
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group