ПроЭктировщик
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений (для 35 пользователей)
|
Re: 1 окно, 2 камеры
дабы закрыть тему - код, нашел в семплах у себя.

Graphics3D 800,600
SetBuffer BackBuffer()
cone=CreateCone(6)
cube=CreateCube()
EntityColor cube,255,128,128
EntityColor cone,128,128,64
effectlight=CreateLight(1)
PositionEntity effectlight,40,30,40
PointEntity effectlight,cube
topcam=CreateCamera()
CameraViewport topcam,0,300,400,300
CameraProjMode topcam,2
sidecam=CreateCamera()
CameraViewport sidecam,0,0,400,300
CameraProjMode sidecam,2
frontcam=CreateCamera()
CameraViewport frontcam,400,0,400,300
CameraProjMode frontcam,2
rendercam=CreateCamera()
CameraViewport rendercam,400,300,400,300
PositionEntity cone,50,0,50
PositionEntity cube,52,0,50
PositionEntity topcam, 51,10,50
PositionEntity sidecam, 61,0,50
PositionEntity frontcam, 51,0,60
PositionEntity rendercam, 56,5,55
PointEntity topcam,cone
TurnEntity topcam,0,0,180
PointEntity sidecam,cone
PointEntity frontcam,cone
PointEntity rendercam,cone
EntityParent topcam,cone
EntityParent sidecam,cone
EntityParent frontcam,cone
EntityParent rendercam,cone
While Not KeyDown(1)
TranslateEntity cone,(KeyDown(208)-KeyDown(200)),0,0
TranslateEntity cone,0,0,(KeyDown(203)-KeyDown(205))
WireFrame True
HideEntity rendercam
ShowEntity sidecam
ShowEntity topcam
ShowEntity frontcam
RenderWorld
Flip
WireFrame False
ShowEntity rendercam
HideEntity sidecam
HideEntity topcam
HideEntity frontcam
RenderWorld
Flip
Wend
и для vlad'а примерчик карты в углу....

Graphics3D 800,600
SetBuffer BackBuffer()
Global camera = CreateCamera()
CameraRange camera,0.1,1000
Global light = CreateLight()
Global radar = CreateSphere(5)
EntityParent radar,camera
ScaleEntity radar,0.2,0.2,0.01
PositionEntity radar,0.7,-0.3,1
EntityFX radar,1
EntityColor radar,100,100,255
Global player_radar_ent = CreateSphere()
EntityParent player_radar_ent,radar
ScaleEntity player_radar_ent,0.05,0.05,0.05
PositionEntity player_radar_ent,0,0,-2
EntityFX player_radar_ent,1
Type entity
Field ent
Field radar_ent
Field e_type ; 0 = player, 1 = enemy
End Type
For loop = 1 To 20
e.entity = New entity
e\ent = CreateCube()
e\radar_ent = CreateCube()
EntityParent e\radar_ent,radar
EntityFX e\radar_ent,1
ScaleEntity e\radar_ent,0.05,0.05,0.05
PositionEntity e\ent,Rnd(-20,20),0,Rnd(-20,20)
HideEntity e\radar_ent
Next
While Not KeyHit(1)
If KeyDown(200) Then MoveEntity camera,0,0,0.1
If KeyDown(208) Then MoveEntity camera,0,0,-0.1
If KeyDown(203) Then TurnEntity camera,0,1,0
If KeyDown(205) Then TurnEntity camera,0,-1,0
updateradar()
UpdateWorld
RenderWorld
Flip
Wend
End
Function updateradar()
For e.entity = Each entity
If EntityDistance#(e\ent,camera) < 10 Then
ShowEntity e\radar_ent
x_dif# = EntityX(e\ent,True) - EntityX(camera,True)
z_dif# = EntityZ(e\ent,True) - EntityZ(camera,True)
PositionEntity e\radar_ent,x_dif/10,z_dif/10,-1
Else
HideEntity e\radar_ent
End If
Next
End Function
|