Hi guys i have come again with more problems.This time it has to do with pygame.The following code does not give any error messages but it does not do what it is supposed to do either.the code is a bit long but it's straightforward .Please help - import pygame
-
from pygame.locals import *
-
pygame.init()
-
screen=pygame.display.set_mode((900,900))
-
-
-
class Hero(pygame.sprite.Sprite):
-
def __init__(self):
-
pygame.sprite.Sprite.__init__(self)
-
self.image=pygame.image.load('C:/Python24/r3.PNG')
-
self.image=self.image.convert()
-
self.rect=self.image.get_rect()
-
self.rect.topleft=0,500
-
self.a=screen.get_rect()
-
def forward(self):
-
a=1
-
def back(self):
-
a=2
-
def original(self):
-
self.a.topleft=0,500
-
def moveup(self):
-
a=3
-
def movedown(self):
-
a=4
-
def update(self):
-
if a==0:
-
self.original()
-
if a==1:
-
if self.rect.left<=self.a.right :
-
self.rect.move_ip(5,0)
-
else:
-
self.original()
-
if a==2:
-
if self.rect.left!=0:
-
self.rect.move_ip(-5,0)
-
else:
-
self.original()
-
if a==3:
-
if self.rect.top!=self.a.top:
-
self.rect.move_ip(0,5)
-
else:
-
self.rect.move_ip(0,-5)
-
if a==4:
-
if self.rect.bottom!=0:
-
self.rect.move_ip(0,-5)
-
else:
-
self.rect.move_ip(0,5)
-
class Villian(pygame.sprite.Sprite):
-
def __init__(self):
-
pygame.sprite.Sprite.__init__(self)
-
self.image=pygame.image.load('C:/Python24/toba-pyweek3/toba-pyweek3/data/cards/1.PNG')
-
self.rect=self.image.convert()
-
self.rect=self.image.get_rect()
-
self.rect.topleft=400,500
-
a=0
-
def forward(self):
-
self.rect.move_ip(0,5)
-
-
def update(self):
-
if self.rect.top!=900:
-
self.forward()
-
else:
-
self.original()
-
def original(self):
-
self.rect.topleft=400,500
-
-
imig=pygame.image.load('C:/Python24/Blue hills.GIF')
-
background=pygame.Surface(screen.get_size())
-
background=background.convert()
-
background.blit(imig,(0,0))
-
screen.blit(background,(0,0))
-
hero=Hero()
-
villian=Villian()
-
allsprites=pygame.sprite.RenderPlain((hero,villian))
-
allsprites.draw(screen)
-
pygame.display.flip()
-
-
clock=pygame.time.Clock()
-
while True:
-
clock.tick(60)
-
for event in pygame.event.get():
-
if event.type==KEYDOWN and event.key==K_UP:
-
hero.moveup()
-
if event.type==KEYDOWN and event.key==K_DOWN:
-
hero.movedown()
-
if event.type==KEYDOWN and event.key==K_RIGHT:
-
hero.forward()
-
if event.type==KEYDOWN and event.key==K_LEFT:
-
hero.back()
-
if event.type==QUIT:
-
pygame.quit()
-
raise SystemExit()
-
allsprites.update()
-
screen.blit(background,(0,0))
-
allsprites.draw(screen)
-
pygame.display.flip()
11 3622
Hi guys i have come again with more problems.This time it has to do with pygame.The following code does not give any error messages but it does not do what it is supposed to do either.the code is a bit long but it's straightforward .Please help -
clock=pygame.time.Clock()
-
while True:
-
clock.tick(60)
-
for event in pygame.event.get():
-
if event.type==KEYDOWN and event.key==K_UP:
-
hero.moveup()
-
if event.type==KEYDOWN and event.key==K_DOWN:
-
hero.movedown()
-
if event.type==KEYDOWN and event.key==K_RIGHT:
-
hero.forward()
-
if event.type==KEYDOWN and event.key==K_LEFT:
-
hero.back()
-
if event.type==QUIT:
-
pygame.quit()
-
raise SystemExit()
-
allsprites.update()
-
screen.blit(background,(0,0))
-
allsprites.draw(screen)
-
pygame.display.flip()
Hi, I'm not sure you're indenting is correct. In your while loop you don't draw anything or update the screen. You should put the updating, drawing, and blitting in every frame. The way you have it, it is only going to do something when you close the window and only once.Your while loop should look like this: -
while True:
-
clock.tick(60)
-
for event in pygame.event.get():
-
if event.type==KEYDOWN and event.key==K_UP:
-
hero.moveup()
-
if event.type==KEYDOWN and event.key==K_DOWN:
-
hero.movedown()
-
if event.type==KEYDOWN and event.key==K_RIGHT:
-
hero.forward()
-
if event.type==KEYDOWN and event.key==K_LEFT:
-
hero.back()
-
if event.type==QUIT:
-
pygame.quit()
-
raise SystemExit()
-
allsprites.update()
-
screen.blit(background,(0,0))
-
allsprites.draw(screen)
-
pygame.display.flip()
-
Hi, I'm not sure you're indenting is correct. In your while loop you don't draw anything or update the screen. You should put the updating, drawing, and blitting in every frame. The way you have it, it is only going to do something when you close the window and only once.Your while loop should look like this: -
while True:
-
clock.tick(60)
-
for event in pygame.event.get():
-
if event.type==KEYDOWN and event.key==K_UP:
-
hero.moveup()
-
if event.type==KEYDOWN and event.key==K_DOWN:
-
hero.movedown()
-
if event.type==KEYDOWN and event.key==K_RIGHT:
-
hero.forward()
-
if event.type==KEYDOWN and event.key==K_LEFT:
-
hero.back()
-
if event.type==QUIT:
-
pygame.quit()
-
raise SystemExit()
-
allsprites.update()
-
screen.blit(background,(0,0))
-
allsprites.draw(screen)
-
pygame.display.flip()
-
Thanks for replying.I think what your saying is i should include the blitting and drawing into the while loop,makes sense.How did you get to this level in pygame,any good tutorials?
Thanks for the links.Do you you know how to make a part of your image move.For instance to make your hero kick or to shoot.
Do you mean animation? You can't make part of an image move, you need to make seperate pygame.Surfaces . If you want to do animation like walking, running, or shooting you can have a sprite sheet all in one BMP file showing all the possible frames of animation of a charatcer. You can blit the part of the image that you need for the current frame to represent an animation. Is that what you need?
Do you mean animation? You can't make part of an image move, you need to make seperate pygame.Surfaces . If you want to do animation like walking, running, or shooting you can have a sprite sheet all in one BMP file showing all the possible frames of animation of a charatcer. You can blit the part of the image that you need for the current frame to represent an animation. Is that what you need?
I did not think of that thats actually brilliant and a lot easier the creating little seperate images.Thanks
I did not think of that thats actually brilliant and a lot easier the creating little seperate images.Thanks
No problem. (stupid limit)
No problem. (stupid limit)
what do you mean by stupid limit.
what do you mean by stupid limit.
Lol, you need to enter at least 20 characters in a message. Used to be 10.
Sign in to post your reply or Sign up for a free account.
Similar topics |
by: Marian Aldenhövel |
last post by:
Hi,
I am trying to make pygame play music on windows. This simple program:
import pygame,time
pygame.init()
print "Mixer settings", pygame.mixer.get_init()
print "Mixer channels", pygame.mixer.get_num_channels()
pygame.mixer.music.set_volume(1.0)
pygame.mixer.music.load('file1.mp3)
|
by: Tim Knauf |
last post by:
Hi everyone, I'm glad to have found this list.
I've written a small script for my own use which, amongst other things,
captures mouse click information from a window containing an image. I
used Pygame to manage the image window, as it was the easiest way to
implement the functionality I needed. The surrounding interface windows
(there are two) are constructed with Tkinter.
Despite their unholy union, Pygame and Tkinter seem, generally,...
|
by: Brent W. Hughes |
last post by:
I'm just starting to learn pygame. I write what I think is just about the
simplest program that should display a window and then quit.
#-----------------------------------------------
import sys
import time
import pygame
pygame.init()
screen = pygame.display.set_mode((640,480))
pygame.display.set_caption("A Bug's Life")
|
by: kjm |
last post by:
Hi everyone,
I have recently acquired a Logitech Rumble pad to use as an input
device. I have been having trouble getting the event que to respond
that a button or hat arrow has been pressed. This is on a system
running OS 10.3.9.
I have modified/written a small piece of code that initializes the
joystick, and pygame does recognize it. I was wondering if someone has
a small snippet of code to get me going? I have posted the code...
|
by: DK |
last post by:
I'm somewhat new to Python but not to programming.
I just want to know if it's possible to have a SINGLE wxPython frame
containing two sections where one will contain widgets and the other
will host an animation done using PyGame.
More specifically, I want to have a list of names of animations on the
left and depending on what is selected, run the PyGame animation in the
main area.
| |
by: liuliuliu |
last post by:
hi -- sorry if this is trivial -- but how do you make a screenshot of a
pygame display? i have a surface which is basically the entire visible
screen -- how do you write this surface as an image file during
specific events in the script execution? image format doesnt matter.
thanks! christine
|
by: joshuabraham |
last post by:
os version =windows xp
hi guys i'm having problems using pygame the following code just does not seem to work.
clock=pygame.time.Clock()
while True:
sound1.play()
clock.tick(60)
pKeys = pygame.key.get_pressed()
Eves=pygame.event.get()
villian.face()
villian.hert()
|
by: globalrev |
last post by:
im doing this :
http://www.learningpython.com/2006/03/12/creating-a-game-in-python-using-pygame-part-one/
and when closing the program the window stays up and doesnt respond. i
tried adding this:
http://www.pygame.org/wiki/FrequentlyAskedQuestions
bu it doesnt work, or maybe im doing it wrong.
heres the code without the added tutorial exit:
|
by: globalrev |
last post by:
http://www.pygame.org/docs/ref/mixer.html
import pygame
#pygame.mixer.init(frequency=22050, size=-16, channels=2,
buffer=3072) //it complained abiout words=
so i guess its only the nbrs should be there//
pygame.mixer.init(22050, -16, 2, 3072)
pygame.mixer.music.load("example1.mp3")
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
| |
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |