|
terrain - указатель ландшафта
grid_x - координата x в сетке ландшафта grid_z - координата z в сетке ландшафта |
|
Возвращает высоту ландшафта в координатах x,z его сетки. Значение будет в пределах от 0 до 1.
Смотрите также: TerrainY. |
|
; Пример TerrainHeight
; --------------------- Graphics3D 640,480 SetBuffer BackBuffer() terra_size=32 ; установим размер ландшафта и число сегментов по каждой стороне x_scale=10 ; масштаб по оси x y_scale=50 ; масштаб по оси y z_scale=10 ; масштаб по оси z marker_x=terra_size/2 ; координата маркера по оси x marker_z=terra_size/2 ; координата маркера по оси z camera=CreateCamera() PositionEntity camera,(terra_size*x_scale)/2,50,0 ; позиция камеры для лучшего обзора! RotateEntity camera,30,0,0 ; поворот камеры light=CreateLight() RotateEntity light,90,0,0 ; создаем ландшафт terra=CreateTerrain(terra_size) ScaleEntity terra,x_scale,y_scale,z_scale ; текстурируем его grass_tex=LoadTexture("media/mossyground.bmp") EntityTexture terra,grass_tex ; создаем маркер marker=CreateSphere() ScaleEntity marker,1,1,1 EntityColor marker,255,0,0 While Not KeyDown(1) ; курсорными клавишами управляем маркером If KeyHit(205)=True Then marker_x=marker_x+1 If KeyHit(203)=True Then marker_x=marker_x-1 If KeyHit(208)=True Then marker_z=marker_z-1 If KeyHit(200)=True Then marker_z=marker_z+1 ; устанавливаем высоту ландшафта в координаиах маркера marker_y#=TerrainHeight(terra,marker_x,marker_z) ; клавиша A - увеличить высоту If KeyDown(30)=True If marker_y#<1 Then marker_y#=marker_y#+0.005 ModifyTerrain terra,marker_x,marker_z,marker_y# EndIf ; клавиша Z - уменьшить высоту If KeyDown(44)=True If marker_y#>0 Then marker_y#=marker_y#-0.005 ModifyTerrain terra,marker_x,marker_z,marker_y# EndIf ; Маркер позиционируем маркер, принимая во внимание масштабы ландшафта по осям x, y и z PositionEntity marker,marker_x*x_scale,marker_y#*y_scale,marker_z*z_scale RenderWorld Text 0,0,"Use cursor keys to move marker over the terrain" Text 0,20,"Press A or Z to alter height of terrain at marker's position" Text 0,40,"Terrain Height: "+marker_y# Flip Wend End |