Показать сообщение отдельно
Старый 27.02.2012, 20:51   #11
Devilox
ПроЭктировщик
 
Аватар для Devilox
 
Регистрация: 14.01.2012
Адрес: Зеленоград
Сообщений: 192
Написано 5 полезных сообщений
(для 9 пользователей)
Ответ: Дубликаты дверей

Вот, что получилось:
Graphics3D 640,480

SetBuffer BackBuffer()

Const t_player=1, t_block=2

Type doors
    Field ent
End Type

player=CreateSphere()
EntityType player, t_player

cam=CreateCamera(player)

bl=CreateCube()
PositionEntity bl,0,0,5
EntityType bl, t_block
HideEntity bl


Collisions t_player, t_block,2,3


Dim AllDoors.doors(3)

For i=0 To 3
	AllDoors(i) = New doors
	AllDoors(i)\ent = CopyEntity(bl)
Next
	PositionEntity AllDoors(0)\ent,10,0,0
	PositionEntity AllDoors(1)\ent,5,0,0
	PositionEntity AllDoors(2)\ent,0,0,0
	PositionEntity AllDoors(3)\ent,-5,0,0



While Not KeyDown(1)

For i=0 To 3
	If EntityCollided(player,t_block)
		MoveEntity AllDoors(i)\ent,0,0.2,0
	EndIf
Next

TurnEntity player, 0, 0 -MouseXSpeed()*0.1, 0
TurnEntity cam, MouseYSpeed()*0.1, 0, 0			
MoveMouse GraphicsWidth()/2, GraphicsHeight()/2
RotateEntity cam, EntityPitch#( cam ), 0, 0

If KeyDown(17) MoveEntity player,0,0,0.5
If KeyDown(31) MoveEntity player,0,0,-0.5
If KeyDown(30) MoveEntity player,-0.5,0,0
If KeyDown(32) MoveEntity player,0.5,0,0


UpdateWorld()
RenderWorld()

Flip

Wend

End
Вот только при соприкосновении с любым блоком двигаются все...
Что не так?
(Offline)
 
Ответить с цитированием