pygame写游戏,常用代码记录

算法分
• 阅读 179

pygame写起游戏(页游等)来还是挺不错的,不过我也没用过别的什么东西写,所以也没什么发言权。
下面是一些常用的代码片段,记录下来,给别人看,也用来给我想不起来的时候看看。

pygame的常见开头

# 1 - Import library
import math
import random
import pygame
from pygame.locals import *

# 2 - Initialize the game
pygame.init()
pygame.mixer.init() # music initial
width, height = 640, 480
screen=pygame.display.set_mode((width, height))

加载图片和声音

player = pygame.image.load("resources/images/dude.png")
screen.blit(player, (100, 100))
hit = pygame.mixer.Sound("resources/audio/explode.wav")
hit.set_volume(0.05)

碰撞检测

bullrect=pygame.Rect(arrow.get_rect())
bullrect.left=bullet_x
bullrect.top=bullet_y

badrect = pygame.Rect(badguyimg.get_rect())
badrect.left = badguy_x
badrect.top = badguy_y
if badrect.colliderect(bullrect):
    print 'Shooted'

常见事件循环

while True:
for event in pygame.event.get():
    if event.type == pygame.QUIT:
        pygame.quit()
        exit(0)
    if event.type == pygame.KEYDOWN:
        if event.key == K_q:
            pygame.quit()
            exit(0)
# refresh screen     
pygame.display.flip()

显示文字

pygame.font.init()
font = pygame.font.Font(None, 24)
text = font.render("Good job", True, (255,0,0))
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx
textRect.centery = screen.get_rect().centery+24
screen.blit(gameover, (0,0))
screen.blit(text, textRect)
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
Unity小王子私藏的开发2D游戏的常用插件合集
Unity以开发3D游戏见长,早期版本的Unity在开发2D游戏时不慎方便,因此AssetStore出现了很多2D游戏开发引擎。现在Unity对2D游戏的支持越来越好,而这些开发2D游戏的Unity插件也得到了更多开发者的喜爱。1:RexEngine:Classic2DPlatformerEngine(https://www.os
Stella981 Stella981
3年前
Python——Pygame实现生命游戏(game of life)
模块:pygameimportpygame,sys,time,randomfrompygame.localsimport"""Color"""WHITE(255,255,255)RED(255,0,0)GREEN(0,255,0)
Stella981 Stella981
3年前
Pygame游戏开发——《蛋糕消消乐》小游戏
开发工具:Pycharm游戏介绍:玩家通过交换蛋糕的位置消除蛋糕,如果有三个或以上同样的蛋糕处于一个直线或T字形的位置,将会发生消除,并加载新的蛋糕。在规定时间内消除越多的蛋糕则分数越高。游戏运行截图:!(https://oscimg.oschina.net/oscnet/up2e8ed29a6cc5f78404
Stella981 Stella981
3年前
Egret 2020,技术沉淀与产品突破
时光飞逝,2020已近尾声,虽然由于行业的变化等原因,白鹭引擎的市场声音在减少,但团队内部的研发工作一直没有松懈,回首这一年的产品研发历程,白鹭引擎今年产品迭代的核心围绕高性能、易用性、工作流融合三个方面展开,全面改善了EgretEngine的整体开发效率,加强2D/3D游戏开发工作流的融合,重点解决原生游戏的性能,横纵贯穿2D/3D游戏、H5游戏/原生游
Stella981 Stella981
3年前
C++ MFC棋牌类小游戏day1
好用没用过C做一个完整一点的东西了,今天开始希望靠我这点微薄的技术来完成这个小游戏。我现在的水平应该算是菜鸟中的战斗鸡了,所以又很多东西在设计和技术方面肯定会有很大的缺陷,我做这个小游戏的目的单纯为了证明一下我到底还是不是个程序员。。。这个小游戏是我小时候玩过的一种棋盘类游戏,可能只在我们那边才会知道,不过现在小孩估计已经很少玩了,搞不好要失传了
Stella981 Stella981
3年前
Python游戏开发常用库
PyWeek(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Flink.zhihu.com%2F%3Ftarget%3Dhttp%253A%2F%2Fwww.pyweek.org%2F):编程挑战,主要是Python游戏开发方面的PyGame(https://www
Stella981 Stella981
3年前
Python实现坦克大战
Python实现坦克大战一、前言前段时间,也就是国庆节。在寝室闲来无事,用pygame写了一个小游戏,就是标题写的《坦克大战》。这个游戏写了两个版本,第一个版本是按照书上的思想来写的,发现写到后面的时候代码太乱了。于是我又从头开始,用比较合理的面向对象思想重新写了一个版本。说比较合理也只是符合我自己的思想,所以难免
Stella981 Stella981
3年前
Python飞机大战实例有感——pygame如何实现“切歌”以及多曲重奏?
\TOC\pygame如何实现“切歌”以及多曲重奏?昨天晚上研究了好久pygame的音乐混合器mixer,出了很多问题后最终成功,不过学习本来也不可能一帆风顺的吗,下面我就来讲一讲我遇到的问题。一、pygame实现切歌初始化路径导库,需安装importpygame把路径赋值分别给三个
Wesley13 Wesley13
3年前
2d游戏和 3d游戏的区别
2D游戏和3D游戏的主要区别一、总结一句话总结:2D中的单位就是贴图,3D中的单位还有高1\.3D和2D游戏的区别主要体现在呈现画面和文件体积上;2\.借助3D引擎可以提升2D游戏的声光和特效效果;3\.成功的游戏不一定是优秀的游戏。
算法分
算法分
Lv1
墙里秋千墙外道。墙外行人,墙里佳人笑。笑渐不闻声渐悄,多情却被无情恼。
文章
8
粉丝
0
获赞
0