Buchempfehlung
MySQL kurz & gut
MySQL kurz & gut
Das preiswerte Taschen- buch stellt MySQL-rele- vante Inhalte systematisch und knapp dar, sodass es sich optimal zum Nach- schlagen beim Pro- grammieren eignet. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Fertige TileMapping mit Standart FB Befehle

Uploader:MitgliedMB Interactive Labs
Datum/Zeit:13.06.2010 13:19:13

'*********************************************************************************
'* Title Mapping: Funktion ist es aus eine Grafikdatei, die Bilder für meine Land
'*                  schaft zu finden und Anzeigen zu können.
'*********************************************************************************
'* Copyright by: MB Interactive Labs. 2010.
'*********************************************************************************

#Include once "Inc\MyGrafik.bi"     'Datei die für das Laden der 2D BMP Datein verantwortlich ist

Dim Shared Zielimg AS ANY PTR

Declare Sub Init_Tile(myBMPTile As tBMP, w As Integer, h As Integer)
Declare Sub Load_Tile(myBMPTile As tBMP, sBMP As String)
Declare Sub PutTile(myBMPTile As tBMP, index as integer, w as integer, h as integer, x as integer, y as integer, z as integer = 0)
Declare Sub CopyTile(iX As Integer, iY As Integer)
Declare Sub Close_Tile(myBMPTile As tBMP)

Sub Init_Tile(myBMPTile As tBMP, w As Integer, h As Integer)
    'Bild für Tilemapping init
    Init_BMP(myBMPTile)

    'Speicher anlegen
    Zielimg = IMAGECREATE(w,h)
End Sub

Sub Load_Tile(myBMPTile As tBMP, sBMP As String)
    Load_BMP(myBMPTile,sBMP)
End Sub

Sub PutTile(myBMPTile As tBMP, index as integer, w as integer, h as integer, x as integer, y as integer, z as integer = 0)
    'Berechnen der Koordinaten
    Dim as double cx, cy, rw, rh, horiz, vert

    index = index -1
    horiz = myBMPTile.xsize/w   '' Anzahl der horizontalen Tiles bei 256 = 8 Tile
    vert = myBMPTile.ysize/h    '' Anzahl der vertikalen Tiles bei 256 = 8 Tile

    'Startpunkt des copybereich finden

    cx = (index mod horiz) * w      '' X-Position unseres Tiles
    cy = (index \ vert) * h     '' Y-Position unseres Tiles

    'Mit Get den Bild aus den Bildspeicher laden
    Get myBMPTile.img,(cx,cy)-(cx+(w-1),cy+(h-1)),Zielimg ' Speichert nur den Bildschirmspeicher. Wo ist das Bild was ich vorher geladen hatte hin?

    'Bild anzeigen
    Put (x,y),Zielimg,Trans

End Sub

Sub CopyTile(iX As Integer, iY As Integer)
    'Put (x,y),Zielimg,Alpha,RGB(255,255,255)
    Put (iX,iY),Zielimg,Trans
End Sub

Sub Close_Tile(myBMPTile As tBMP)

    Close_BMP(myBMPTile)

    'BildLöschen
    ImageDestroy Zielimg
End Sub