Показать сообщение отдельно
Старый 11.12.2009, 01:54   #1
shyrikkk
Нуждающийся
 
Регистрация: 11.12.2009
Сообщений: 77
Написано 2 полезных сообщений
(для 2 пользователей)
помогите с выстрелом в объекты

Хотел попросить знающих программистов .
Я создал обьект который стреляет шариком по кубику .
Хотел попросить как сделать чтобы исчез и кубик и шарик при столкновении (при выстреле) ,и чтоб на месте стокновения был небольшой эффект взрыва (самого простого )

вот пример :
Graphics3D 640,480,32,2
SetBuffer BackBuffer()

shar=CreateSphere() ; - создаём шар
HideEntity shar ;- скрываем шар

player=CreateCube() ;- создаём куб(игрока)

cam=CreateCamera() ;-создаём камеру
PositionEntity cam,0,3,-15 ;- позиция камеры
EntityParent cam , player ;- привязка камеры с зади игрока

lit=CreateLight() ;- свет
Type Dude
Field entity
End Type

stena=CreateCube () ;- создаём обьект (СТЕНА)
PositionEntity stena , 0 ,0 ,50

Repeat

For d.Dude=Each Dude
MoveEntity d\entity,0,0,2
If EntityDistance(cam,d\entity)>150 ;- если при выстреле шарик улетает
FreeEntity d\entity ;- за 150 ,то он удаляеться с
Delete d ;- поверхности и из памяти
EndIf
Next

For d.Dude=Each Dude ;- если при выстреле шарик сталкиваеться
MoveEntity d\entity,0,0,1.1 ;- с кубиком(СТЕНА) , то шарик ищезает
If EntityDistance (d\entity,stena)<5 ;- с поверхности и из памяти
FreeEntity d\entity
Delete d
EndIf
Next

If MouseHit(1) ; - нажатие мыше при выстреле

d.Dude=New Dude ; - создаём копии шариков
d\entity=CopyEntity( shar )
PositionEntity d\entity,EntityX#(player,1),EntityY#(player),Entit yZ#(player,1) ;- привязка

EndIf ;- шариков кубика и камеры

If KeyDown(200) MoveEntity player,0,0,1 ;- управление
If KeyDown(208 ) MoveEntity player,0,0,-1
If KeyDown(203) MoveEntity player,-1,0,0
If KeyDown(205) MoveEntity player,1,0,0

RenderWorld
UpdateWorld

Flip
Until KeyHit(1)

End

Последний раз редактировалось shyrikkk, 11.12.2009 в 21:40.
(Offline)
 
Ответить с цитированием