Dator > hur man gör spel med Python för nybörjare

  • hur man gör spel med Python för nybörjare


  • 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

    Du behöver : .
    Pygame
     


    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 .
     

    91 92 93 94


Previous:nothing Next:Hur konvertera en tom sträng hittills





Relaterade artiklar


  • hur man byter hårdvara utan att installera om windows xp
  • hur du aktiverar hårdvaran omkopplaren för ett trådlöst kort på Dell Latitude D410
  • hårdvara krav på mellanstationer webbservrar
  • spel utforma verktyg
  • hur man kan övervaka nätverkshårdvara
  • hur man fixar hårdvara
  • Felsökning HP Pavilion dv2000 hårdvara
  • Hur konvertera en sträng till ett datumformat
  • vad är hårdvara i ett datorsystem?
  • hur man kan få en DLL för Visual Basic