import pygame
from pygame.locals import *
from pygame.color import THECOLORS
from time import sleep
def main():
WINSIZE = 640,480
pygame.init()
screen = pygame.display.set_mode(WINSIZE,0,8)
pygame.display.set_caption('Colors in pygame!')
for i,j in THECOLORS.iteritems():
print i
screen.fill(THECOLORS[i])
font = pygame.font.Font(None, 36)
text = font.render(i, 1,(0,0,0),(100,100,100))
sleep(1.1)
textpos = text.get_rect()
textpos.centerx = screen .get_rect().centerx
screen.blit(text, textpos)
pygame.display.update()
if __name__=="__main__":
main()
The script is very simple, just try it.
windows,linux, tutorials, tutorial, pygame, ,development,programming,source code,code,example,examples,All with pygame python module. The pygame-catalin is a blog created by Catalin George Festila.
duminică, 7 august 2011
PyGame : The script tool with colors.
This is a simple script to allow us to see all colors used by pygame.
PyGame : The pygame.display routines
Start pygame display:
C:\>python
Python 2.7 (r27:82525, Jul 4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygame
>>> pygame.display.init()
pygame.display.Info() creates an object with some data about hardware:>>> pygame.display.Info()
Here is the interpretation of the output.hw: True if the display is hardware accelerated
wm: True if windowed display modes can be used
video_mem: The megabytes of video memory on the display. This is 0 if unknown
bitsize: Number of bits used to store each pixel
bytesize: Number of bytes used to store each pixel
masks: Four values used to pack RGBA values into pixels
shifts: Four values used to pack RGBA values into pixels
losses: Four values used to pack RGBA values into pixels
blit_hw: True if hardware Surface blitting is accelerated
blit_hw_CC: True if hardware Surface colorkey blitting is accelerated
blit_hw_A: True if hardware Surface pixel alpha blitting is accelerated
blit_sw: True if software Surface blitting is accelerated
blit_sw_CC: True if software Surface colorkey blitting is accelerated
blit_sw_A: True if software Surface pixel alpha blitting is acclerated
current_h, current_h: Width and height of the current video mode, or of the
desktop mode if called before the display.set_mode is called.
This will return the name of the currently running video driver.>>> pygame.display.get_driver()
'directx'
Without arguments, list_modes returns a list of possible dimensions>>> pygame.display.list_modes()
[(1024, 600), (800, 600), (640, 480), (640, 400), (600, 1024), (600, 800), (512,
384), (480, 640), (400, 640), (400, 300), (384, 512), (320, 240), (320, 200)]
How to query a specific display mode.>>> full=pygame.FULLSCREEN | pygame.HWSURFACE | pygame.DOUBLEBUF
>>> pygame.display.mode_ok( [ 800,600 ], full, 32)
32
You can create such a script to help you.>>> for i in pygame.display.list_modes():
... a=pygame.display.mode_ok(i,full,16)
... print "FULLSCREEN | HWSURFACE | DOUBLEBUF for "+str(i)+" x "+str(a)
...
FULLSCREEN | HWSURFACE | DOUBLEBUF for (1024, 600) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (800, 600) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (640, 480) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (640, 400) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (600, 1024) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (600, 800) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (512, 384) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (480, 640) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (400, 640) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (400, 300) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (384, 512) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (320, 240) x 16
FULLSCREEN | HWSURFACE | DOUBLEBUF for (320, 200) x 16
See more here.
luni, 21 martie 2011
PyGame : Using with Android.
What is Android?
Wikipedia says:
Android is an open-source software stack for mobile devices that includes an operating system, middleware, and key applications.[5][6] Google Inc. purchased the initial developer of the software, Android Inc.
Python on Android?
The Pygame Subset for Android is a port of a subset of Pygame functionality to the Android platform.
This pygame subset for Android, allows us the creation of Android-specific games.
In the chapter "samples" comes only with just one classic sliding numbers puzzle.
The good thing is, it can run on a PC.
I installed Fedora pygame with "yum install pygame" as root.
And I run the application example of "samples".
Here is the result:
It works great on Fedora.
Wikipedia says:
Android is an open-source software stack for mobile devices that includes an operating system, middleware, and key applications.[5][6] Google Inc. purchased the initial developer of the software, Android Inc.
Python on Android?
The Pygame Subset for Android is a port of a subset of Pygame functionality to the Android platform.
This pygame subset for Android, allows us the creation of Android-specific games.
In the chapter "samples" comes only with just one classic sliding numbers puzzle.
The good thing is, it can run on a PC.
I installed Fedora pygame with "yum install pygame" as root.
And I run the application example of "samples".
Here is the result:
It works great on Fedora.
marți, 12 octombrie 2010
PyGame : First interface - part 2
One thing necessary to create an interface and a game is using a "sprite system".
To illustrate this, I'll show you a sequence of source code:
It sounds simple but is not.
Why? Because when you work with multiple images when source code is more complicated.
For this we need a system and use the "classes".
Let's see:
This is a more simple way to use it.
Try learning more about pygame.
Good luck.
To illustrate this, I'll show you a sequence of source code:
import pygame
def must_quit():
event = pygame.event.poll()
return event.type == pygame.QUIT
screen = pygame.display.set_mode((640, 480))
SpriteImage = pygame.image.load('image.jpg')
while not must_quit():
screen.blit(SpriteImage, (0, 0))
pygame.display.flip()
It sounds simple but is not.
Why? Because when you work with multiple images when source code is more complicated.
For this we need a system and use the "classes".
Let's see:
class SpriteImage:
def __init__(self, image_filename):
self.image = pygame.image.load(image_filename)
def paint(self):
screen.blit(self.image, (0, 0))
screen = pygame.display.set_mode((640, 480))
sprite = SpriteImage('image.jpg')
This is a more simple way to use it.
Try learning more about pygame.
Good luck.
luni, 2 august 2010
PyGame : Info about driver and zbuffer.
Sometimes is very easy to see some info about pygame.
Just use this code:
Just use this code:
>>> import pygame
>>> from pygame import *
>>> pygame.init()
(6, 0)
>>> pygame.display.gl_set_attribute(GL_DEPTH_SIZE, 16)
>>> pygame.display.set_mode((640,480), OPENGL|DOUBLEBUF )
>>> print "ZBUFFER is:" ,pygame.display.gl_get_attribute(GL_DEPTH_SIZE)
ZBUFFER is: 24
>>> print "Driver is:", pygame.display.get_driver()
Driver is: x11
NOTE: The OpenGL flags are;
GL_ALPHA_SIZE, GL_DEPTH_SIZE, GL_STENCIL_SIZE, GL_ACCUM_RED_SIZE,
GL_ACCUM_GREEN_SIZE, GL_ACCUM_BLUE_SIZE, GL_ACCUM_ALPHA_SIZE,
GL_MULTISAMPLEBUFFERS, GL_MULTISAMPLESAMPLES, GL_STEREO
You can see more here.
Posted by
Cătălin George Feștilă
Labels:
2010,
driver,
get_driver,
gl_get_attribute,
pygame,
tutorial,
tutorials,
zbuffer
PyGame : Binary bitmate with pygame.
Is a very simple example.
I use this code :
I use the random function to select "0" or "1" and set the colors.
Next, I fill the screen by update the screen with new values of pixels :
See below the result :
I use this code :
import pygame
from pygame.locals import *
import random
import Numeric
from math import *
import random
WIDTH = 640 #width of screen
HEIGHT = 480 #height of screen
def main():
pygame.display.init()
screen = pygame.display.set_mode((WIDTH,HEIGHT),DOUBLEBUF,32)
pixels = pygame.surfarray.pixels3d(screen)
width = len(pixels)-1
height = len(pixels[0])-1
for y in xrange(height):
for x in xrange(width):
a=random.choice([0,1])
if a==1 : b=(255,255,255)
else : b=(0,0,0)
pixels[x,y] = (b)
pygame.display.update()
done = False
while not done:
for e in pygame.event.get():
if e.type == KEYDOWN:
done = True
if __name__ == "__main__":
main()
The most important is this line :
pixels = pygame.surfarray.pixels3d(screen)
I use the random function to select "0" or "1" and set the colors.
Next, I fill the screen by update the screen with new values of pixels :
pygame.display.update()
See below the result :
miercuri, 9 iunie 2010
PyGame : First interface - part 1
This is the first game based on pygame that I tried to use interface.
As shown in the picture below, we have three areas:
- One at the top where there will be characters
- One at the bottom where there will be buttons
- A mini map on bottom left
I will present in future in a more understandable formula.
Good luck.
Abonați-vă la:
Postări (Atom)