Index Nyheter Kurs Källkod Artiklar Musik Grafik Projekt Länkar E-mail
Programmera Spel i C

Read_Pixel( )

Okej, då var jag äntligen tillbaka efter ett litet upphåll. Jag tänkte börja med en mycket enkel funktion, som helt enkelt läser av den aktuella färgen på den angivna skärmkoordinaten. Men vad har jag för nytta av en sådan funktion? Tja, den hör väl inte till de allra nyttigaste funktionerna i vårat biblioteket, men den kan vara bra att ha om man t.ex. gör ett enkelt "maskspel" och vill veta när masken stöter på ett visst objekt.

Den här funktionen är väldigt lik Put_Pixel-funktionen, så jag rekommenderar att du läser igenom den lektionen innan du ger dig på den här. Den här gången tänker jag gå rakt på sak och skriva ut den kompletta funktionen med en gång. Så här ser den ut:


int Read_Pixel(int x,int y)
{
return((int)(video_buffer[((y<<8) + (y<<6)) + x]));
} 

Har du någonsin sett något enklare? Nahe, jag tänkte väl det. Funktionen returnerar helt enkelt värdet på den angivna skärmkoordinaten. Den enda oklarheten skulle väl i så fall vara de där bitshiftningstecknen, men dem har jag ju redan berättat om. Men jag kan nog fräscha upp ditt minne lite genom att berätta för dig att (y<<8) + (y<<6) + x är exakt samma sak som: 256*y + 64*y + x, vilket i sin tur är det samma som: 320*y + x. Enda skillnaden är att det första uttrycket är bra mycket snabbare än det sistnämnda. Jaha, med dom orden tänkte jag avrunda den här lektionen och be dig ladda hem den coola demofilen. Vi ses snart!

Av: Erik Heinemark 1998.

Tillbaka till kursmenyn Nästa lektion