^^ guess this can be a gadget request, if it isn't possible yet? ^^
Bye!
Code: Select all
;Scrolling test
;by Kaiser
#Cont=1
#Ts=10
Global WWidth
Global WHeight
Global TileSize
Global MapWidth
Global MapHeight
TileSize=24
WWidth=TileSize*20
WHeight=TileSize*20
MapWidth=39
MapHeight=39
Dim Map(MapWidth,MapHeight)
OpenWindow(1,0,0,WWidth,WHeight,#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_MinimizeGadget,"Scrolling Tiled Editor test by Kaiser")
CreateGadgetList(WindowID())
ScrollAreaGadget(#Cont, 0,0,WWidth,WHeight, TileSize*(MapWidth+1), TileSize*(MapHeight+1), 10)
For x=0 To MapWidth
For y=0 To MapWidth
ImageGadget(#Ts+count,x*TileSize,y*TileSize,TileSize,TileSize,0,#PB_Image_Border)
count=count+1
Next y
Next x
CloseGadgetList()
Repeat
Ev=WindowEvent()
If Ev=#PB_Event_Gadget
;It's a tile?
If EventGadgetID()>=#Ts And EventGadgetID()<=(#Ts+(MapWidth*MapHeight))
G=EventGadgetID()
Debug "Gadget #: "+Str(G)
Debug "X: "+Str(GadgetX(G))
Debug "Y: "+Str(GadgetY(G))
Debug "Map X: "+Str(GadgetX(G)/TileSize)
Debug "Map Y: "+Str(GadgetY(G)/TileSize)
EndIf
EndIf
ForEver
Code: Select all
SendMessage_(WindowID(), #WM_SETREDRAW, #False, 0)
For x=0 To MapWidth
For y=0 To MapWidth
ImageGadget(#Ts+count,x*TileSize,y*TileSize,TileSize,TileSize,0,#PB_Image_Border)
count+1
Next y
Next x
SendMessage_(WindowID(), #WM_SETREDRAW, #True, 0)
InvalidateRect_(WindowID(), 0, #True)