当前位置: 首页 > news >正文

做电影下载网站需要什么百度最新秒收录方法2023

做电影下载网站需要什么,百度最新秒收录方法2023,购物电商型网站怎么做,深圳外贸英文网站设计公司哪家好题目描述get_rect()应该是pygame中的一种方法,为什么不能使用?而是被当成Group()中的变量题目来源及自己的思路已经将所有函数和类合并,直接复制运行即可,请大神解答一下相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)al…

题目描述

get_rect()应该是pygame中的一种方法,为什么不能使用?而是被当成Group()中的变量

题目来源及自己的思路

已经将所有函数和类合并,直接复制运行即可,请大神解答一下

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

alien_invasion.py(主程序)

import sys

import pygame

from pygame.sprite import Sprite

from pygame.sprite import Group

import game_functions as gf

class Settings():

def __init__(self):

self.screen_width = 1200

self.screen_height = 800

self.bg_color = (230,230,230)

self.ship_speed_factor = 2.5

self.bullet_speed_factor = 1

self.bullet_width = 3

self.bullet_height = 10

self.bullet_color = 60,60,60

self.bullets_allowed = 3

self.alien_speed_factor = 1

self.fleet_drop_speed = 10

self.fleet_direction = 1

class Ship:

def __init__(self,ai_settings,screen):

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()

class Bullet(Sprite):

# 对飞行子弹的管理

def __init__(self,ai_settings,screen,ship):

# 在飞船所处位置创建子弹

super(Bullet,self).__init__()

self.screen =screen

class Alien(Sprite):

def __init__(self,ai_settings,screen):

super(Alien,self).__init__()

self.screen = screen

self.ai_settings = ai_settings

# 加载图片确认rect

self.image = pygame.image.load('images/alien.bmp')

self.rect = self.image.get_rect()

# 每个外星人在屏幕左上角

self.rect.x = self.rect.width

self.rect.y = self.rect.height

# 存储外星人的位置

self.x = float(self.rect.x)

def blitme(self):

self.screen.blit(self.image,self.rect)

def update(self):

self.x += self.ai_settings.alien_speed_factor

self.rect.x = self.x

def check_edges(self):

screen_rect = self.screen.get_rect()

if self.rect.right >= screen_rect.right:

return True

elif self.rect.left <= 0:

return True

def update(self):

self.x += (self.ai_settings.alien_speed_factor *

self.ai_settings.fleet_direction)

self.rect.x = self.x

def get_number_aliens_x(ai_settings,alien_width):

avaliable_space_x = ai_settings.screen_width - 2 * alien_width

number_aliens_x = int(avaliable_space_x / (2 * alien_width))

return number_aliens_x

def get_number_rows(ai_settings,ship_height,alien_height):

avaliable_space_y = (ai_settings.screen_height -

(3 * alien_height) - ship_height)

number_rows = int(avaliable_space_y / (2 * alien_height))

return number_rows

def create_alien(ai_settings,screen,aliens,alien_number,row_number):

alien = Alien(ai_settings,aliens)

alien_width = alien.rect.width

alien.x = alien_width + 2 * alien_width *alien_number

alien.rect.x = alien.x

alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number

aliens.add(alien)

def create_fleet(ai_settings, screen, ship, aliens):

# 创建一个外星人,并计算一行有几个外星人

alien = Alien(ai_settings,screen)

number_aliens_x = get_number_aliens_x(ai_settings, alien.rect.width)

number_rows = get_number_rows(ai_settings, ship.rect.height,

alien.rect.height)

# 创建第一行外星人

for row_number in range(number_rows):

for alien_number in range(number_aliens_x):

create_alien(ai_settings, screen, aliens, alien_number,

row_number)

def check_fleet_edges(ai_settings, aliens):

for alien in aliens.sprites():

if alien.check_edges():

change_fleet_direction(ai_settings, aliens)

break

def run_game():

pygame.init()

ai_settings = Settings()

screen = pygame.display.set_mode(

(ai_settings.screen_width,ai_settings.screen_height))

pygame.display.set_caption("Alien Invasion")

# 创建一个飞船

ship = Ship(ai_settings,screen)

# 创建一个用于储存子弹的编组和一个外星人编组

bullets = Group()

aliens = Group()

# 创建外星人群

gf.create_fleet(ai_settings,screen,ship,aliens)

# 开始游戏主循环

while True:

gf.update_aliens(ai_settings,aliens)

run_game()

你期待的结果是什么?实际看到的错误信息又是什么?

可以直接运行方法get_rect()

实际看到:

File "D:/python/alien_invasion/untitled0.py", line 145, in

run_game()

File "D:/python/alien_invasion/untitled0.py", line 142, in run_game

gf.update_aliens(ai_settings,aliens)

File "D:\python\alien_invasion\game_functions.py", line 112, in update_aliens

check_fleet_edges(ai_settings, aliens)

File "D:\python\alien_invasion\game_functions.py", line 101, in check_fleet_edges

if alien.check_edges():

File "D:\python\alien_invasion\alien.py", line 37, in check_edges

screen_rect = self.screen.get_rect()

http://www.lbrq.cn/news/2448793.html

相关文章:

  • 深圳购物网站建设报价沈阳关键词自然排名
  • 百度做的网站靠谱吗品牌推广百度seo
  • 旅游自媒体网站怎么做百度网址大全手机版
  • 网站访问量什么意思关键词优化一年的收费标准
  • wordpress网站不显示菜单电商网站订烟
  • 自己做网站挂广告怎么赚钱seo云优化是什么意思
  • 网站怎么做竞价建站公司网站源码
  • 简易东莞网站制作公司网络营销带来的效果
  • icp备案网站app开发费用一览表
  • 网站建设要用到编程吗sem推广竞价托管公司
  • 网站系统建设预算网上推广怎么收费
  • 在家接做网站百度客服在线咨询人工服务
  • 微信公众网站开发seo优化快速排名技术
  • 上海知名的广告公司seo诊断报告怎么写
  • 邵阳疫情最新消息今天封城了seo软件推荐
  • 网站宣传片的创意百度应用商店app
  • 响应式布局网站尺寸引流平台有哪些
  • wordpress转换小程序zac seo博客
  • C 如何做简易网站深圳最新新闻事件今天
  • 毕设代做的网站网络培训心得体会5篇
  • 上小学网站建设爱站网查询
  • 莆田专门做网站百度 指数
  • 网站移动字幕要怎么做深圳网络营销全网推广
  • 网站建设费能算作无形资产吗最热门的短期培训课程
  • 网站悬浮窗代码免费行情网站app大全
  • 做推广哪个网站最好免费网络营销推广软件
  • 抖音小程序在哪里打开广东seo推广方案
  • 免费的个人简历模板pdf惠州seo计费
  • 广州做网站 汉狮网络网站关键词推广价格
  • 广州市网站建设科技公司品牌型网站制作价格
  • Android 10.0 sts CtsSecurityBulletinHostTestCases的相关异常分析
  • Photon v0.3.0 基于Aria2免费开源轻量级多线程不限速下载器
  • 借助 VR 消防技术开展应急演练,检验完善应急预案​
  • Zookeeper学习专栏(七):集群监控与管理
  • 负压产生电路分析
  • 【世纪龙科技】汽车专业数字课程资源-新能源汽车维护与故障诊断