Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ну если кортенько, то вот:

Graphics3D 640,480,32,2
Global C_ind=2;номер активной камеры
Type iCamera
Field cam
Field preview_cam
Field obj
End Type
Function Create_iCamera.iCamera(Iparam)
iC.iCamera= New iCamera
iC\obj=CreateCube()
iC\cam=CreateCamera (iC\obj)
iC\preview_cam=CreateCamera (iC\obj)
CameraViewport iC\preview_cam,0,0,180,120
PositionEntity iC\obj,Iparam*10,1,0
EntityColor iC\obj,Rnd(255),Rnd(255),Rnd(255)
PositionEntity iC\cam,0,2,-15
PositionEntity iC\preview_cam,0,2,-15
Return iC
End Function
;ставим объекты
Global Preview_Image=CreateImage(180,120)
Const C_Count=3;колво объектов
Local CMas.iCamera[C_Count]
For i=1 To C_Count
CMas[i]=Create_iCamera(i)
Next
;нарисуем поле в клетачку
grid_tex=CreateTexture( 16,16,8,2 )
ScaleTexture grid_tex,10,10
SetBuffer TextureBuffer( grid_tex )
ClsColor 255,255,255:Cls:ClsColor 0,0,0
Color 192,192,192:Rect 0,0,8,8:Rect 8,8,8,8
plane=CreatePlane()
EntityTexture plane,grid_tex
;--------------------------------------
SetBuffer BackBuffer()
While Not KeyHit(1)
;устанавливаем номер активной камеры
If KeyDown(59) c_ind=1
If KeyDown(60) c_ind=2
If KeyDown(61) c_ind=3
For i=1 To c_count;переключаем камеры
If i=c_ind
CameraProjMode CMas[c_ind]\cam,1
CameraProjMode CMas[c_ind]\preview_cam,1
Else
CameraProjMode CMas[i]\cam,0
CameraProjMode CMas[c_ind]\preview_cam,0
EndIf
Next
ScreenCamera(CMas[c_ind],CMas[3])
RenderWorld
DrawImage Preview_Image,0,0
Flip
Wend
End
Function ScreenCamera(ind.iCamera,plan_cam.iCamera)
;Описание: ind -активная камера
; plan_cam- номер камеры которая ваводится о окне
CameraProjMode ind\cam,0
CameraProjMode plan_cam\preview_cam,1
RenderWorld()
CopyRect 0,0,180,120,0,0,FrontBuffer(),ImageBuffer( Preview_Image )
CameraProjMode ind\cam,1
CameraProjMode plan_cam\preview_cam,0
End Function
Тут ещё бы оптимизацию переключения камер и т.п.

__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|