forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Полезные функции (http://forum.boolean.name/forumdisplay.php?f=17)
-   -   Изометрия + мышь + Z (http://forum.boolean.name/showthread.php?t=18164)

polopok 08.05.2013 12:53

Изометрия + мышь + Z
 
Определение позиции ячейки по координатам мыши или мыши + клавиш задающих коодинату Z.

Код :
Код:

; ===============================================================
; Определение позиции ячейки по координатам мыши или мыши + клавиш задающих коодинату Z
; Основанно на статье  http://www.tonypa.pri.ee/tbw/tut18.html
; ===============================================================

Graphics 800,600,32,2
SetBuffer BackBuffer()

sx=200 ; смещение по X и Y
sy=200

TileSazeX=32
TileSazeY= 32

While Not KeyHit(1)
mx = MouseX() : my = MouseY()
Cls
For y=0 To 5
        For x=0 To 5
        x1 = sx +(x-y)*TileSazeX
        y1=sy+(x+y)*TileSazeY/2 ; ( sy+(x+y)*TileSazeY/2) - z      Z -  координата направленна вверх
               
                Plot x1,y1
                Text x1,y1, x+":"+y
        Next
Next

myy = (2*(my-sy) -(mx-sx))/2;  ( (2*(my-sy) -(mx-sx))/2)  + mz    mz -  координата Z
mxx = ((mx-sx)+myy)
xx=Floor(mxx/TileSazeX)
yy=Floor(myy/TileSazeY)


Text 200,50,"Tile X = "+xx+"        "
Text 200,70,"Tile Y = "+yy+"        "
Flip
Wend
End



Часовой пояс GMT +4, время: 05:45.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot