TerrainHeight# ( terrain,grid_x,grid_z )

Параметры

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

Главная страница

Нажмите сюда, чтобы увидеть последнюю версию этой страницы в интернете