Python en haar gratis spel ontwikkeling bibliotheek , Pygame maken , omgaan met een groot deel van de detail werk van de ontwikkeling van games voor u , zodat u zich kunt richten op uw game design . Toch Crysis werd niet in een dag geschreven , dus je zult moeten beginnen waar video games zelf begonnen met het maken van een spel als ' Pong '. Het is misschien niet wat je krijgt in game design te doen , maar het zal je leren de basis en laat je een spel te krijgen up and running snel . Wat je nodig hebt Pygame Toon Meer Aanwijzingen 1 Open Idle , de standaard Python IDE vanaf je Windows Start menu . Klik op " File " en " New Window . " Sla onmiddellijk nieuw bestand en geef het de naam " Ping.py. " kopen van 2 Verkrijg de spelomgeving klaar . Typ het volgende in uw Ping.py bestand : import os , sysimport pygamefrom pygame.locals import * scherm = pygame.display.set_mode ( ( 640480 ) ) op deze invoer uit Python extra opdrachten die je nodig hebt om je spel te schrijven en creëert een nieuw venster voor je spel te inch Hit " F5 " uitvoeren om het programma te draaien . Of klik op "Run " en " Run Module " uit het menu . Beiden zullen het zelfde resultaat hebben - een volledig transparant venster verschijnt op uw bureaublad . Het is 640 pixels breed en 480 pixels hoog . En het zal vrij snel crashen en geven u een foutmelding , want hoewel het raam is gemaakt , was niets gedaan met het. < br > 3 Maak peddel van de speler . Voeg de volgende code toe aan je spel direct onder het laatste deel van de code : PADDLE_WIDTH = 50PADDLE_HEIGHT = pygame.Rect ( 10 , 430 , PADDLE_WIDTH , PADDLE_HEIGHT ) op Twitter PADDLE_COLOR = pygame.color = 10p1Paddle . color ( "rood" ) SCREEN_COLOR = pygame.color.Color ( " zwarte " ) ; Dit vertelt de computer hoeveel pixels breed en hoog paddle de speler alsmede welke kleur het zou moeten zijn zou moeten zijn . Het vertelt ook Python dat u wilt dat uw peddel te zijn 10 pixels vanaf de linkerkant van het scherm en 430 pixels vanaf de bovenkant van het scherm . Vergeet niet, het scherm is 640 pixels breed en 480 pixels hoog, dus de peddel zal ook op de linkerkant van het scherm , in de buurt van de bodem . , Het bepaalt dat het scherm zelf zal de kleur black . 4 Maak de puck . Typ het volgende in je spel : puckSpeedX = 1puckSpeedY = 1 PUCK_COLOR = pygame.color.Color ( " groen " ) puck = pygame.Rect ( 320,240,10,10 ) < br > Dit vertelt de computer welke kleur de puck zal zijn en waar het moet worden gevestigd op het scherm. In dit geval , zal het 320 pixels van links en 240 pixels van boven . Het zal ook slotte zijn 10 pixels breed en 10 pixels hoog . , Omdat de puck beweegt van haar eigen wil , het moet een snelheid. Vaak in een 2D- spel zoals ' Pong ', is het makkelijker om snelheden te verdelen in hoe groot een object horizontaal en hoe snel het verticaal beweegt beweegt . In dit geval zal de puck horizontaal te verplaatsen ( X ) met een snelheid van 1 en wordt verticaal ( Y) bewegen met een snelheid van 1 ook 5 Stel het spel lus door te typen : . < br > while True : p1Paddle.left = pygame.mouse.get_pos ( ) [ 0 ] = puck.left puck.left + puckSpeedXpuck.top = puck.top + puckSpeedYscreen.fill ( SCREEN_COLOR ) ; screen.fill ( PADDLE_COLOR , p1Paddle ) screen.fill ( PUCK_COLOR , puck ) pygame.time.delay ( 10 ) Going lijn per lijn , de " terwijl de ware " commando vertelt het spel te blijven draaien voor onbepaalde tijd of totdat de gebruiker raakt de " Sluit "-knop op zijn raam . Vervolgens vertelt de computer dat peddel van de speler moet op dezelfde plaats op het scherm , horizontaal , dan de muisaanwijzer . Op die manier kan de speler de puck te volgen door het bewegen van zijn muis . De puck zelf wordt bewogen door het toevoegen van de X -en Y- snelheden tot haar positie op het scherm . Dan trekt de achtergrond van het scherm , peddel van de speler en de puck , in die volgorde . Hit " F5 " om het spel te draaien . Merk problemen? Geen van uw afbeeldingen wordt gevestigd op het scherm . Bijna alle moderne spellen maken gebruik van een truc genaamd " double buffering " te tekenen op het scherm. Dit betekent graphics zijn eerst en vervolgens aangetrokken later aangetrokken tot het geheugen , alles in een keer , op het scherm . Zonder dubbele buffering , game graphics hebben een gewoonte van flikkeren . Te vertellen Python om daadwerkelijk de grafische gegevens op het computerscherm , of ' flip de buffer , ' de volgende regel toevoegen aan het spel : pygame.display.flip ( ) op ; Pers Nieuws " F5 "om het spel te draaien . Er is nog steeds een vrij grote fout in het spel : de puck vliegt gewoon door de peddel en van het scherm alsof het er niet was 6 Toevoegen collision detection om de puck . . Dit is misschien een beetje opfriscursus op eerstejaars algebra nodig . Voeg deze code aan uw spel lus : indien puck.colliderect ( p1Paddle ) : puckSpeedY = puckSpeedY * -1 als puck.top < 0 of puck.bottom > 480 : puckSpeedY = puckSpeedY * -1 als puck.left < 0 of puck.right > 640 : puckSpeedX = puckSpeedX * -1 gaan een voor een , nadenken over wat hier gebeurt . Als de puck botst met de schoep van de speler , dan is het Y snelheid wordt vermenigvuldigd met min - 1 . Dus , als de snelheid Y ( onthoud , betekent variometer ) was 1 is nu min - 1 . Dus het is een stap in de tegenovergestelde richting verticaal . Hetzelfde gebeurt als de puck raakt de bovenkant of onderkant van het scherm . En tenslotte, als de puck raakt de linker-of rechterkant van het scherm , de X toerental (of de horizontale snelheid ) wordt vermenigvuldigd met min - 1 . Hit " F5 " om uw spel te draaien en zie het effect .
|