Показать сообщение отдельно
Старый 08.05.2013, 12:53   #1
polopok
ПроЭктировщик
 
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений
(для 71 пользователей)
Изометрия + мышь + 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
__________________
Мой проект здесь
(Offline)
 
Ответить с цитированием