Bug - Bitte testen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

BigSnake

Betreff: Bug - Bitte testen

BeitragSa, Aug 21, 2004 10:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Könntet ihr bitte den folgenden Code testen und hier rein schreiben, welcher Wert ausgegeben wird. Aus dem Quellcode leicht erischtlich muß eine 800 ausgegeben werden. Direkt nach dem FUnktionsaufruf spInit trifft dies auch zu. Danach verliert die Variable jedoch einfach ihren Wert und es wird nur noch 0 ausgegeben.

Code: [AUSKLAPPEN]

; ------------------------------------------------------------------------
; --- Konstanten
; ------------------------------------------------------------------------

Const spERROR_NOMODE$ = "Your graphic card does not support the choosen mode : "

; ------------------------------------------------------------------------
; --- Typen
; ------------------------------------------------------------------------

Type sp_Template
   Field Texture
   Field Sprite   
End Type

; ------------------------------------------------------------------------
; --- Variablen
; ------------------------------------------------------------------------

Global spCamera
Global spLight
Global spZoon

spInit
;RuntimeError spZoom

Global Sprite.sp_Template = spCreateTemplateFromScratch()

PositionEntity Sprite\Sprite,0,0,spZoom
RuntimeError spZoom


Repeat
   Cls
   Color 255,255,255
   Rect 0,0,64,64,0
   SetBuffer TextureBuffer(Sprite\Texture)
   ClsColor 255,0,0
   Cls
   ClsColor 0,0,0
   SetBuffer BackBuffer()
   UpdateWorld
   RenderWorld
   Flip
Until KeyHit(1)

End

; ------------------------------------------------------------------------
; --- Funktionen
; ------------------------------------------------------------------------

Function spCreateTemplateFromScratch.sp_Template(parWidth=64,parHeight=64)
   Local sp.sp_Template = New sp_Template
   
   sp\Sprite = CreateSprite()
   sp\Texture = CreateTexture(parWidth,parHeight,5)
   
   EntityTexture sp\Sprite,sp\Texture
   HandleSprite sp\Sprite,-1,-1
   ScaleSprite sp\Sprite,parWidth,parHeight
   
   Return sp
End Function

Function spInit(parWidth=800,parHeight=600,parDepth=32,parMode=2,parTitle$ = "")
   ; Initialisiert den Grafik Modus
   ; Ist der Grafikmodus verfügbar
   If GfxMode3DExists(parWidth,parHeight,parDepth) Then
      ; Der Grafikmodus ist verfügbar
      Graphics3D parWidth,parHeight,parDepth,parMode
      SetBuffer BackBuffer()
   Else
      ; Der Grafikmodus wird nicht unterstützt
      RuntimeError spERROR_NOMODE + parWidth + "x" + parHeight + "x" + parDepth
   EndIf
   ; Berechnet Koordinaten Umrechnung, Zoom Faktor etc
   spZoom = parWidth
   ; Erzeugt Kamera und Licht
   spCamera = CreateCamera()
   CameraClsMode spCamera,0,1
   ; Setzt Titel und andere Variablen
   SeedRnd MilliSecs()
   AppTitle parTitle
   HidePointer
End Function


PS : Benennt man spZoom zum Beispiel in spScale um, so funktioniert es einwandfrei. Das ist sehr sehr merkwürdig
  • Zuletzt bearbeitet von BigSnake am Sa, Aug 21, 2004 10:56, insgesamt 2-mal bearbeitet
 

Ballermann99

BeitragSa, Aug 21, 2004 10:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir kommt an beiden Stellen 0, weil du nen Tippfehler hast.

Zitat:
Global spZoon


Mach dadraus mal spZoom, dann kommt immer 800 raus Wink

mfG Ballermann99

BigSnake

BeitragSa, Aug 21, 2004 10:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx, das hatte ich übersehen. Es sollte endlich mal eine Pflicht Dekleration von Variablen in BB eingeführt werden. Das wäre sehr praktisch. Soll es das in Blitz Max geben ?

maximilian

BeitragSa, Aug 21, 2004 11:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Pflicht-Dekleration nervt total, verringert aber die Fehlerqoute extrem. Ich hab mal einen ganzen Algo weggeschmissen, und später hat sich herrausgestellt, dass es nur daran lag, das ich mich bei einem Variablennamen verschrieben hatte (zu Qbasic-Zeiten)

Grüße,
LordChaos

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group