Показать сообщение отдельно
Старый 04.11.2007, 22:27   #12
Eddy
Нуждающийся
 
Регистрация: 24.05.2006
Сообщений: 64
Написано 0 полезных сообщений
(для 0 пользователей)
Re: ХЕЛП!!! Спрайты размножаются

Gamep,
во-первых, как сказал сэр impersonalis, ты ошибся темой,
тебе сюда http://www.boolean.name/forumdisplay.php?f=47
и тему, имхо, надо перенести
во-вторых,

begin
drawImage(loadImage('/1.jpg'), 0, 0);
repaint;
delay(1000);
drawImage('/a.png'), 37, 64);
repaint;
delay(1000);
drawImage('/a.png'), 30, 64);
repaint;
delay(1000);
end. Вот точный код, после запуска появляется фон картинка 1.jpg, затем спрайт a.png, затем этот спрайт копируется в другую точку, а мне надо чтобы спрайт с первоначальными координатами исчез и появился в другой точке. Как это сделать?

прога делает именно то, что ты написал, вот примерный код, надеюсь всё поймешь:

while getkeypressed<>ke_key0 do begin //цикл, который будет идти, пока ты не нажмешь 0
if getkeypressed=ke_key6 then x:=x+1;
if getkeypressed=ke_key4 then x:=x-1;
drawimage(back,0,0);//рисуем фон
drawimage(sprite,x,64);//рисуем спрайт с координатами x и 64
repaint;
end;
в-третьих, если ты собираешься выводит рисунок мног раз, то рисовать так
drawImage(loadImage('/1.png'), 0, 0);
неправильно,
нужно до основного цикла объявить переменную типа image и присвоить ей рисунок, т.е.
var im:image;
begin
im:=loadimage('/image.png');
....
drawimage(im,0,0);
....
end;
в-четвертых, для "очитски" экрана стандартных процедур нет, можно делать так:
1)
setcolor(255,255,255);// выбираем цвет - белый
fillrect(0,0,176,220); //рисуем закрашенный прямоугольник выбранным цветом
2) если твой background занимает весь экран то можно просто нарисовать его
в-пятых, зачем тебе delay? тем более с такой большой задержкой?
вроде всё).
(Offline)
 
Ответить с цитированием