• 技术文章 >后端开发 >Python教程

    分享一个pygame 弹力球的实现实例

    零下一度零下一度2017-07-03 09:38:35原创1505
    期望:

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

    以上就是分享一个pygame 弹力球的实现实例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:pygame 实现 变速
    上一篇:BeautifulSoup学习的汇总 下一篇:详解PILLOW图片中加入中文的实例
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• Python爬虫超详细讲解• 总结分享Python冷门的技巧• 一文搞懂Python爬虫解析器BeautifulSoup4• 聊聊Python中列表和字典前加星号(**)• python网络爬虫方向的第三方库有哪些
    1/1

    PHP中文网