猫史档案馆


【Codemao科普协会•第2期】Python---Pygame

用户:秋葵秋葵查看:5 回复:21 评论:5 创建时间:2018-08-10T15:20:18


Hi!大家好!这里是CODEMAO科普协会第二期,这一次,我们来讲:

                                                           Python——Pygame

Q:什么是Pygame

                                                                            Pygame

 

     Pygame是跨平台Python模块,专为电子游戏设计,包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。

     pygame建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言提供,如:Python。

                                                                                                                                                           —— 本文源于网络

Q:如何用pygame制作游戏?

  1. 0.下载pygame库
  2. 打开CMD,输入pip install pygame即可下载

    (CMD:打开,输入CMD,点击即可。)

  3. center_image
    1. 1.必要函数

    #载入pygame库

    Import pygame    #初始化pygame库(放在使用pygame函数先前)

  4.  
  5.  

    pygame.init()

  6.  
  7. pygame.quit()      #注销pygame库(凡在)
  8.  

     

    注意:不要把py文件命名为pygame,会报错!!!

  9.  
  10. 2.#开始游戏

    while True:                                   

    #这两句是对相互事件的持续侦测↑

    #用for循环遍历侦测到的所有事件↓

    for event in pygame.event.get():

     

    #确定了对事情的反馈,如果关闭窗口↓

    if event.type == pygame.QUIT: 

          

            #直接退出主循环,结束所有进程↓

                sys.exit()

     

       #如果游戏持续进行↓

    if keep_going:

             pass

     

    (不了解while循环和for循环的训练师可以喵问)

     

  11. 3.游戏窗口

    #设置游戏窗口,大小为500*500的像素↓

    pygame.display.set_mode([500,500])

     

    #设置游戏窗口名称Codemao↓

    pygame.display.set_caption("Codemao")

     

    #载入图片,把图片存放到变量image,C:\\User\\1.jpg是图片位置,如果在同一目录下可以直接使用1.jpg↓

     

    Image=pygame.image.load("C:\\User\\1.jpg")

    #设置游戏窗口图标↓

     

    Pygame.display.set_icon(Image)

    效果:

  12. center_image
  13. (PS:效果仅供参考)
  14.  
    1. 4.载入游戏图片

    #把背景图片放入变量↓

    background =pygame.image.load("C:\\User\\background.jpg")

     

    #载入背景图片在坐标(0,0)↓

    screen.blit(background,(0,0))

    ……………(自己试一试载入图片)

     

    注意: (0,0)是在左上角,不是在中心点

  15.  

    center_image
  16. Q:如何使图片进行移动?

    A:只要增减图片的x或y坐标移动就可以了。

#同时更新画布,不然会有重影。

#对画布进行更新↓    

pygame.display.update() 

#设置帧数为60↓

pygame.time.Clock().tick(60)

效果:

center_image

5.碰撞检测

可以利用矩形检测来查询两张图片是否碰撞

#给图形加上矩形↓

变量名称=图片名称.get_rect()

 

#让矩形随着角色移动x,y可以持续移动↓

图片名称.center=(x,y)

 

#判断两个矩形是否相交,相交返回True,否则返回False↓

pygame.Rect.colliderect(矩形1,矩形2)

 

#可以加上if语句来判断是否离开边缘

效果:

center_image

6.绘制文字

#设置字体字号 字体为None 字号为52

font=pygame.font.SysFont(None,52)

 

 

#contert:文字内容

#True 或者 False :是否抗锯齿

# color:(0,0,0)RGB颜色

font.render(content,True,color)

效果:

center_image

7.键值对应

添加在  if keep_going:

修改pass

以下是python键值对应表

https://blog.csdn.net/stoneyyhit/article/details/52259993

 

8.背景音乐

#把声音文件放入变量bgm里头

#如同图片一样,在同一内目录下只需输入文件名↓

bgm=pygame.mixer.Sound('C:\\User\\1.wav')

 

#调用频道1播放音乐,每一个频道只能有一首音乐↓

pygame.mixer.Channel(1).play(bgm)

 

#停止音乐↓

pygame.mixer.music.stop()

----------------------------

本栏目由[Codemao科普协会] 更新

 

内容参考:

https://blog.csdn.net/chenhua1125/article/details/79519614

 

文字贡献:

薄暮晨光 绝命徒神探 隐于人间的老猫

 

图片贡献: 

咚当家族 Ryan袁奥

 

排版贡献:

梦幻想

                                                                                                                                                            (其实,我是假编)

——————————————————————————END———————————————————————————————


回复

上一页1 页 / 共 1下一页
假编程猫258假编程猫258

顶一下!                              

点赞0


评论


呛口小辣椒呛口小辣椒

emotion_编程猫_厉害了

点赞0


评论


呛口小辣椒呛口小辣椒

好厉害啊

点赞0


评论


薄暮晨光薄暮晨光

有我有我!!emotion_编程猫_嗨起来

点赞0


评论


假编程猫258假编程猫258

顶上去

还有,快看看制作者名单上有没有你?

点赞0


评论


隐于人间的老猫隐于人间的老猫

没有我?开头那个都是我写的。。。呜呜呜

点赞0


评论


假编程猫258假编程猫258

其实这篇帖子是大家进行资料收集,副会长进行整理,然后我发出来的(肆无忌谈的大声BB)

点赞1


评论


绝命徒神探绝命徒神探

顶!

点赞0


评论


~断了个弦~~断了个弦~

点赞0


评论


秋葵秋葵

有什么不足的都可以提出来哦

点赞0


评论


假编程猫258假编程猫258

。。。顶               

点赞0


评论


Ryan袁奥Ryan袁奥

有我有我!!emotion_编程猫_嗨起来

点赞0


评论


龙王小弟龙王小弟

顶!!

点赞0


评论


秋葵秋葵

大家都对这个不感兴趣吗

点赞0


评论


定位失败定位失败

center_image这个是while循环

点赞0


评论


LeoNyfLeoNyf

 图片上的游戏是你自己做的?发一下代码吗。emotion_编程猫_谢谢老板

点赞0


评论


liuzhiyuliuzhiyu

center_image

点赞0


评论


BYS海阔凭鱼跃天高任鸟飞BYS海阔凭鱼跃天高任鸟飞

大佬!emotion_编程猫_厉害了

点赞0


评论


不错!以前都不知道pygame怎么用,涨知识了!emotion_编程猫_点赞emotion_编程猫_加油

点赞0


评论


liuzhiyuliuzhiyu

center_image

点赞0


评论


小杂七233小杂七233

233

点赞0


评论