Home  >  Article  >  Backend Development  >  Share an implementation example of pygame bouncy ball

Share an implementation example of pygame bouncy ball

零下一度
零下一度Original
2017-07-03 09:38:352310browse

Expectations:

1. The sphere rebounds after contacting the frame

2. Set the speed button, and change the speed and color state of the sphere after pressing it

Specific implementation:

 1 import pygame 2 
 from pygame.locals import * 3 
 import sys, random 4  5  6 class Circle(object): 7     
 #   设置Circle类属性 8     def __init__(self): 9         
 self.vel_x = 110         self.vel_y = 111         
 self.radius = 2012         
 self.pos_x, self.pos_y = random.randint(0, 255), random.randint(0, 255)13         
 self.width = 014         self.color = 0, 0, 015 16     
 #   球体颜色速度改变方法17     def change_circle(self, number):18         
 self.color = random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)19         
 #   防止球体速度方向发生改变20         if self.vel_x < 0:21             
 self.vel_x = -number22         else:23             self.vel_x = number24         
 if self.vel_y < 0:25             self.vel_y = -number26         else:27             
 self.vel_y = number28         
 #   self.vel_x, self.vel_y = number, number  如果仅此句,速度方向会发生改变   
 def circle_run(self):31         #   防止球体超出游戏界面框体32         
 if self.pos_x > 580 or self.pos_x < 20:33             self.vel_x = -self.vel_x    
 if self.pos_y > 480 or self.pos_y < 20:36             self.vel_y = -self.vel_y37         
 self.pos_x += self.vel_x38         self.pos_y += self.vel_y39         
 pos = self.pos_x, self.pos_y40         
 ygame.draw.circle(screen, self.color, pos, self.radius, self.width)41 42 pygame.init()43 
 screen = pygame.display.set_mode((600, 500))44 
 #   Circle实例45 circle1 = Circle()46 47 while True:48     
 for event in pygame.event.get():49         if event.type == QUIT:50             
 sys.exit()51         elif event.type == KEYUP:52             
 if event.key == pygame.K_1:53                 
 circle1.change_circle(1)54             
 elif event.key == pygame.K_2:55                 
 circle1.change_circle(2)56             
 elif event.key == pygame.K_3:57                 
 circle1.change_circle(3)58             
 elif event.key == pygame.K_4:59                 
 circle1.change_circle(4)60 61     
 screen.fill((0, 0, 100))62 63     
 circle1.circle_run()64 65     
 pygame.display.update()

The above is the detailed content of Share an implementation example of pygame bouncy ball. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn