Практика программирования (Бейсик, Си, Паскаль)



         

Задачи, советы и ответы - часть 6


repeat

gettime(h2,m2,s2,hs2); ( 0прос текущего времени }

if hloh2 then begin { Если изменились часы }

k:=h2 div 10;

cifra(50,30,k);

{ Старшая цифра часов }

k:=h2 mod 10;

cifra(100,30,k); { Младшая цифра часов }

hi:=h2; end;

if ml<>m2 then begin { Если изменились минуты }

k:=m2 div 10; cifra(170,30,k);

k:=m2 mod 10; cifra(220,30,k);

ml:=m2;

end;

if sl<>s2 then begin { Если изменились секунды }

k:=s2 div 10;

cifra(290,30,k);

k:=s2 mod 10; cifra(340,30,k);

sl:=s2; end;

unit1 KeyPressed;

closegraph;

end.

Задание 8.17. Графические спрайты

Спрайты (от англ. Sprite — "дух, привидение") представляют собой небольшие графические изображения, перемещаемые по экрану для имитации движущихся фигур или предметов. Без спрайтов не обходится ни одна динамическая игра. Для некоторых изображений достаточно единственного спрайта, который просто перемещается по заданной траектории. Таким спрайтом, например, может быть изображение летящего самолета. В других случаях приходится манипулировать цепочкой спрайтов, на которых зафиксированы отдельные кадры, соответствующие разным фазам движения.

0сновная идея простейших программ анимации заключается в организации быстрой смены кадров на экране, при которой отображаются последовательные фазы изменения состояния фигуры и производится ее перемещение. При этом крайне нежелательно, чтобы спрайты "затирали" находящийся под ними интерьер. Последнее достигается за счет разумного подбора цветовых оттенков как спрайта, так и фона, и вывода спрайтов в режиме X0R.

Продемонстрируем технику перемещения единственного спрайта —"летающей тарелки" на фоне "звездного неба". Увеличенное изображение "тарелки" было нарисовано на миллиметровой бумаге в прямоугольной области размером 43x24 мм и представляло собой эллипс с полуосями 20 и 8 мм, внутри которого проходил эллиптический поясок (дуга эллипса со смещенным центром). Из "корпуса" тарелки под небольшими углами расходились отрезки прямых — стойки локаторов, на концах которых размещались две круговые "антенны" - кружочки небольшого радиуса (2 мм). Контуры тарелки рисуются белым цветом, а внутренность корпуса заливается красным цветом.




Содержание  Назад  Вперед