PDA

Pogledaj cijelu verziju : Uvod u Pygame Tutorial



fps_gamer
25-09-2008, 21:08
!!BILO BI POŽELJNO DA SE ZNA PYTHON PRIJE ČITANJA OVOG TUTORIALA!!

Uvod u Pygame

Pygame je skup modula u pythonu koji olaksavaju pravljenje igra.
Podrzava 2D grafiku i zvuk, za 3D koristi OpenGL. Za pravljenje programa, bolje reci igra u Pygameu trebat ce ga instalirati na vas komp. Ako nemate ni python na kompu (sto bi trebali kada ga znate -_-) skinite ga sa sluzbene strane http://www.python.orgS. Ovaj tut koristi python 2.5 te vjerujem da sa verzijom 3.0 nece raditi.
Nakon instalacije pokrenite IDLE (ili koji drugi editor, IDLE je za pocetak dovoljan) te napisite u skriptni prozor


>>>import pygame
>>>print pygame.ver

Ispisati ce verziju pygamea koju imate na kompu. To znaci da ste dobro napravili posao do sada. Idemo sada nacrtati koju slikicu na ekran.

Let's go!


background_image_filename = 'picture.jpg'

import pygame ## importamo pygame
from pygame.locals import * ## iz pygame/locals importamo sve
from sys import exit ## iz sys-a importamo exit

pygame.init() ## inicijaliziramo pygame

screen = pygame.display.set_mode((640, 480), 0, 32) ## postavljamo prozor, velicinu, flag, te bit-depth
pygame.display.set_caption("Hello, World!") ## postavljamo naziv prozora koji se prikazuje u title traci
background = pygame.image.load(background_image_filename).conve rt() ## loadamo sliku za koristenje, i konvertiramo
while True: ## petlja koja vrti program dok se ne stisne X
for event in pygame.event.get(): ## petlja koja prati evente (micanje misa, tipkanje, itd.)
if event.type == QUIT: ## provjerava dali je event true
exit()

screen.blit(background, (0,0)) ## crtamo sliku na ekran, na koordinatama x,y

pygame.display.update() ## updateamo prozor, koji put ce biti i pygame.display.flip() – neznam razliku, nije velika

ovo upisujte u IDLE-u: File>New window
pazite na spacing, jer je python jako uredan -_-
kada prepisete, stisnite F5 te save-ajte pod imenom *.py jer ako ne... nece vam obojati kod i nece se moci pokretati iz explorera double clickom.
i ne zaboravite napraviti sliku velicine 640*480 (ili stavite manju, ali ce se prilagoditi prozoru)
ja cu uzeti ovu sliku
http://www.pygame.org/fullscreen.jpg
prvu nasao na guglu :o

flags za set_mode:

FULLSCREEN Stvara fullscreen prozor
DOUBLEBUF Creates a “double-buffered” display, Recommended for HWSURFACE or OPENGL
HWSURFACE Kreira hardware-akcelerirani display, mora biti kombiniran sa FULLSCREEN flag
OPENGL Kreira OpenGL prozor
RESIZABLE Kreira prozor promjenjive velicine
NOFRAME Mice rub i title traci, AKA splash screen

^^Pokusajte staviti sve umjesto 0, podjeljuju se sa „|“ (ne veliko „i“, vec Alt+W)



Inace, svi primjeri ce biti kopirani manje-vise iz knjige „Beggining Game Development with Python and Pygame“ od Willa McGugana.

insideOut
26-09-2008, 16:53
Pozdrav. I ja sam se eto poceo malo baviti pygame-om (Python znam otprilike 'dobro', nisam guru, ali programirao sam Blender skripte npr.)

Trebalo bi da

pygame.display.flip()
radi isto sto i

pygame.display.update()
s tim da flip()Scrta cijeli ekran, a u update(...)Smozes turiti Rectangle objekat i onda se crta samo dio ekrana.

Btw, da li je neko probao Pythonwin? Ja sad skinuo i... nesto mi kilavo ono pokretanje sa CTRL+R... IDLE FTW! :)

fps_gamer
26-09-2008, 17:43
e, moguce da...

nisam probao pythonwin, jel to za win programe raditi??
skini wxPython ako to zelis ;)

insideOut
26-09-2008, 19:30
Deklarise se kao:

Pythonwin - Python IDE and GUI Framework for Windows.
Nije losa stvar, sad sam malo programirao (neki stari projekat: gravitacija, lopta, davanje momenta crtanjem linije misom, prepreke, kolizija...) pa ako sta bude, postujem. :)

Ghost_Rider
26-09-2008, 22:37
jel sta taj pygame lahak za pocetnike,i dali postoji python koji mozes odma u prozoru pokrenuti svoj rad.

fps_gamer
26-09-2008, 23:37
pojasni se...

jeste, lak je za pocetnike dosta...
python je skriptni jezik... ne kuzim drugi dio pitanja...

Ghost_Rider
27-09-2008, 09:13
pojasni se...

jeste, lak je za pocetnike dosta...
python je skriptni jezik... ne kuzim drugi dio pitanja...

pa na ovo drugo pitanje mislim,kad imas visual C# express,kad hos da vidis stasi uradio od programa,nemoras ici save pa prek desktopa da ga pokreces file,vec imas odma u programu npr.F5,a u pythona nije otako vec moras nes drugo,pa kakko se pravi da ja imam isto to kao u C#.Valjda sam sad obajsnio lijepo,znam da ima neki TurboPython al sad neznam jel on tezak ili lagan,i sto nebi jos poisao nekih tutovo uvezi pythona,ono npr.kako se pravi da objekta seta lijevo,desno i to,pa kako da se odbija,pa kako da ima gravity i to.

Edit:Bilo bi lijepo za pocetnike kao stosam ja npr,ili neko drugi da se uci praviti igfre u pythonu. :bravo:

fps_gamer
27-09-2008, 12:51
pa evo, ovi tutovi su za pocetnike, poslije ti po tome pravi igre ;D

python je skriptni jezik, te mozes pisati programe i u IDLE-u ih sa F5 pokretati... a *.exe file se dobije na drukciji nacin...

Ghost_Rider
27-09-2008, 16:31
meni ovaj tutorrial nece da ide,ivjek prikazuje gresku neznam koju,al kad otvorim idle jel tu trebam upisati ono("import pygame")ili mozda u onim file pa new window.Nejde nikako neznam sta je jgb

fps_gamer
27-09-2008, 18:24
cijeli program pises u file>new window
a ono prije sta pise pises u interprer...
jesi instalirao pygame??

Ghost_Rider
27-09-2008, 19:38
downloado sam python 2.5.2 i downloado pygame 2.5,sad ono prvo pisem kad otvorim idle,al kad napisem import pygame i kliknem enter dol mi nes pise crvenim slovima,onda napisem print pagame.ver nista ne ispise,kasnije odem file+new window napisem tu citav program odem an run to jest F5 sejvam program i vratime na prvi prooe koji se pojavi nakon pokretanja idle pa dol ima neki eror nemoze da nes ucita,pa pokazuje da je background nevazeci.Nadam se da sam objasnio

fps_gamer
27-09-2008, 19:52
1. skini onu sliku i imenuj ju u picture.jpg
2. pazi na spacing u programu
3. prepisi ono sta pise crvenim slovima

Ghost_Rider
27-09-2008, 21:13
thanks,evo ga radi hvala jos jednom!

fps_gamer
27-09-2008, 21:15
;)