Python och dess fria spelutveckling bibliotek , Pygame , hantera en hel del av detalj arbete spelutveckling för dig , så att du kan fokusera på dina speldesign . Ändå var Crysis inte skrivit på en dag , så måste du börja där videospel själva började med att ett spel som " Pong ". Det är kanske inte vad du får i speldesign att göra, men det kommer att lära dig grunderna och låta dig få ett spel igång snabbt
1 .
Öppna Idle , standard Python IDE från Windows Start- meny . Klicka på " File " och " Nytt fönster ". Omedelbart spara den nya filen och ge den namnet " Ping. py. "
2 .
få spelet miljön redo . Skriv in följande i din Ping. py fil :
os import , sys
import pygame från pygame. locals import *
skärmen=pygame . display. set_mode ( ( 640. 480 ) )
Denna import från Python extra kommandon du behöver för att skriva ditt spel och skapar ett nytt fönster för ditt spel att köra i. Hit "F5 " för att köra programmet . Alternativt klicka på " Kör " och " Run Module " från menyn . Båda kommer att ha samma resultat-ett helt öppet fönster kommer att visas på skrivbordet . Det kommer att vara 640 pixlar bred och 480 pixlar hög .
Och det kommer att krascha och ge dig ett felmeddelande ganska snabbt eftersom även om fönstret skapades , gjordes ingenting med det .
3 .
Skapa spelarens paddel . Lägg till följande kod i ditt spel omedelbart under den sista delen av registret :
PADDLE_WIDTH=50
PADDLE_HEIGHT=10
p1Paddle=pygame. Rect (10 , 430 , PADDLE_WIDTH , PADDLE_HEIGHT )
PADDLE_COLOR=pygame . color. Color ( " röda " )
SCREEN_COLOR=pygame. color. Color ( " svart " ) ;
Detta talar om för datorn hur många pixlar bred och hög spelarens paddeln bör vara så väl som vilken färg det ska vara . Den berättar också Python att du vill paddeln vara 10 pixlar från vänster sida av skärmen och 430 pixlar från toppen av skärmen . Kom ihåg , är skärmen 640 pixlar bred och 480 pixlar hög, så paddeln kommer att vara på den vänstra sidan av skärmen , nära botten .
också definierar det att skärmen själv att ha den svarta färgen .
4 .
Skapa pucken . Skriv in följande i ditt spel :
puckSpeedX=1
puckSpeedY=1
PUCK_COLOR=pygame. color. Color ( "gröna " )
puck=pygame. Rect ( 320,240,10,10 )
Detta talar om för datorn vilken färg pucken kommer att vara och var den ska placeras på skärmen . I detta fall kommer det att vara 320 pixlar från vänster och 240 pixlar från toppen . Det kommer också att vara 10 pixlar bred och 10 pixlar hög .
Slutligen, eftersom pucken rör sig av sin egen vilja, krävs en hastighet . Ofta i ett 2D-spel som " Pong ", det är lättare att dela hastigheter i hur stora ett objekt rör sig horisontellt och hur snabbt den rör sig vertikalt . I detta fall kommer pucken röra sig horisontellt (X ) med en hastighet av 1 och kommer att röra sig vertikalt ( Y ) med en hastighet av 1 också .
5 .
Ställ upp spelet loop genom att skriva :
Även sant :
p1Paddle. left=pygame. mouse. get_pos () [ 0 ]
puck. left=puck. left + puckSpeedX
puck . upp=puck. top + puckSpeedY
screen. fill ( SCREEN_COLOR ) ,
skärmen . fylla ( PADDLE_COLOR , p1Paddle )
screen. fill ( PUCK_COLOR , pucken )
pygame. time. delay (10 )
Going rad för rad , den " medan true " kommando talar om för spelet att hålla igång på obestämd tid eller tills användaren träffar på "Stäng " -knappen på hans fönster .
Nästa , berättar den dator som spelarens paddel bör på samma ställe på skärmen , horisontellt , än muspekaren . På så sätt kan spelaren följa pucken genom att flytta sin mus . Pucken själv flyttas genom att lägga till en X-och Y hastigheter sin ståndpunkt på skärmen . Då drar skärmens bakgrund , spelarens paddel och pucken , i den ordningen. Hit "F5 " för att köra spelet .
märker några problem ? Ingen av dina grafik dras till skärmen . Nästan alla moderna spel använder ett trick som kallas " dubbel buffring " att dra till skärmen . Detta innebär grafik dras till minne först och sedan dras , alla på en gång , till skärmen senare . Utan dubbel buffring , spelgrafik har en vana av flimmer. Att berätta Python faktiskt att skriva grafik till datorskärmen , eller " flip bufferten , " lägga till följande rad till spelet :
pygame . display. flip () ;
Tryck "F5 " för att köra spelet . Det finns fortfarande en ganska stor brist i spelet : pucken bara flyger genom paddeln och utanför skärmen som om det inte fanns
6
Lägg kollisioner till pucken . . Detta kan kräva lite repetition av nybörjare algebra . Lägg till denna kod för att ditt spel loop :
om puck. colliderect ( p1Paddle ) :
puckSpeedY=puckSpeedY * -1
om puck. top <0 eller puck. bottom > 480 :
puckSpeedY=puckSpeedY * -1
om pucken . vänster <0 eller puck. right > 640 :
puckSpeedX=puckSpeedX * -1
gå en efter en , fundera över vad som händer här . Om pucken kolliderar med spelarens paddel , då är det Y hastighet multipliceras med minus -1 . Så om Y hastighet ( kom ihåg betyder det vertikala hastighet ) var 1 , är det nu minus -1 . Så det går i exakt motsatt riktning vertikalt . Samma sak händer om pucken träffar toppen eller botten av skärmen . Och slutligen , om pucken träffar vänster eller höger sida av skärmen , är dess hastighet X (eller dess horisontella hastigheten ) multiplicerat med minus -1 . Hit "F5 " för att köra ditt spel och se effekten .
Previous:nothing Next:Hur konvertera en tom sträng hittills