ПроЭктировщик
Регистрация: 01.02.2011
Сообщений: 148
Написано 7 полезных сообщений (для 8 пользователей)
|
Ответ: Как взаимодействовать с миром?
Вот тебе пример радара

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
__________________
Ученье свет, а не ученье тень!
|