Hem Personliga finanser I bitmaps med DirectDraw - dummies

I bitmaps med DirectDraw - dummies

Innehållsförteckning:

Video: Ju mer du gräver i Minecraft, desto bättre blir du! - SkyBlock på Hypixel 2024

Video: Ju mer du gräver i Minecraft, desto bättre blir du! - SkyBlock på Hypixel 2024
Anonim

I slutet av 1970-talet och början av 1980-talet spelade många spel, som Tail Gunner > (se Figur 1), använda vektorgrafikskärmar - Displayer som består av linjer. Efter ett tag visar raster som ritar bitmappar ersatt alla vektorgrafikspel. Huvudstödet för alla 2-D och några 3-D datorspel är bitmap, som är en 2-D-matris av färgade pixlar som representerar en enda bild, som figur 2 visar.

Figur 1:

Tail Gunner, ett gammalt spel som använder vektorgrafik. Figur 2:

En kodad bitmapp. Du uppnår animering genom att dra en eller flera bitmappar för ett visst objekt och sedan snabbt bläddra igenom dem för att skapa en illusion av rörelse eller förändring. Exempelvis visar figur 3 flera 56 x 72 bitmappar av en skelett-varelseanimering. Om du skriver ett program som drar varje bitmap i snabb följd och sedan flyttar bitmaparna över skärmen med varje ram ser skelettet ut som om det går.

Det är animation.

Figur 3:

En bitmap animering av ett skelett varelse. Du vill kunna ladda och visa bitmappar var som helst på den sekundära eller primära ytan. Då måste du skriva programvara för att animera bitmaparna, flytta dem, kolla efter kollision och kontrollera dem som om de var spelobjekt. Du använder blitteren för att kopiera bitmappar från en yta till en annan. (Den

blitter är en hårdvara - eller kanske programvaraemulering - som kopierar bitmappar från någon källa till en viss destination.) Men hur är det med att skapa och ladda bitmaparna?

Skapa bitmaps

Skapa bitmaps är mer en konstnärlig sak än någonting annat, men huvudsidan är att använda ett färgprogram - Jasc Paint Shop Pro, Corel PHOTO-PAINT, och så vidare - att rita dina bitmappar Dessutom ritar dina bitmappar med vissa uppsättningar av konventioner så att bitmapparna enkelt kan laddas och manipuleras. De flesta spelprogrammerare tycker om att rita sina bitmappar i mallar.

Figur 4 visar en standard 8-x-8-pixel bitmapmall: ett antal 2 x 2 rektanglar (celler), som var och en innehåller en 8-x-8-pixel bitmapp. Rektanglarna är som platshållare, så om du ritar var och en av dina bitmappar i rektanglarna och sedan laddar varje bitmappar från rektanglarna, kommer du att ha en uppsättning bitmappar av samma storlek som den önskade bilden inom. Dessutom kan du komma åt varje cell eller bitmapp med ett par koordinater (cx, cy), vilket är det övre vänstra hörnet av någon cell.

Figur 4:

En 8-x-8-pixelmall med 2 x 2 celler och 1 pixel breda väggar. Här är några saker att vara försiktig med när du skapar bitmappar:

Färg:

  • Du måste bestämma hur många färger dina bitmappar kommer att ha och dra sedan dem alla i samma färgutrymme.Om du till exempel vill använda ett 8-bitars 256-färgsläge måste du rita alla dina bitmappar med samma 256-färgspalett - du kan inte använda en palett för de bra killarna och en för de dåliga killarna! På samma sätt, om du bestämmer dig för att använda 16 bitar per pixel för att rita dina bitmappar, måste alla bitmappar vara i 16 bitar per pixel. Ett varelse kan inte använda 24 bitar per pixel. Kom ihåg att spelet bara kommer att köras i ett enda videoläge, och alla grafik och bitmappar måste visas på samma sätt. Storlek:
  • Rita alla bitmappar i storlekar som är krafter på 2 - 2 x 2, 4 x 4, 8 x 8, 16 x 16, 32 x 32 och så vidare. Att följa denna riktlinje hjälper till med blitteren och med olika optimeringar som du utför i dina spel. De behöver inte vara fyrkantiga, men varje axel ska vara en kraft av två; 8 x 16 är bra, men 7 x 5 är inte. När du skapar en sida med bitmappar, använd samma storlek för alla bitmappar. Blanda inte olika storlekar på olika sidor. Antag att du gör en stor, 800 x 600 bitmappsbild i ditt färgprogram. Du ska lägga alla dina bitar på 32-x-32-pixlar på den här enstaka bilden i en fin mall som har 16 x 16 celler, vilket visas i Figur 5. Du inser då att du har lite utrymme kvar på bilden - du kan passa en grupp 4-x-4-pixel bilder.
  • Inte en bra idé! Gör bara en annan stor bitmapp för att hålla de mindre bitmapparna och för alla andra storlekar du kan ha. Blanda inte dina bitmappstorlekar på en enda bildsida. Figur 5:

En stor 32 x 32 bitmappsmall med extra utrymme. Om du är en detaljorienterad person (eller om du är på din femte Mountain Dew), bör du inse att om bitmapparna är 32 x 32, ska cellerna som omslutar dem vara 34 x 34 vardera och ha en gemensam vägg (1 pixel tjock). Det är en viktig punkt när du bygger mallar.

Så skapar du en eller flera stora bitmappsfiler som innehåller dina bilder för ditt spel. Du kan ha en fil som har alla fartyg, en annan som har explosionerna, en annan som har terrängen och så vidare. Då laddar du alla bitmapparna i minnet och visar med programkoden bitmaparna när och var de ska visas.

I bitmaps med DirectDraw - dummies

Redaktörens val

Justering och justering av text i Word 2016 - dummies

Justering och justering av text i Word 2016 - dummies

Styckejustering i Word 2016-dokument har ingenting att göra med politik, och motiveringen har lite att göra med anledningarna till att lägga text i en paragraf. Istället hänvisar båda termerna till hur styckets vänstra och högra kanter ser på en sida. De fyra alternativen är vänster, center, rätt och fullständigt motiverad, ...

Hur man gör två kolumntext i Word 2016 - dummies

Hur man gör två kolumntext i Word 2016 - dummies

När man vill imponera på någon Med din text i Word 2016 kan du försöka sätta två kolumner på din sida. Några fler kolumner, och textbredden är för mager och svår att läsa. Två kolumner är dock ett bra sätt att bli snyggare och förbli läsbara. Starta ett nytt dokument. Eller om du ...

Hur man gör mellanslag mellan stycken i Word 2010 - dummies

Hur man gör mellanslag mellan stycken i Word 2010 - dummies

När man skriver i Word 2010, du don Du måste inte trycka på Enter två gånger för att lägga till extra mellanrum mellan punkterna. Word kan lägga till det här rummet automatiskt:

Redaktörens val

Outlook 2013 Adressböcker - dummies

Outlook 2013 Adressböcker - dummies

Outlook 2013 använder fortfarande flera olika Adressböcker som verkligen ingår i Microsoft Exchange Server. Adressböckerna har flera separata, oberoende listor över namn och e-postadresser - det är ganska förvirrande. Microsoft förenklade problemet med att hantera adressböcker i Outlook 2002 och senare versioner, men det hjälper inte om du använder ...

Outlook 2016 s Kontakter Hem Tab - dummies

Outlook 2016 s Kontakter Hem Tab - dummies

Outlook 2016s Kontakter är mer än bara en lista med namn och e-postadresser. Du kan utnyttja fliken Kontakter hem i Outlook 2016-bandet för att skapa nya kontakter, för att ordna hur du visar kontakterna du har, eller för att skapa e-postmeddelanden eller sammanslagningsdokument. Följande bild visar ...

Outlook Web Access - dummies

Outlook Web Access - dummies

Outlook Web Access är en del av ett program som heter Microsoft Exchange, vilket många stora och icke- så stora organisationer kör till avancerade Outlook-funktioner som offentliga mappar, delade kalendrar och tilldelade uppgifter. Inte alla företag som använder Microsoft Exchange erbjuder Outlook Web Access, men om du gör det kan du logga in på Outlook från nästan ...

Redaktörens val

Polering Ditt utvecklingsverktyg för kakaoprogrammering - dummies

Polering Ditt utvecklingsverktyg för kakaoprogrammering - dummies

Kakao är en typ av programmering som du kan utföra med Apples Utvecklarverktyg. Kakao är en samling verktyg och bibliotek som låter dig få ut det mesta av Mac OS X-programmeringen. Många funktioner gör Cocoa bra, bland annat följande: Modulär objektorienterad design Användning av ramar Visual interface design Varför program med ...

Snabba typer - dummies

Snabba typer - dummies

Swifts hantering av typer liknar andra språk, men varje språk har olika inriktningar och regler. I allmänhet har dessa regler att göra med de sätt som skrivs måste genomföras i fall där det finns tvetydighet. Hur mycket kostar språket (eller dess kompilator eller runtime bibliotek) för att säkerställa typkompatibilitet? Swift's approach ...

Klasserna Anatomi av en Swift Class - dummies

Klasserna Anatomi av en Swift Class - dummies

ÄR hjärtat i något objektorienterat programmeringsspråk. Till skillnad från klasser i mål-C och några andra språk behöver Swifts klasser ingen rubrikdeklaration. I stället får du hela klassen (eller struktur eller uppräkning) definitionen i ett format som detta: klass MyClass {var storedNumber: Int = 0 init (myNumber storedNumber: Int) {self. storedNumber = storedNumber ...