SpriteViewMode sprite,view_mode

Параметры

sprite - указатель спрайта

view_mode - режим отображения спрайта в 3D-мире
1: фиксированный (спрайт всегда повернут к камере - по умолчанию)
2: свободный (ориентация спрайта не зависит от камеры)
3: вертикальный1 (спрайт всегда стоит вертикально, но при повороте камеры тоже поворачивается)
4: вертикальный2 (спрайт всегда стоит вертикально, но поворачивается вокруг вертикальной оси вслед за камерой - полезно для имитации деревьев и т.п.)

Описание

Устанавливает режим отображения спрайта.

Режим отображения определяет, как спрайт изменяет свою ориентацию относительно камеры. Это позволяет в некоторых случаях создать впечатление, что спрайт имеет объем.

В техническом выражении эти четыре режима спрайта вызывают следующие изменения:

1: Спрайт изменяет углы наклона по осям x и y от исходного, чтобы всегда быть направленным к камере, но не вращается по оси z.
2: Спрайт не изменяет никаких своих углов поворота.
3: Спрайт изменяет углы наклона по осям x и y от исходного, чтобы всегда быть направленным к камере, а также вращается по оси z соответственно повороту камеры.
4: Спрайт изменяет угол наклона по осям y и z, чтобы быть повернутым к камере, но не вращается по оси x.

Заметьте, что, если Вы используете 2 режим спрайта, то его положение не зависит от положения камеры и Вы будете видеть только одну сторону спрайта, если только не используете флажок EntityFX 16 с этим спрайтом, чтобы отключить запрет отображения невидимой поверхности.

Смотрите также : CreateSprite, LoadSprite.

Пример

; Пример SpriteViewMode
; ----------------------

Graphics3D 640,480
SetBuffer BackBuffer()

pivot=CreatePivot()
PositionEntity pivot,0,1,0

camera=CreateCamera(pivot)
PositionEntity camera,0,0,10

light=CreateLight()
RotateEntity light,90,0,0

plane=CreatePlane()
ground_tex=LoadTexture("media/Chorme-2.bmp")
EntityTexture plane,ground_tex

sprite=LoadSprite("media/b3dlogo.jpg")
PositionEntity sprite,0,1,0

pitch=-15
yaw=180
roll=0
view_mode=1
view_mode_info$=" (fixed)"

While Not KeyDown(1)

If KeyDown(208)=True And pitch<0 Then pitch=pitch+1
If KeyDown(200)=True And pitch>-89 Then pitch=pitch-1
If KeyDown(205)=True Then yaw=yaw+1
If KeyDown(203)=True Then yaw=yaw-1
If KeyDown(30)=True Then roll=roll+1
If KeyDown(31)=True Then roll=roll-1

; Выбор режима с помощью клавиатуры
If KeyHit(2)=True Then view_mode=1 : view_mode_info$=" (fixed)"
If KeyHit(3)=True Then view_mode=2 : view_mode_info$=" (free)"
If KeyHit(4)=True Then view_mode=3 : view_mode_info$=" (upright1)"
If KeyHit(5)=True Then view_mode=4 : view_mode_info$=" (upright2)"

; Установка режима
SpriteViewMode sprite,view_mode

RotateEntity pivot,pitch,yaw,0
PointEntity camera,sprite,roll

RenderWorld

Text 0,0,"Use cursor keys to orbit camera around sprite"
Text 0,20,"Press A and S keys to roll camera"
Text 0,40,"Press keys 1-4 to change sprite view mode"
Text 0,60,"SpriteViewMode: "+view_mode+view_mode_info$

Flip

Wend

End

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

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