Graphics 800,600
Global img1 = LoadImage("isoTiles/testGreen.png")
Global img2 = LoadImage("isoTiles/testBlue.png")
SetBlend ALPHABLEND
Global sx=300,sy=100 'стартовые координаты(откуда начинаю отрисовывать
Global stepx=sx, stepy =sy ' Шаг по Х и У , в начале == координатам 300 Х 100
Global cameraX,cameraY
While Not KeyDown(27) ' Главный цикл
Cls
drawingMap()
If KeyDown(KEY_RIGHT) Then stepx :+10 ; stepy :+5 ;
If KeyDown(KEY_LEFT) Then stepx :-10 ; stepy :-5
If KeyDown(KEY_UP) Then stepx :+10 ; stepy :-5
If KeyDown(KEY_DOWN) Then stepx :-10 ; stepy :+5
If KeyDown(KEY_H) Then ShowTestData()
Flip(1)
Wend
Function IsoX(x,y)
rez = Int(((2*(y+cameraY)-(x+cameraX))/162))
Return rez
End Function
Function IsoY(x,y)
rez = Int((((x+cameraX)+2*(y+cameraY))/162))
Return rez
End Function
Function drawingMap()
cameraX=stepx-400
cameraY=stepy-300
For i=IsoX(800,0)-2 To IsoX(0,600)+1
For j=IsoY(0,0)-2 To IsoY(800,600)+1
x=(j-i)*81-cameraX
y=(i+j)*40-cameraY
DrawImage img2 ,x,y
Next
Next
DrawImage img1 ,stepx-41-cameraX,stepy-20-cameraY 'выводим "персонажа"
End Function
Function ShowTestData()
mX =MouseX()
my% =MouseY()
DrawText "position X = "+stepx, 1,1
DrawText "position Y = "+stepy, 1,20
DrawText "mouse X = "+mX , 1,40
DrawText "mouse Y = "+my , 1,60
EndFunction
Если делать передвижение игрока по тайлам, эффекта не будет, ведь все тайлы одинаковые.
Размеры тайлов я бы советовал вам изменить. Уж больно они кривые.