這是我第一次使用代碼創建出一個窗口【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.pswp.cn/news/287042.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287042.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287042.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何html中添加動態圖片,把動態圖片添加到視頻畫面中 視頻添加自定義動態圖片 視頻加動態logo...

我前面也編寫過關于視頻添加動態圖片的教程。前面所說的給是視頻添加的動態圖片是軟件中自帶的素材,雖然軟件中帶的動態圖片種類繁多,但是不外乎有些時候軟件中并沒有我們要用的動態圖片,這個時候我們就需要重外部添加啦,好多的軟…

ASP.NET Core 集成AAD認證在Docker中運行時要注意的一個問題

最近我在準備一個分享,就是基于.NET 6.0的云原生開發Microsoft 365應用,這個看起來很高大上的東東,其實我理解主要就是能把應用容器化,便于與環境無關地進行分發和部署。如果理解有誤,請大家糾正我。下面是其中的一個例…

QCon上海2015精彩回顧和總結

金秋十月,歷時三天的QCon上海2015于10月17日順利閉幕。本次大會邀請了100多位技術專家,為參會者奉上了100多場精彩的技術演講。\\本次QCon邀請了極客邦創始人兼CEO霍泰穩,攜程旅行網CTO、高級技術副總裁葉亞明,丁香園技術VP、EGO上…

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…

Flutter之運行提示Could not update files on device: Connection closed before full header was received

1 問題 運行flutter app提示錯誤如下 Performing hot restart... Syncing files to device MIX 3... Could not update files on device: HttpException: Connection closed before full header was received, uri http://127.0.0.1:65054/-tzvW6oGieQ/ Restarted applicati…

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…

【三維激光掃描】第二章:國內外三維激光掃描設備簡介

地面三維激光掃描儀是地面激光掃描系統中最主要的硬件設備,近年來得到了快速發展,主要體現在品牌數量、性能指標、類型等方面的變化。本章主要介紹國內外主要設備的基本情況,對國內外研究現狀進行分析,最后指出目前存在的問題與未來的發展趨勢。 2.1 國外地面三維激光掃描儀…

Winform定時啟動

System.Timers.Timer t;int sum 0;int qian;int bai;int shi;int ge;public 測試定時啟動(){InitializeComponent();}//1.使用System.Timers.Timer//2.threadThread th;//定義線程private void 測試定時啟動_Load(object sender, EventArgs e){textBox1.Text "00.00&quo…

聊一聊容器暫停退出

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…

用計算機算出你喜歡吃你喜歡的人,Go for it七年級下學期1-12單元(期末復習)句子翻譯專練...

Go for it七年級下學期1-12單元(期末復習)句子翻譯專練Unit11.你的筆友是哪里人?Where is your _________ _______ _________? ( pe n , pal , from )2.他是澳大利亞人.He is ________ _________. (is, from, Australian)3.他住在哪里?Where __________ he________. (does ,…

因為我的名字特殊大家都是用異樣的眼光在看著我 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]…

Codeforces Round #359 div2

Problem_A(CodeForces 686A): 題意:\[ 有n個輸入, \space d_i代表冰淇淋數目增加d_i個, -\space d_i表示某個孩紙需要d_i個, 如果你現在手里沒有\space d_i個冰淇淋, 那么這個孩紙就會失望的離開。\] 你初始有x個冰淇淋…

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…