Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: задачка с ентитями
Легко.Если прально понял тогда вот :

Graphics3D 800,600,32,2
SetBuffer BackBuffer()
Global main,cam,not_main,sph
c=CreateCube()
ScaleEntity c,40,1,40
PositionEntity c,0,-1,0
main=CreateCube()
EntityColor main,0,0,0
ScaleEntity main,2,2,2
PositionEntity main,10,2,0
not_main=CopyEntity(main)
PositionEntity not_main,23,2,0
EntityColor not_main,215,0,0
not_main_c=CreateCylinder(20,1,not_main)
ScaleEntity not_main_c,0.1,10,0.1
EntityColor not_main_c,34,124,153
RotateEntity not_main_c,90,0,0
PositionEntity not_main_c,0,0,10
cam=CreateCamera()
PositionEntity cam,0,45,-20
CameraClsColor cam,20,120,220
sph=CreateSphere()
ScaleEntity sph,8,8,8
PositionEntity sph,0,1,0
EntityColor sph,23,232,23
EntityAlpha sph,0.4
PointEntity not_main,main
PointEntity cam,sph
While Not KeyHit(1)
rest()
keycontroll()
UpdateWorld
RenderWorld
Flip
Wend
End
Function keycontroll()
If KeyDown(200) MoveEntity main,-0.5,0,0
If KeyDown(203) TurnEntity main,0,1,0
If KeyDown(205) TurnEntity main,0,-1,0
If KeyDown(208) MoveEntity main,0.5,0,0
End Function
Function rest()
PointEntity not_main,main
If EntityDistance(main,not_main)>20 MoveEntity not_main,0,0,1
If EntityDistance(not_main,sph)<10 MoveEntity not_main,0,0,-1
End Function
Плюс реализацию легко можно модернизировать,чтобы небыло разны нюансов...но вроде все и так уже роботает как на рисунках.И если уж точно:
есть главный ентити - чёрный. перед ним всегда висит красный ентити.
|
1. Зади него.Если смотреть рисунки.
2. Второй рисунок...ты там или с цветами стрелок напутал,или сам себе противоречиш.
Последний раз редактировалось Dzirt, 08.02.2009 в 15:31.
|