13.09.2012, 15:52
|
Прохожий
|
|
Регистрация: 12.09.2012
Сообщения: 13
Репутация: 10
|
|
Цитата:
Сообщение от M.A.D.M.A.N.
В этом движке нет какого-нибудь события типа OnCollision? Когда два спрайта пересекают друг друга.
|
Нет, есть только DoCollision. Но все проблемы я уже решил. переписал код вот так:
Код:
if Sprite is TBallSprite then
begin
if bump=false then
if (collisionline(x1,x2,x,x+60,y1,y2,y+18,y+18)or collisionline(x1+10,x2+10,x,x+60,y1,y2,y+18,y+18)) then
vector:=360-vector else
if (collisionline(x1,x2,x,x+60,y1+10,y2+10,y,y)or collisionline(x1+10,x2+10,x,x+60,y1+10,y2+10,y,y)) then
vector:=360-vector else
begin
if vector<=180 then
vector:=180-vector else
vector:=540-vector;
end;
dead;
bump:=true;
end;
Все работает идеально.
UPD а вот запостил, посмотрел на него и еще сократил на 2 строки
|