python随机出现外星人飞船_《外星人入侵》项目飞船和外星人相撞后飞船不返回屏幕底部,依然在外星人中间的问题解决方法...
再写外星人入侵项目的时候发现了这个bug,找了很多帖子,也没有效果,现在改正过来了,希望有所帮助,代码如下:
class Ship(Sprite):
def __init__(self, ai_settings, screen):
"""初始化飞船并设置其初始位置"""
super(Ship, self).__init__()
self.screen = screen
self.ai_settings = ai_settings
# 加载飞船图像并获取其外接矩形
self.image = pygame.image.load('images/ship.bmp')
self.rect = self.image.get_rect()
self.screen_rect = screen.get_rect()
# 将每艘新飞船放在屏幕底部中央
self.rect.centerx = self.screen_rect.centerx
self.rect.bottom = self.screen_rect.bottom
# 在飞船的属性center中存储小数值
self.center = float(self.rect.centerx)
self.centery = float(self.rect.centery)
# 移动标志
self.moving_right = False
self.moving_left = False
self.moving_up = False
self.moving_down = False
def update(self):
"""根据移动标志调整飞船的位置"""
# 更新飞船的center值,而不是rect
if self.moving_right and self.rect.right < self.screen_rect.right:
self.center += self.ai_settings.ship_speed_factor
if self.moving_left and self.rect.left > 0:
self.center -= self.ai_settings.ship_speed_factor
if self.moving_up and self.rect.top > 0:
self.centery -= self.ai_settings.ship_speed_factor
if self.moving_down and self.rect.bottom < self.screen_rect.bottom:
self.centery += self.ai_settings.ship_speed_factor
# 根据self.center更新rect对象
self.rect.centerx = self.center
self.rect.centery = self.centery
def center_ship(self):
"""让飞船在屏幕上居中"""
self.center = self.screen_rect.centerx
self.centery = self.screen_rect.bottom
def blitme(self):
"""在指定位置绘制飞船"""
self.screen.blit(self.image, self.rect)
原文链接:https://blog.csdn.net/porlain/article/details/107941722
python随机出现外星人飞船_《外星人入侵》项目飞船和外星人相撞后飞船不返回屏幕底部,依然在外星人中间的问题解决方法...相关推荐
- python随机森林变量重要性_推荐 :一文读懂随机森林的解释和实现(附python代码)...
原标题:推荐 :一文读懂随机森林的解释和实现(附python代码) 作者:WilliamKoehrsen:翻译:和中华:校对:李润嘉 本文约6000字,建议阅读15分钟. 本文从单棵决策树讲起,然后逐 ...
- python随机生成数字列表_详解Python利用random生成一个列表内的随机数
首先,需要导入random模块: import random 随机取1-33之间的1个随机数,可能重复: random.choice(range(1,34)) print得到一系列随机数,执行一次得到 ...
- python编程:从入门到实践 外星人入侵项目:武装飞船 代码运行不显示飞船
我的飞船去哪了???!!! 照着书上的项目完整的代码运行一下,结果屏幕上没出现飞船,代码都是对的呀,这是咋回事? 屏幕高度问题 class Settings():"""A ...
- python随机生成一个数字_如何实现python随机生成数字?
今天小编就生成随机数,整理了多个方式,方便大家在项目时,根据自己的需求,直接拿来套用即可,以下内容相当详细,具体来看看吧~ 说明:python中生成随机数主要用到random模块,方法主要包括:ran ...
- python随机生成英文字母_在Python中生成随机字母
有没有一种方法可以在Python中生成随机字母(如random.randint,但用于字母)? random.randint的范围功能会很好,但是拥有仅输出随机字母的生成器总比没有好. 简单: > ...
- python随机生成英文字符串_如何用Python语言生成随机字符串 | 学步园
这是在Stackoverflow的关于 "用Python语言简洁地生成随机字符串" 的经典问答. 将此文翻译并分享下. 我想生成一个长度为N的字符串. 这个字符串应由数字和大写英文 ...
- python随机生成一组数据_使用Python random模块生成随机数据实例
在本节中,我们将学习如何使用random模块(random)在Python中生成随机数和数据.该模块为各种分布(包括整数,浮点数(实数))实现了伪随机数生成器. 本文的目标: 以下是我们将在本文中介绍 ...
- python随机森林筛选变量_变量重要性随机森林在R中是否有类似Python的rfpimp来分组共线变量...
早上好 我在R(randomForest,caret)中的随机林实现中使用置换重要性对变量进行排序.所有变量都是连续的,结果是明确的.在 为了处理共线特性Terence Parr,Jeremy How ...
- python随机生成100内的10个整数_用python随机生成数字教程_如何用Python编程随机产生10个随机整数,并输出这10个整数的和�9�3...
如何用Python编程随机产生10个随机整数,并输出这10个整数的和 用Python编程产生10个随机整数,并整数的和,方法如下 准备材料python.电脑 1.需要加载的模块是:random. 2. ...
最新文章
- 参考WebStorm设置VSCode“转到编辑器中的符号”快捷键为Shift双击(这是一个频繁使用的快捷键)
- JS实现标签页效果(配合css)不同标签下对应不同div
- 微信公众平台开发中-SAE不支持XStream框架的解决方案
- MySQL第4天:MySQL的架构介绍之修改数据库编码格式
- spring配置讲解
- 用户、组织结构、功能菜单、权限分配设计
- Python filecmp库
- .NET Core的文件系统[2]:FileProvider是个什么东西?
- 操作DataTable
- php+tcpdf+表格,php 使用tcpdf库输出pdf
- C# 获取汉语拼音全码及简码
- MySQL8安装详细步骤
- 如何在南方CASS中内插高程点
- 【渝粤教育】电大中专电商运营实操 (10)作业 题库
- Conflux 联合创始人、CTO伍鸣博士出席杭州钱江世纪城重点发展企业座谈会
- 微信公众请求config php,微信公众平台开发之配置与请求_PHP
- 自然风景Mac高清动态壁纸分享来了
- 年底大标季来袭,一步之遥2.0投标培训班助你实力升级!
- 行业寒冬下,简历发了几千次已读不回,功能测试的出路在哪里?
- Ruff 公开课回顾——物联网应用已经落地,区块链技术紧随其后