Доброго всем времени суток! Есть вопрос. Я использую для движения спрайта следуйщий код:
| Код | while true do begin dx:=round(Speed*(now-oldTm)*secsperday); dx:=round(Speed*(now-oldTm)*secsperday); oldTm:=now; X:=X+dx; Y:=Y+dy; with form1 do begin Buffer.Canvas.CopyRect(rect(0,0,screen.Width,screen.Height), fon.Canvas,rect(0,0,screen.Width,screen.Height)); Buffer.Canvas.Draw(x,10,leftDuck.Picture.Graphic); FScreen.Canvas.CopyRect(rect(0,0,screen.Width,screen.Height), Buffer.Canvas,rect(0,0,screen.Width,screen.Height)); end; application.ProcessMessages; sleep(1); end;
|
но, к величайшему моему сожалению, при этом никакие события не проходят. Приходится делать Program reset. Что делать? |