Anderes Problem: Maus sehr langsam!

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

gamble

Betreff: Anderes Problem: Maus sehr langsam!

BeitragSa, Jan 08, 2005 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

bin grad mal dabei den Code aus Blitzblasters Tutorial nach BMax zu konvertieren. Ist natürlich nicht ganz der feine Stil... aber naja ^^

Code: [AUSKLAPPEN]

' Konstanten festlegen
Const SCREEN_WIDHT = 640
Const SCREEN_HEIGHT = 480
Const SCREEN_DEPTH = 16
Const SCREEN_MODE = 1

' Map-Array erstellen
Global Map[19,14]

' Tileset laden
Tileset = LoadAnimImage("media/images/tileset.png",96,32,0,3)

' Sonstige Variablen
Global mouse_x:Int = 0
Global mouse_y:Int = 0
Global tile:Int = 1
Global mapx:Int = 0
Global mapy:Int = 0
Global x:Int = 0
Global y:Int = 0

' Grafik-Mode setzen
Graphics SCREEN_WIDHT,SCREEN_HEIGHT,SCREEN_DEPTH,SCREEN_MODE

' Hauptschleife
While Not KeyHit(KEY_ESCAPE)

   ' Bildschirm löschen
   Cls
   
   ' Maus abfragen
   mouse_x = MouseX()
   mouse_y = MouseY()

   ' Map zeichnen
   For x = 0 To 19
   
      For y = 0 To 14
      
         DrawImage Tileset,x*32,y*32,Map[x,y]
         
      next
      
   next
   
   ' Auf Tastendrücke prüfen
   If KeyHit(KEY_0) Then tile = 0
   If KeyHit(KEY_1) Then tile = 1
   If KeyHit(KEY_3) Then tile = 3
   
   ' Wenn Maus gedrückt, zeichnen
   If MouseHit(KEY_MOUSELEFT) then
   
      mapx = mouse_x / 32
      mapy = mouse_y / 32
      
      Map[mapx,mapy] = tile
      
   End if
   
   If MouseHit(KEY_MOUSERIGHT) then
   
      mapx = mouse_x / 32
      mapy = mouse_y / 32
      
      Map[mapx,mapy] = 0
      
   End if
   
   ' Buffer vertauschen
   flip
   
wend


Das Problem sind die beiden For-Schleifen. Wenn ich die DrawImage Zeile auskommentiere, läuft das Programm ohne Fehler. Wenn die Zeile allerdings drin ist und ich das Programm starte, erhalte ich die bekannte Windows-Message: "editor.exe hat ein Problem festgestellt und muss beendet werden". Warum das ?!

Danke,

gamble
  • Zuletzt bearbeitet von gamble am So, Jan 09, 2005 2:47, insgesamt einmal bearbeitet
 

gamble

BeitragSo, Jan 09, 2005 1:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verstehe diesen schei** Fehler nicht.

Sitze nun schon ein paar Stunden an dem Code und find die Lösung einfach nicht.
 

OJay

BeitragSo, Jan 09, 2005 1:56
Antworten mit Zitat
Benutzer-Profile anzeigen
probiers mal mit:
Code: [AUSKLAPPEN]
Tileset:TImage = LoadAnimImage("media/images/tileset.png",96,32,0,3)
 

gamble

BeitragSo, Jan 09, 2005 2:06
Antworten mit Zitat
Benutzer-Profile anzeigen
edit:

Ouch! Fehler gefunden, und da mache ich hier so einen Aufstand.

Lesen soll helfen. Habe gedacht, dass ich bei LoadAnimImage die größe des Bildes und nicht die der einzelnen Tiles angeben soll Rolling Eyes Klappt nun alles.
 

gamble

BeitragSo, Jan 09, 2005 2:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry für das Doppelposting.

Ich habe mit dem selben Code oben jetzt ein anderes Problem:

Die Maus ist sehr langsam. Also eigentlich läuft die Maus von OpenGL flüssig, wenn ich aber den linken Mousebutton klicke, passiert erst einige Sekunden später etwas.

Selbes Problem wenn ich mir (provisorisch) mit Plot eine Maus erstelle. Warum ist das so langsam? (Debug Mode off)

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group