Показать сообщение отдельно
Старый 12.08.2009, 11:45   #22
Spiderman
Знающий
 
Аватар для Spiderman
 
Регистрация: 28.07.2008
Адрес: Киев
Сообщений: 228
Написано 61 полезных сообщений
(для 191 пользователей)
Ответ: Проблема с 2d пулями

А так через типы я обрабатываю пули у себя в проекте:

; Update Shots
	For shot.shot = Each shot
		DrawImage shoot,shot\x+LevelX,shot\y+LevelY
                shot\sx = sin(shot\ang)
                shot\sy = cos(shot\ang)
		shot\x = shot\x + shot\sx*shot\speed
		shot\y = shot\y + shot\sy*shot\speed

        shot\life=shot\life-1
	If shot\life<1 Then
	   ;{тут я создаю микровзрыв пули}
           Delete shot : Return
	   EndIf
	
        ; проверка столкновения с объектами типа Блок		
	For Bblock.block = Each block
        coll =  RectsOverlap(shot\x,shot\y,3,3,Bblock\x,Bblock\y,Bblock\w,Bblock\h) 
		If coll = True Then
		       ;{тут я создаю микровзрыв пули} 
		       Delete shot : Delete Bbloc : Return
		EndIf	   
    Next

Next
где:
LevelX, LevelY - глобальные координаты мира
__________________
Тяжела жизнь программиста: радость находки своего бага всегда омрачает осознание собственной тупости...
(Offline)
 
Ответить с цитированием