Iso MausNapping Rechenweg

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: Iso MausNapping Rechenweg

BeitragMi, Feb 22, 2012 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
hi, habe nun emine isomap diese funktioniert auch gut
allerdings bleibt da wieder das mausnapping offen

der gesammte code
Code: [AUSKLAPPEN]
Graphics DesktopWidth(), DesktopHeight(), 1
SetMaskColor 255, 0, 255

Global Screen_X:Int = DesktopWidth(), Screen_Y:Int = DesktopHeight()
Global Tile_X:Int = 64, Tile_Y:Int = 32
Global Cam_X:Int = 0, Cam_Y:Int = 0

Global Tile_IMG:TImage = LoadAnimImage("Data\Tiles.BMP", 64, 32, 0, 2)

Global Timer:Int = CreateTimer (60)

Global Map:Int[1001, 1001]
For x = 0 To 1000
   For y = 0 To 1000
      Map[x, y] = 1
   Next
Next
If Cam_X < 1 Then Cam_X = 1
If Cam_Y < 1 Then Cam_Y = 1

'Game Substanz
Repeat
   Cls
   WaitTimer Timer
   DrawMap()
   Scrollen()
   
   sx = (MouseX() - (MouseX() Mod 64)) / 64
   sy = (MouseY() - (MouseY() Mod 32)) / 32
   SetColor 255, 255, 255
   DrawText "CamX:" + Cam_X + " CamY:" + Cam_Y + "MausX:" + sx + "MausY:" + sy + " " + Fps(), 0, 0
   
   Flip
Until KeyDown(KEY_ESCAPE)
End


Function DrawMap()
   For x = Cam_X - 1 To Cam_X + Screen_X / 32
      For y = Cam_Y - 1To Cam_Y + Screen_Y / 16
         Local zickzack:Byte = x Mod 2
         DrawImage Tile_IMG, x * 32 - Cam_X * 32, y * 32 + zickzack * 16 - Cam_Y * 32, Map[x, y]
      Next
   Next
End Function

Function Scrollen()
   If KeyDown(KEY_LEFT)
      Cam_X = Cam_X - 1
   End If
   If KeyDown(KEY_RIGHT)
      Cam_X = Cam_X + 1
   End If
   If KeyDown(KEY_UP)
      Cam_Y = Cam_Y - 1
   End If
   If KeyDown (KEY_DOWN)
      Cam_Y = Cam_Y + 1
   End If
   
      If Cam_X < 1 Then Cam_X = 1
      If Cam_Y < 1 Then Cam_Y = 1
      
      If Cam_X > 1000 - Screen_X / 32 Then Cam_X = 1000 - Screen_X / 32
      If Cam_Y > 1000 - Screen_Y / 16 Then Cam_Y = 1000 - Screen_Y / 16
End Function

Function Fps:Int()

Global show:Int, counter:Int = MilliSecs(), count:Int
If MilliSecs()-counter >= 1000 Then
counter = MilliSecs()
show = count
count = 0
End If
count :+ 1
Return show

End Function


das mausnapping
Code: [AUSKLAPPEN]
sx = (MouseX() - (MouseX() Mod 64)) / 64
   sy = (MouseY() - (MouseY() Mod 32)) / 32


tilegrösse ist in real 64 * 32

SamFisher

BeitragMi, Feb 22, 2012 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Was bedeutet den Mausnapping?

BladeRunner

Moderator

BeitragMi, Feb 22, 2012 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Mousemapping bedeutet dass Du aus den (Maus-)Koordinaten am Bildschirm das aktuelle Tile ermittelst.
Zur Fragestellung: Holzchopf hatte da mal einen wundervollen Code eingestellt, bemüh doch mal die erweiterte Suche, dann solltest Du fündig werden.

Mausnapping hingegen wäre das entführen der Maus. Wink
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

SamFisher

BeitragMi, Feb 22, 2012 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy an mausmapping hatte ich auch gedacht da er es aber im betreff und im beitrag mehrmals so geschrieben hatt dacht ich wäre etwas was ich noch nit kenn Very Happy

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group