Здравствуйте
Уже долгое я не могу решить одну проблему, связанную со стрельбой...
Сейчас я постараюсь объяснить суть этой проблемы подробнее.
Значит, вид игры - от первого лица. При нажатии на ЛКМ создается обьект-снаряд.
Function createshot()
Local pitch# = EntityPitch(camera,1),yaw# = EntityYaw(camera,1),roll# = EntityRoll(camera,1)
bul.bullet = New Bullet
bul\model = CopyEntity(bula)
bul\life = 10
bul\speed = 5
EntityType bul\model,COL_BULLET
EntityParent (bul\model,worldplane)
EntityRadius bul\model,1
For pc.player = Each player
PositionEntity bul\model,EntityX(camera,1),EntityY(camera,1),EntityZ(camera,1)
TurnEntity (bul\model,pitch#,yaw#,roll#)
Next
End Function
Вот здесь его поведение:
Function battleFrame()
For bul.bullet = Each bullet
If bul <> Null
MoveEntity bul\model,0,0,bul\speed
If bul <> Null
If EntityCollided (bul\model,COL_LEVEL)
FreeEntity bul\model
Delete bul
EndIf
EndIf
If bul <> Null
en_dam = EntityCollided(bul\model,COL_ENEMY)
EndIf
If en_dam<>0 And bul <> Null
FreeEntity bul\model
Delete bul
; If ed_dam <> 0
bhandle=EntityName(en_dam)
en.enemy=Object.enemy(bhandle)
en\hp = en\hp - 1
; EndIf
EndIf
EndIf
Next
End Function
Когда на арене нет врагов, снаряды летят и коллизятся нормально. Но при создании объектов-врагов, снаряд (вне зависимости от того, куда повернулась камера игрока) появляется на доли секунды прямо рядом с врагом, снимает ему хиты и уничтожается.
То есть, при живом враге на локации целиться не обязательно - кликай на мышку, и враг сам помрет...
Что не так, может кто-нибудь помочь?