Тема: 2d сетка
Показать сообщение отдельно
Старый 24.10.2012, 19:10   #8
polopok
ПроЭктировщик
 
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений
(для 71 пользователей)
Ответ: 2d сетка

Ну что ж ,можно праздновать победу . После долгих размышлений (проб и ошибок) ,все-таки нашел решение (правда в правом верхнем и левом нижнем углах ячейки заметно не правильные результаты ,всего несколько пикселов, думаю этим можно пренебречь ) .
Вот выкладываю готовый код:
Graphics 800,600 ,32,2
SetBuffer BackBuffer() 
tile_sizeX = 50
tile_sizeY = 30

ClsColor 34 ,139 ,34  
While Not KeyHit(1) 
Cls 
mx# = MouseX() : my# = MouseY()

For y = 1 To 11 ;Step 1 
	For x# = 1 To 11 
		px# = ((x-6)*tile_sizeX )+(y*(x-6))
		py# =  y*tile_sizeY
		
		Color 3 ,35, 3 
		If x<11 
		Line 400 + px,py , 400 +  ( (x-5)*tile_sizeX )+(y*(x-5)),py
		Text 400 +px+20 ,py+5 , Int(x) 
		EndIf 
		If y<11
		Line 400 + px,py , 400 +  ( (x-6)*tile_sizeX )+((y+1)*(x-6)) ,(y+1)*tile_sizeY
		Text 400 +px+20 ,py+15 , Int(y) 
		EndIf 
		
	;	Plot 400 + px,  py 
		
		
	;	Text 400 + px ,py , (y*x)
	;	Text 400 +px ,py , px
	Next
Next 

	ym# = Floor#(my/tile_sizeY )
	xm# = Floor#(    ( mx-400)/(tile_sizeX+ym+0.5)+6)


		Text mx,my-10,Int(xm) +" : "+Int(ym)
		Text mx,my,"\"

		Text 20,20,"MouseX : "+Int(mx)+" MouseY : "+Int(my)
		Text 20,40,"X : "+Int(xm)
		Text 20,60,"Y : "+Int(ym)
Flip 
Wend 
End


возможно кому-нибудь пригодится ...
(Offline)
 
Ответить с цитированием