Originally posted by Red Ninja(Михайлов Никита)@Jan 3 2006, 12:15 PM
А мне кажеться что у тебя больше вычесдений!
|
И где же больше?
Эта часть теперь вычисляется только если есть квадрат для отрисовки:
xc1:=i*16+MXPos; yc1:=j*16+MYPos;
Теперь части вот этих уравнений вычисляются только при нажатии соответствующей кнопки кнопки, а не при каждой итерации в циклах:
* xc:=SXPos/16+i;
* yc:=SYPos/16+j;
* xc1:=i*16-(SXPos mod 16)-16;
* yc1:=j*16-(SYPos mod 16)-16;
|
а именно:
if GetKeyPressed = KE_KEY6 then
Begin
*SXPos:=SXPos+t;
*DXPos:=SXPos/16;
*MXPos:=-(SXPos mod 16)-16;
End;
if GetKeyPressed = KE_KEY4 then
*Begin
*SXPos:=SXPos-t;
*DXPos:=SXPos/16;
*MXPos:=-(SXPos mod 16)-16;
End;
if GetKeyPressed = KE_KEY8 then
*Begin
*SYPos:=SYPos+t;
*DYPos:=SYPos/16;
*MYPos:=-(SYPos mod 16)-16;
End;
if GetKeyPressed = KE_KEY2 then
Begin
*SYPos:=SYPos-t;
*DYPos:=SYPos/16;
*MYPos:=-(SYPos mod 16)-16;
End;
Так что, надо сначала в коде разобраться, а не бросаться фразами только глянув... код хоть и больше стал а вычисления уменьшились