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

义乌网站设计制作价格建设大型门户网站

义乌网站设计制作价格,建设大型门户网站,系统搭建流程,东莞营销型网站开发目录 前言 一、为什么要重构模块 二、创建game_functions 三、创建update_screen() 四、修改alien_invasion模块 五、课后思考 总结 前言 前两天我们已经成功创建了窗口,并将小蜜蜂放在窗口的最下方中间位置,本来以为今天将学习控制小蜜蜂,结…

目录

前言

一、为什么要重构模块

 二、创建game_functions

 三、创建update_screen()

 四、修改alien_invasion模块

 五、课后思考

 总结


前言

前两天我们已经成功创建了窗口,并将小蜜蜂放在窗口的最下方中间位置,本来以为今天将学习控制小蜜蜂,结果是重构模块,算了,我们按照书上步骤,一起来学习下。

一、为什么要重构模块

书上说在大型项目中,会经常在添加新代码前重构既有的代码。(咱也没进过大公司,做过大型项目,今天也算体验了一把大型项目的流程),目的是简化代码结构。具体到我们现在做的案例,就是简化alien_invasion文件,把里面写的一些功能,再用一个函数封装起来,然后在alien_invasion里调用,使得alien_invasion看起来更简洁,逻辑更清晰。我们先来看看alien_invasion里面的代码。

import sys
import pygame
import settings
from ship import Shipdef run_game():pygame.init()new_setting=settings.Settings()screen = pygame.display.set_mode((new_setting.screen_width,new_setting.screen_height))ship = Ship(screen)pygame.display.set_caption("Alien Invasion")while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()screen.fill(new_setting.bg_color)ship.blitme()pygame.display.flip()run_game()

 通过观察代码,我们发现,在while循环里主要有两件事,一件事是监听用户操作,另一件事是绘制窗口,那么我们就将这两件事分别封装出去。

 二、创建game_functions

 没啥好说的,创建一个类,把while循环里面的代码复制过去,然后alien_invasion再调用就行了,我们先写game_functions的代码。

import sys
import pygamedef check_events():for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()

 三、创建update_screen()

书上面并没有创建一个 update_screen的新文件,而是在game_functions里定义了update_screen函数,那么game_functions不就复杂了吗?简化了alien_invasion,复杂了game_functions有啥意义。

 我们观察上面的代码,screen.fill(new_setting.bg_color),调用了screen和new_setting,ship.blitme()调用了ship,所以我们在创建新的函数的时候,要将这三个作为传参传进去。

def update_screen(new_setting,screen,ship):screen.fill(new_setting.bg_color)ship.blitme()pygame.display.flip()

 四、修改alien_invasion模块

 现在我们只需要导入game_functions,然后调用里面的函数就行了。

import pygame
import settings
from ship import Ship
import game_functions as gfdef run_game():pygame.init()new_setting=settings.Settings()screen = pygame.display.set_mode((new_setting.screen_width,new_setting.screen_height))ship = Ship(screen)pygame.display.set_caption("Alien Invasion")while True:gf.check_events()gf.update_screen(new_setting,screen,ship)run_game()

 我们来运行一下,看能否成功。

 

 没问题,成功的

 五、课后思考

 “大蟒蛇”在这里提出了一个问题:“找一个喜欢的游戏角色,放在屏幕中间,然后将屏幕背景色变为图片的背景色,或者将图片的背景色变成屏幕背景色”

 看到这个问题,我首先想到的是python可以实现ps的功能?可以吸取颜色,改变背景色?这个其实觉得有可能实现,但是改变图片背景色,那还要抠图,觉得不大可能,本着好学的精神,在网上查询下,可以使用第三方库来改变图片的颜色,至于效果怎么样也就不试了,跟本次案例关系不大,以后有需要再试。但是改变背景色为图片背景色有难度,没有发现提取图片颜色的方式,难道用肉眼看?

 总结

 今天在游戏的进程上没有突破,但是也体会了大项目的流程。

http://www.yayakq.cn/news/404035/

相关文章:

  • 上海市建设项目施工审图网站创做阿里巴巴网站流程
  • 雪域什么网站是做电影的网站开发一个支付功能要好多钱
  • 惠州网站小程序建设点网站运营专员是干嘛的
  • 网站开发工程师的职责网络服务协议模板
  • 安徽省建设厅执业资格注册中心网站建设一个网站要多少费用吗
  • 开发网站公司交税wordpress回收站位置
  • 网站设计评价标准网络营销服务的种类
  • 漯河网站建设电话二级网站建设与管理会议
  • 建设网站需要什么设施免费网站建设公司联系方式
  • 国外的ps网站用户界面设计案例
  • 记事本做的网站链接怎么装饰学网站建设需要下载什么
  • 企业建网站多少钱建设手机银行网站
  • 手机企业网站设计理念湖南长沙网站制作
  • h5网站开发公司谷歌商店下载
  • 杭州网站建设报价wordpress 标签链接
  • 做网站办公照片网站建设建设公司
  • 免费做手机网站有哪些用于建设教学网站的建站工具有哪些特点
  • 公司门户网站的意义东仓建设网站
  • 2013电子商务网站建设广告联盟怎么赚钱
  • 咨询行业网站开发上海公司招聘信息
  • 湖北城乡住房建设厅网站未央网站建设
  • 绍兴专业做网站产品设计
  • 网站改版规则青岛网站排名方案
  • 温州网站排名团队企业网站黄页怎么做
  • 做网站老板不发工资我拿尾款铜陵做网站的
  • 重庆seo网站哪家好网站美工效果图怎么做
  • 广东石油化工建设集团网站h5网站设计方案
  • soho做网站要写品牌吗黑帽seo培训多少钱
  • 小学生做创客大赛网站的题网络公司排行榜
  • 房地产网站开发文档pc网站建设