|
|||
Скачать Изменение палитры
23.01.1995 Вот тебе кусочек моей программы, в котором плавно затухает палитра (делать это можно в любом режиме, а не только в графическом :) type arpal = array [0..767] of byte; { палитра } var pal1,palt : arpal ; Procedure AsmPalt; { процедура работы с палитрой } begin { сохраняем палитру в массив } asm mov ax,1017h mov bx,Seg palt mov es,bx mov dx,offset palt xor bx,bx mov cx,256 int 10h end; end; Procedure AsmPal1; { процедура работы с палитрой } begin { загружаем палитру из массива } asm mov ax,1012h mov bx,seg pal1 mov es,bx mov dx,offset pal1 xor bx,bx mov cx,256 int 10h end; end; begin AsmPalt; for i:=0 to 767 do pal1[i]:=palt[i]; { считывание палитры } for j:=1 to 12 do begin { эффект угасания } for i:=0 to 767 do begin if Trunc(pal1[i]-4) > 0 then pal1[i]:=Trunc(pal1[i]-4) else pal1[i]:=0; end; AsmPal1; end; ... end. Единственно, что нехорошо в этой программе, то что я не отлавливал обратный ход луча при изменении палитры. Hа моей тройке итак все неплохо выглядело, а на двойке изменения палитры сопровождались нежелательными мерцанием и снежением :( | |||
© 2009–2024 Russian Pascal Developer Network.
Техническая площадка: ISBIZ Хостинг |