Показать сообщение отдельно
  #17  
Старый 13.09.2012, 15:52
Shpingalet Shpingalet вне форума
Прохожий
 
Регистрация: 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 строки
Ответить с цитированием