| ||||||||||||
Die Funktion TERRAINY liefert die interpolierte Y-Koordinate auf einem Terrain. Ein Terrain hat oft große Höhenunterschiede. Wenn man die Höhe von einem bestimmten Punkt ermitteln will und ein Objekt entsprechend vertikal verschieben möchte, dann muss man die Y-Koordinate mit diesem Befehl ermitteln. | ||||||||||||
Parameter | ||||||||||||
| ||||||||||||
Rückgabewert | ||||||||||||
Es wird die interpolierte Y-Koordinate des Terrains zurückgeliefert: | ||||||||||||
Beispiel | ||||||||||||
Dieses Programm erstellt ein Terrain. Mit einigen Tasten kann man sich über das Terrain bewegen und einige Effekte ausprobieren: GRAPHICS3D 640,480 SETBUFFER BACKBUFFER() camera=CREATECAMERA() POSITIONENTITY camera,1,1,1 light=CREATELIGHT() ROTATEENTITY light,90,0,0 terrain=LOADTERRAIN("media/height_map.bmp") SCALEENTITY terrain,1,50,1 grass_tex=LOADTEXTURE("media/mossyground.bmp") ENTITYTEXTURE terrain,grass_tex,0,1 terra_detail=4000 vertex_morph=TRUE WHILE NOT KEYDOWN(1) IF KEYHIT(57)=TRUE THEN vertex_morph=1-vertex_morph IF KEYDOWN(2) THEN terra_detail=terra_detail-10 IF KEYDOWN(3) THEN terra_detail=terra_detail+10 IF KEYDOWN(203)=TRUE THEN x#=x#-0.1 IF KEYDOWN(205)=TRUE THEN x#=x#+0.1 IF KEYDOWN(208)=TRUE THEN y#=y#-0.1 IF KEYDOWN(200)=TRUE THEN y#=y#+0.1 IF KEYDOWN(44)=TRUE THEN z#=z#-0.1 IF KEYDOWN(30)=TRUE THEN z#=z#+0.1 IF KEYDOWN(205)=TRUE THEN TURNENTITY camera,0,-1,0 IF KEYDOWN(203)=TRUE THEN TURNENTITY camera,0,1,0 IF KEYDOWN(208)=TRUE THEN MOVEENTITY camera,0,0,-0.1 IF KEYDOWN(200)=TRUE THEN MOVEENTITY camera,0,0,0.1 TERRAINDETAIL terrain,terra_detail,vertex_morph x#=ENTITYX(camera) y#=ENTITYY(camera) z#=ENTITYZ(camera) terra_y#=TERRAINY(terrain,x#,y#,z#)+5 POSITIONENTITY camera,x#,terra_y#,z# RENDERWORLD TEXT 0,0,"Mit Cursortasten verschieben" TEXT 0,20,"Mit 1 oder 2 Detaillevel ändern" TEXT 0,40,"Mit Leertaste Morphing ein/ausschalten" TEXT 0,60,"Terrain Detail:"+terra_detail TEXT 0,80,"Vertex Morphing:"+vertex_morph FLIP WEND END | ||||||||||||
Siehe auch | ||||||||||||
TERRAINX, TERRAINZ |