这是我第一次使用代码创建出一个窗口【python 游戏实战 01】

前言

本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。

若有想学习的内容可以在评论区留言,根据大家的要求持续更新。点赞过十万就算化成灰我也更新下一篇。(肯定不到,也会更的。)

有问题也可以在评论区留言,也可以私聊我加我好友共同交流一起进步~

我的其它教程

教程点击进去将会有目录

《看聊天记录都学不会C语言?太菜了吧(1)我在大佬群里问基础问题没人理?——学习建议

《大学生C语言作业、习题100例白话详解》

目录

《看聊天记录都学不会Python到游戏实战?太菜了吧》python 写游戏好简单啊,我用键盘可以随意控制角色了【python 游戏实战 04】—— 键盘控制角色移动

《看聊天记录都学不会Python到游戏实战?太菜了吧》游戏角色开始动起来了,真帅!【python 游戏实战 03】—— 角色移动

《看聊天记录都学不会Python到游戏实战?太菜了吧》这是我第一次使用代码创建出一个窗口【python 游戏实战 02】—— 创建游戏场景

《看聊天记录都学不会Python到游戏实战?太菜了吧》这是我第一次使用代码创建出一个窗口【python 游戏实战 01】—— 创建窗口

《看聊天记录都学不会Python到游戏实战?太菜了吧》(12)python 的列表我从没想过会那么好用—— 列表

《看聊天记录都学不会Python到游戏实战?太菜了吧》(11)python里面while到底有多少知识点—— break continue

《看聊天记录都学不会Python到游戏实战?太菜了吧》(10)无底洞的循环—— 循环初窥

《看聊天记录都学不会Python到游戏实战?太菜了吧》(9)集万家之长不死 python—— 导包

《看聊天记录都学不会Python到游戏实战?太菜了吧》(8)我们开始做一个数字小游戏吧—— 数字游戏开始做 导包

《看聊天记录都学不会Python到游戏实战?太菜了吧》(7)我用函数写了个特洛伊木马—— 自定义函数

《看聊天记录都学不会Python到游戏实战?太菜了吧》(6)不会这个知识点代码越写越难—— and or 逻辑运算

《看聊天记录都学不会Python到游戏实战?太菜了吧》(5)用前朝的剑斩今朝的官——if…else

《看聊天记录都学不会Python到游戏实战?太菜了吧》(4)小白不知道这个知识点将会错漏百出——if 与 层级

《看聊天记录都学不会Python到游戏实战?太菜了吧》(3)都说123是字符不是数字——输入与类型

《看聊天记录都学不会Python到游戏实战?太菜了吧》(2)在python中加号竟然如此善变——变量与运算

《看聊天记录都学不会Python到游戏实战?太菜了吧》(1)装载Python神器!亮剑!——helloworld


作者简介

作者名:1_bit

简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。

博客地址:https://i1bit.blog.csdn.net


🐰小C:小媛,终于把 python 的基础语法内容学完了开不开心?

👸小媛:不开心!我说的游戏呢?怎么还没开始。 😂

🐰小C:这不就是来了嘛,我怕你一下子看不懂,所以就慢慢来咯。

👸小媛:你意思是说我笨咯? 😒

🐰小C:没没没,还真没这个意思。

👸小媛:我觉得你心里就是这样想的。 😒

🐰小C:不不不,否认三连,我可没说。不过如果你自己这样想,就没办法了。

👸小媛:你!… 😠

🐰小C:好了,我们进入正题,你知道在一个游戏中,有哪些元素吗?

👸小媛:…

🐰小C:好了,赶紧回答。

👸小媛:在游戏中有主角、背景等元素。

🐰小C:这些元素我们可以统称为“精灵”。

👸小媛:名字那么好听的嘛。

🐰小C:当然你也可以换一个名字,那你知道这些精灵在编写的时候到底是怎么来的吗?

👸小媛:不知道。

🐰小C:精灵其实就是一张张图片,我们使用不同的图片构成不同的元素。那这些在游戏中的图片,是用什么来控制的呢?

👸小媛:代码呗,我又不傻。 😠

🐰小C:其实例如我们在制作一个飞机大战的游戏时,若我方的子弹触碰到了敌机,那么敌机就会爆炸,这个爆炸其实是切换成爆炸图片从而产生的;所以这些元素其实大多数都是图片。

👸小媛:唔,原来如此。这个就像那个我们画的那种纸人画吧,翻书后可以动的那种?

🐰小C:唔,理解的很透彻呀,对的,就是这个意思。现在我们正式的进入 Pygame 的学习吧。我们在创建一个文件,引入这个 pygame 游戏制作工具就可以正式将该工具拿过来了。

import pygame

👸小媛:明白,这就是个常规操作。 😒

🐰小C:接下来我们需要对 pygame 进行初始化,这个过程就像你拿了一个工具后,需要将它重置成最开始的状态才能用它,否者将会有一些上一个人使用残留的信息哟,这样就不是很好了。

import pygamepygame.init()

👸小媛:真的会有上一个人的残留信息吗?

🐰小C:哈哈哈,当然不会,其实这个过程就像你玩游戏新建一个角色,总要初始化这个角色啥样吧?其实就是这个作用。

👸小媛:真的就知道你在逗我玩。 😒

🐰小C:接下来我们就来创建这个游戏窗口吧,游戏窗口还需要输入一个宽高,否则 pygame 是不知道你要创建什么样子的窗口的。

👸小媛:程序就是这样,我懂,都要给予一些基础信息,否则搞不定的。

🐰小C:代码编程中大多是这样,我们继续。在 pygame 这个工具箱中,有一个工具叫做 display,这个 display 工具有很多功能,我们需要使用 set_mode 这个功能就可以创建出一个窗口了,或者说使用 display 中的 set_mode 方法。在 set_mode 这个方法中,我们使用一个圆括号括起 800 和 600,也就是传入一个元组,内容为 800 和 600,就像这样(800,600);之后将这个值传到 set_mode 这个工具中就可以了。在这里可以把创建的这个图片赋值给一个变量,那么这个变量就是创建的屏幕,我们可以通过这个变量去控制创建的这个屏幕。

import pygamepygame.init()
screen=pygame.display.set_mode((800,600))

👸小媛:简简单单,我搞出来了,真香第一次使用代码创建窗口,真开心。 😎


🐰小C:开心就好开心就好,但是这个窗口会一闪而过是吧?

👸小媛:是的,一闪就过了我有点懵。

🐰小C:没事,我们将这个窗口的信息给补全吧。

👸小媛:现在没有全吗?

🐰小C:对的,你还有标题和图标没有加呢。

👸小媛:对哟,快告诉我怎么加。

🐰小C:添加标题很简单,在 display 这个中有一个叫做 set_caption 的方法用于设置标题,我们使用这个方法传入标题字符串就可以了。

import pygamepygame.init()
screen=pygame.display.set_mode((800,600))
pygame.display.set_caption("这是一个飞机游戏")

👸小媛:哈哈哈,收到,接下来如何创建一个小图标呢?

🐰小C:我们需要给这个窗口添加小图标还需要先装在图片,在 pygame 中 image 对象有一个方法叫做 load 可以装载图片,使用 load 后我们可以将加载的图片赋值到一个变量,这个变量就等于了装载的图片。

import pygamepygame.init()
screen=pygame.display.set_mode((800,600))
pygame.display.set_caption("这是一个飞机游戏")
icon=pygame.image.load(r'C:\Users\mx\Desktop\icon.jpg')

👸小媛:装载完之后怎么使用呢?

🐰小C:使用 display 工具中的 set_icon 方法,把这个图片设置为当前游戏的图标就可以了,是不是非常简单。

import pygamepygame.init()
screen=pygame.display.set_mode((800,600))
pygame.display.set_caption("这是一个飞机游戏")
icon=pygame.image.load(r'C:\Users\mx\Desktop\icon.jpg')
pygame.display.set_icon(icon)

👸小媛:哈哈哈,真简单,那个 icon 就表示那个图片吧?

🐰小C:是的,直接使用 set_icon 就可以将这个图片设置到窗口上了。

👸小媛:但是还是会一闪而过。

🐰小C:对的,我们下节课告诉你怎么解决这个问题。

👸小媛:了解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何html中添加动态图片,把动态图片添加到视频画面中 视频添加自定义动态图片 视频加动态logo...

我前面也编写过关于视频添加动态图片的教程。前面所说的给是视频添加的动态图片是软件中自带的素材,虽然软件中带的动态图片种类繁多,但是不外乎有些时候软件中并没有我们要用的动态图片,这个时候我们就需要重外部添加啦,好多的软…

ASP.NET Core 集成AAD认证在Docker中运行时要注意的一个问题

最近我在准备一个分享,就是基于.NET 6.0的云原生开发Microsoft 365应用,这个看起来很高大上的东东,其实我理解主要就是能把应用容器化,便于与环境无关地进行分发和部署。如果理解有误,请大家纠正我。下面是其中的一个例…

ArcGIS中合并(merge)、联合(union)、追加(append)、融合(dissolve)的用法区别与联系

ArcGIS中,针对矢量数据拼接,有多个工具:合并(merge)、联合(union)、追加(append)、融合(dissolve)等,本文以甘肃省1:100万县级数据详细讲解以上各个工具的用法、区别和注意事项。 有关合并(merge)、联合(union)、追加(append)、融合(dissolve)等基础操作内…

Singleton

问题:编写一个Singleton类 简单的方式 1 package cn.changb.singleton;2 3 /**4 * 简单的方式:弊端是在并发执行时,14行处可能存在多个实例5 */6 public class SingletonDemo1 {7 private static SingletonDemo1 INSTANCE;8 9 private Singlet…

C++ 语法都不会怎么写代码? 03

作者简介 作者名:1_bit 简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。系列教程将会…

自定义dialog弹窗html,自定义H5页面dialog弹窗

弹窗一:样式如下:HTML代码://弹出窗通知取消确认//遮罩层$(.dialog .content).text(text);$(.dialog, .mark).removeClass(hide);}tipDialog("1111");$(".sure").click(function(){var type $(this).attr(type);if(typeb…

聊一聊容器暂停退出

1背景介绍 最近在写 docker 相关教程,过程中发现容器暂停退出竟然有 docker kill、docker stop 和 docker pause 三种方式,今天就来分析下三者间的区别。2辅助指令 docker top - 查看容器进程docker event - 查看容器相关事件docker stats -…

初学者必看的文章:在VM12中安装 RedHat RHEL7.2  系统的详细步骤:看我如何操纵RHEL系统...

一、开始安装 1)新建虚拟机 RHEL7.2 2)成功引导系统--开机出现此画面 Install Red Hat EnterpriseLinux 7.2 安装RHLE7.2 操作系统 Test this edia & install RedHat Enterpris…

Flutter之点击按钮打开百度链接

1 需求 点击按钮,打开百度链接 2 代码实现 import package:flutter/material.dart; import package:url_launcher/url_launcher.dart;void main() {runApp(MyApp1()); }class MyApp1 extends StatelessWidget {overrideWidget build(BuildContext context) {return…

因为我的名字特殊大家都是用异样的眼光在看着我 04

作者简介 作者名:1_bit 简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。系列教程将会…

undefined reference to 问题解决方法

最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text0x13): undefined reference to func 关于undefined reference这样的问题,大家其实经常会遇到,在此&#xff0c…

WPF 实现扇形统计图

扇形统计图原文作者:ArcherSong博客地址:https://www.cnblogs.com/ganbei/绘制一个扇形原理也是基于Canvas进行绘制;ArcSegment[1]绘制弧形;绘制指示线;绘制文本;鼠标移入动画;显示详情Popup;源码Github[2]…

Flutter之测试Http和HttpClient

1 测试Http和HttpClient 导入包:在pubspec.yaml里面导入 http: ^0.12.2 main.dart里面导入 import package:http/http.dart as http; import dart:convert; import dart:io; 2 代码实现 import package:flutter/material.dart; import package:url_launcher/url_lau…

基于zookeeper的solrCloud集群搭建

1.安装及搭建相关环境 1.1环境准备 centos7,jdk1.8,tomcat8,zookeeper3.4.X,solr4.10.X 链接: https://pan.baidu.com/s/1i47IuKd 密码: emqt 2.zookeeper集群搭建 2.1复制zookeeper [rootMiWiFi-R3-srv ~]# mkdir /usr/local/solr-cloud [rootMiWiFi-R3-srv ~]# cp -r zookee…

【小白必懂】C语言求完全数

注意:学生党如果存在付费问题可以加我好友,我可以开单篇短时间的免费哟~ 私聊我就好~ 情景再现 👸小媛:小C,你知道什么是完全数吗? 🐰小C:知道呀,难道是今天老师又出题…

台式计算机硬件输入设备,台式电脑硬件配置有哪些

台式电脑硬件配置你知道有哪些?电脑的配置一般是指电脑的硬件配件的高档程度、性价比等,电脑的性能好坏主要决定于以下主要硬件配置。一起来看看台式电脑硬件配置有哪些,欢迎查阅!组装台式电脑配置1、实用性机型建议:首选1:intel…

Android WebView和JavaScript交互

JavaScript在现在的网页设计中用得很多,Android 的WebView可以载入网页,WebView也设计了与JavaScript通信的桥梁。这篇主要介绍一下WebViewk控件如何和JavaScript进行交互。 WebView: WebView和网页相关的主要有一下几个方法:  setWebViewCl…

Microsoft Dev Box 带来全新云上开发体验

在 5 月 24 日, 微软的产品经理 Anthony Cangialosi 在 Azure 社区发布了一篇博客(Introducing Microsoft Dev Box), 宣布推出 Microsoft Dev Box !这是一种新的云服务,托管在 Microsoft Azure 中,提供了一个开箱即用的开发工作站&#xff0c…

游戏开发如此简单?我直接创建了一个游戏场景【python 游戏实战 02】

前言 本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新…

【三维激光扫描】第五章:基于点云数据的三维建模

第一节 绘制立面图 1. 打开CAD 2014,新建一个文件,模板选择acadiso.dwt,如下图。 2. 点击插入→创建点云。