Показать сообщение отдельно
Старый 06.03.2009, 11:44   #1
Nuprahtor
Элита
 
Аватар для Nuprahtor
 
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений
(для 3,923 пользователей)
Проблемы со стрельбой

Здравствуйте
Уже долгое я не могу решить одну проблему, связанную со стрельбой...
Сейчас я постараюсь объяснить суть этой проблемы подробнее.
Значит, вид игры - от первого лица. При нажатии на ЛКМ создается обьект-снаряд.

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
Когда на арене нет врагов, снаряды летят и коллизятся нормально. Но при создании объектов-врагов, снаряд (вне зависимости от того, куда повернулась камера игрока) появляется на доли секунды прямо рядом с врагом, снимает ему хиты и уничтожается.
То есть, при живом враге на локации целиться не обязательно - кликай на мышку, и враг сам помрет...
Что не так, может кто-нибудь помочь?

Последний раз редактировалось Nuprahtor, 07.10.2011 в 14:35.
(Offline)
 
Ответить с цитированием