>  기사  >  백엔드 개발  >  파이게임 탄력 공의 구현 예를 공유하세요.

파이게임 탄력 공의 구현 예를 공유하세요.

零下一度
零下一度원래의
2017-07-03 09:38:352310검색

기대사항:

1. 구가 프레임에 닿으면 반동합니다.

2. 속도 버튼을 설정하고, 누른 후 구의 속도와 색상 상태를 변경합니다.

상세 구현:

 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()

위 내용은 파이게임 탄력 공의 구현 예를 공유하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.