要想实现键盘控制作用,就需要给游戏键盘监听事件
利用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 游戏之旅(Pygame)

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

  2. Python游戏编程入门 中文pdf扫描版|网盘下载内附地址提取码|

    Python是一种解释型.面向对象.动态数据类型的程序设计语言,在游戏开发领域,Python也得到越来越广泛的应用,并由此受到重视. 本书教授用Python开发精彩游戏所需的[]为重要的该你那.本书不 ...

  3. Python游戏编程入门

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

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

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

  5. python 游戏(船只寻宝)

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

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

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

  7. python 游戏(井字棋)

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

  8. python 游戏(猜单词Hangman)

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

  9. python 游戏(龙的国度)

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

随机推荐

  1. Transformations

    链接 分析:根据操作模拟 /* ID:wanghan PROB:transform LANG:C++ */ #include "iostream" #include "c ...

  2. Sublime Text 常用的16 个 Sublime Text 快捷键

    在我做了一次包含一些现场编码的演示后,一些观众问我是如何操作这么快.当然这里没有唯一的答案,答案是一堆简单的快捷键和大量的实践的组合.为了回应那些询问,我觉得有必要看看我每天想都不用想且使用的快捷键. ...

  3. MySQL中的RAND()函数使用详解

    转自:https://www.jb51.net/article/66697.htm MySQL RAND()函数调用可以在0和1之间产生一个随机数: ? 1 2 3 4 5 6 7 mysql> ...

  4. B. Blown Garland

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  5. EasyUI 扩展自定义EasyUI校验规则 验证规则(常用的)

    $.extend($.fn.validatebox.defaults.rules, { CHS: { validator: function (value, param) { return /^[\u ...

  6. E20180427-hm

    创建: 2018/04/27 dissolve vi. 溶解; 融化,液化; 解散,散去; 分裂,分解;    vt. 使溶解; 使(固态物)溶解为液体,使液化; 使消失,使消逝,消除; 使终止; c ...

  7. bzoj 3027: [Ceoi2004]Sweet【生成函数+组合数学】

    首先根据生成函数的套路,这个可以写成: \[ \prod_{i=1}^{n}(1+x^1+x^2+...+x^{c[i]}) \] 然后化简 \[ =\prod_{i=1}^{n}\frac{1-x^ ...

  8. 面试那点小事,你从未见过的spring boot面试集锦(附详细答案)

    一, 什么是spring boot? 多年来,随着新功能的增加,spring变得越来越复杂.只需访问页面https://spring.io/projects,我们将看到所有在应用程序中使用的不同功能的 ...

  9. AppStore 审核拒绝原因记录

    此文仅记录审核app被拒绝的原因 1.未提供充值功能,app中出现vip或者会员图标文字 被拒 解决,隐藏或取消该图标或文字 2.第三方登录,需要跳转到第三方app登录 被拒 解决,审核时隐藏第三方登 ...

  10. scikit-learning教程(三)使用文本数据

    使用文本数据 本指南的目标是探讨scikit-learn 一个实际任务中的一些主要工具:分析二十个不同主题的文本文档(新闻组帖子)集合. 在本节中,我们将看到如何: 加载文件内容和类别 提取适用于机器 ...