要想实现键盘控制作用,就需要给游戏键盘监听事件
利用pygame模块的key.get_pressed()方法,来检测按键是否按下

key_press =pygame.key.get_pressed()
if not key_press[K_UP] and ball.rect.bottom < height:
ball.movedown()
elif key_press[K_UP] and ball.rect.top>0:
ball.moveup()
1
2
3
4
5
实现效果
游戏中,当按下上键时游戏对象就往上移动,一松开按键,游戏对象就往下降

完整代码
import pygame
from pygame.locals import *
from sys import exit

pygame.init() #进行初始化
bgsize = width,height = 1000,600
pygame.display.set_mode(bgsize)
pygame.display.set_caption('进击的蜘蛛')
bg=(0,0,0) #设置背景颜色
turtl = pygame.image.load('D:\QQ\MobileFile/spride.png')
ball_image = pygame.transform.scale(turtl,(width//10,height//10)) #对图片进行缩放
screen = pygame.display.get_surface()
class Ball(pygame.sprite.Sprite):
def __init__(self,up_speed,down_speed):
pygame.sprite.Sprite.__init__(self)
self.up_speed = up_speed
self.down_speed = down_speed
self.image = ball_image
self.rect = self.image.get_rect()
self.rect.top = 0
self.rect.left =(width-self.image.get_width())//2
def moveup(self):
self.rect.top -=self.up_speed

def movedown(self):
self.rect.top +=self.down_speed

ball = Ball(6,4)
clock = pygame.time.Clock()
while 1:
for event in pygame.event.get():
if event.type == QUIT:
exit()

key_press =pygame.key.get_pressed()
if not key_press[K_UP] and ball.rect.bottom < height:
ball.movedown()
elif key_press[K_UP] and ball.rect.top>0:
ball.moveup()
screen.fill(bg)
screen.blit(ball_image,ball.rect)
clock.tick(25)
pygame.display.flip() #将更新显示到屏幕上

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

Python游戏的更多相关文章

  1. Python游戏编程入门

    <Python游戏编程入门>这些文章负责整理在这本书中的知识点.注意事项和课后习题的尝试实现.并且对每一个章节给出的最终实例进行分析和注释. 初识pygame:pie游戏pygame游戏库 ...

  2. python 游戏 —— 汉诺塔(Hanoita)

    python 游戏 —— 汉诺塔(Hanoita) 一.汉诺塔问题 1. 问题来源 问题源于印度的一个古老传说,大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆 ...

  3. Python 游戏之旅(Pygame)

    Pygame是跨平台Python模块,专为电子游戏设计,包含图像.声音.建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚.基于这样一个设想,所有需要的游戏功能和理念 ...

  4. python 游戏(船只寻宝)

    1. 游戏思路和流程图 实现功能:船只在可以在大海上移动打捞宝藏,船只可以扫描1格范围内的宝藏(后续难度,可以调整扫描范围,可以调整前进的格数) 游戏流程图 2. 使用模块和游戏提示 import r ...

  5. python 游戏(数字推理游戏Bagels)

    1.游戏思路和流程图 实现功能:玩家猜测三位不一样的数字,猜错了有提示,提示分别为(位置错误数字正确),(位置和数字正确),(数字和位置都不正确) 游戏流程图 2. 使用模块和游戏提示 import ...

  6. python 游戏(井字棋)

    1. 游戏思路和流程图 实现功能,现实生活中的井字棋玩法 游戏流程图 2. 使用模块和游戏提示 import random def game_info(): print('欢迎来到井字棋游戏') pr ...

  7. python 游戏(猜单词Hangman)

    1.游戏思路和流程图 实现功能:随机一个单词让玩家猜测(后续难度实现修改为成语填空,成语必须要有提示,可修改猜的次数,增加连续猜成语,难度系数随着次数的增加而增加) 游戏流程图 2. 单词库和模块 i ...

  8. python 游戏(龙的国度)

    1. 理清楚游戏思路 实现功能:2个洞穴选择,一个洞穴是好龙,一个洞穴是坏龙,坏龙可以概率屠龙或者概率逃跑选项(后续难度需要增加宝藏获取装备,随机遇见商人,随着游戏进度逐步减少屠龙概率) 2. 计数和 ...

  9. python 游戏(猜数字)

    1. 构造猜数字核心函数 import random def guess_core(guess_min,guess_max,guess_counrt): '''猜数字核心判断函数 :param gue ...

  10. Python游戏引擎开发(七):绘制矢量图

    今天来完毕绘制矢量图形. 没有读过前几章的同学,请先阅读前几章: Python游戏引擎开发(一):序 Python游戏引擎开发(二):创建窗体以及重绘界面 Python游戏引擎开发(三):显示图片 P ...

随机推荐

  1. Vagrant 构建 LNMP 一致环境

    GitHub 地址 <--- 所有文件都在这里 前提条件 安装 Vagrant,VirtualBox. 设置 下载软件并放入 soft 目录 MySQL:mysql-5.7.22-1.el7.x ...

  2. WPF样式统一之DevExpress设置窗体,控件为Office风格

    DevExpress相信不少人用过,虽然人家不是免费的,但是用过的应该都知道,确实是花了心血的C#插件,下面来介绍下在DevExpress下如何统一设置自己的WPF程序为经典Windows风格. 窗体 ...

  3. Optimal Value Functions and Optimal Policy

    Optimal Value Function is how much reward the best policy can get from a state s, which is the best ...

  4. 找不到/lib/modules/../build文件夹

    :解决了make: *** /lib/modules/3.2.0-4-amd64/build: 没有那个文件或目录的问题,更新一下软件列表,然后sudo apt-get install linux-h ...

  5. EasyUI在子tab基础上再打开新的tab标签页

    var title = "xxxx"; var content = '<iframe scrolling="auto" frameborder=" ...

  6. call,apply,bind的用法和细节差异

    call,apply,bind的用法 call,apply和bind都用来改变js中this对象的指向 var dog = { name:'dog', speak: function(value){ ...

  7. Warning: session_start(): open(/var/lib/php/session/)

    Warning: session_start(): open(/var/lib/php/session/) 今天放置一个新的站点www.96net.com.cn在里面,登陆后台出现这种错,之后再lin ...

  8. P3515 [POI2011]Lightning Conductor(决策单调性分治)

    P3515 [POI2011]Lightning Conductor 式子可转化为:$p>=a_j-a_i+sqrt(i-j) (j<i)$ $j>i$的情况,把上式翻转即可得到 下 ...

  9. C# PDF文件转图片

    参考:https://blog.csdn.net/lai124793549/article/details/53392281 https://www.cnblogs.com/xiewei123/p/1 ...

  10. NGUI的输入框的校验(input filed script)

    一,我们制作一个输入框,右键添加Sprite ,给Sprite添加一个child的label,然后给Sprite添加一个box collider,接着添加input filed script,将lab ...