庫存狀況
「香港二樓書店」讓您 愛上二樓●愛上書
我的購物車 加入會員 會員中心 常見問題 首頁
「香港二樓書店」邁向第一華人書店
登入 客戶評價 whatsapp 常見問題 加入會員 會員專區 現貨書籍 現貨書籍 購物流程 運費計算 我的購物車 聯絡我們 返回首頁
香港二樓書店 > 今日好書推介
二樓書籍分類
 
Python遊戲開發(PyGame基礎篇)

Python遊戲開發(PyGame基礎篇)

沒有庫存
訂購需時10-14天
9786264160995
曹永忠,許智誠,蔡英德
崧燁文化
2024年11月27日
217.00  元
HK$ 195.3  






ISBN:9786264160995
  • 規格:平裝 / 408頁 / 17 x 23 x 2.04 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣


  • 電腦資訊 > 程式設計 > 軟體工程











      本書是『遊戲設計與開發系列』的第一本書,主要教導新手與初階使用者之讀者熟悉使用Python進行程式開發,配合Pygame套件進入遊戲設計與開發的實際應用,主要目的是提供初學者可以一步一步安裝好Python程式開發環境,安裝與設定Pygame套件的遊戲開發與設定等等。



      目前已經有許多Pygame遊戲開發的網路教學影片與許多文章與討論,由於Pygame遊戲開發充分使用到Python物件導向程式設計與開發的許多技巧,對於學習高階的Python物件導向程式攥寫有許多助益,PyGame是一個用於開發2D遊戲的Python套件模組,它為遊戲開發者提供了簡單易用的API。



      PyGame這個套件建立在SDL(Simple Direct Media Layer)之上,並且能夠處理多種多媒體任務,如音頻、視覺效果、輸入控制等,適合用來創建遊戲、模擬器或其他多媒體應用,雖然目前遊戲設計與開發仍是以C與C++語言為主,但是由於C與C++語言入門雖不難,但是要深入C與C++語言後,可以進行遊戲開發,其門檻對許多專業程式開發人員仍然需要多年的訓練與多年不懈的努力才能有基本遊戲開發的程式攥寫技能,然而遊戲設計除了開發工具熟悉與專業之外,對於遊戲設計的領域知識與獨門技巧,尤其對於圖片、影音、人機介面操控與遊戲繪圖時脈與禎數整合與各種程序分時多工的設計技巧,更是C與C++語言之更深入的高階技巧,致使使用C與C++語言開發遊戲成為及少數專業程式開發人員可以進入的領域。



      本書是Python之Pygame遊戲設計中基礎入門書,後續筆者會針對不同遊戲,單獨針對每一種不同類型與獨特的遊戲開發例子,會獨立設計專書來帶領讀者進入遊戲專業開發的殿堂。

    ?


     





    自序

    自序

    自序

    目錄

    圖目錄

    表目錄

    遊戲設計與開發系列

    Python 介紹

    Python 起源與創始

    發展階段

    近期發展

    現代發展

    關鍵特性

    主要用途

    內建常數

    Python 內建函式

    Python 編譯器安裝

    測試Python 是否安裝成功

    安裝PyCharm 整合工具安裝

    測試PyCharm 是否安裝成功

    建立開發基本專案環境

    安裝套件

    Python 環境安裝PyGame 套件

    Python 環境安裝cocos2d 套件

    Python 環境安裝numpy 套件

    PyCharm環境安裝PyGame套件

    章節小結

    PyGame基本介紹

    如何使用PyGame套件

    如何建立繪圖視窗介面

    設定視窗介面屬性

    建立視窗大小

    建立視窗背景顏色

    透過畫布建立視窗背景顏色

    pygame.display相關函式介紹

    使用圖片繪製視窗背景

    載入圖片

    繪製圖片到視窗

    繪製文字到視窗背景

    系統字型

    載入系統字型

    載入字型

    設定字型屬性

    產生字型內容

    繪製文字內容到視窗上

    產生結束圖示與正確離開系統

    缺乏結束程序產生之系統錯誤

    捕抓所有滑鼠相關動作引發的事件

    判斷是否是按下系統結束按鈕

    確認常在狀態與系統離開狀態

    章節小結

    PyGame 繪圖功能介紹

    Surface 對象:

    基本繪圖功能

    處理顏色

    渲染圖像

    繪製文字

    更新顯示

    性能優化

    如何繪製線條

    建立與視窗大小一致畫布

    直接在pygame 視窗繪製X 的直線

    直接在pygame 視窗繪製一個格盤

    如何繪製矩形

    建立與視窗大小一致畫布

    直接在pygame 視窗繪製三分之一的矩形框

    直接在pygame 視窗繪製連續縮小的矩形框

    如何繪製圓形

    建立與視窗大小一致畫布

    直接在pygame 視窗繪製中心圓形框

    直接在pygame 視窗繪製連續縮小的圓形框

    如何繪製橢圓形

    建立與視窗大小一致畫布

    直接在pygame 視窗繪製中心橢圓形框

    直接在pygame 視窗繪製連續縮小的橢圓形框

    如何繪製圓弧

    建立與視窗大小一致畫布

    直接在pygame視窗繪製10個20分之一的弧形框

    直接在pygame視窗繪製連續縮小的弧形框

    如何繪製多邊形

    建立與視窗大小一致畫布

    直接在pygame視窗繪製四邊形之多邊形框

    直接在pygame視窗繪製連續縮小的矩形框

    章節小結

    PyGame精靈功能介紹

    如何使用PyGame套件

    如何建立繪圖視窗介面

    設定視窗介面屬性

    建立視窗大小

    建立視窗背景顏色

    透過畫布建立視窗背景顏色

    建立一個基本Sprite 物件

    Pygame 中的 Sprite 類別

    Sprite 的基本特性

    Sprite 的基本操作

    Group 和 GroupSingle

    建立最後迴圈程序

    離開遊戲

    最後整合程式

    控充Sprite 物件邊界問題

    擴充 Sprite 類別所處視窗

    在擴充 Sprite 類別所處方向與位置資訊

    擴充邊界之整合程式

    擴充Sprite 物件考慮範圍問題

    在擴充 Sprite 類別所處二軸方向與位置資訊

    擴充全方位邊界之整合程式

    擴充Sprite 物件內建屬性設定問題

    在擴充 Sprite 類別離動距離資訊為屬性

    建立距離屬性對應方法

    在程式之中設定距離屬性

    擴充亂數設定移動距離之整合程式

    產生兩個物件在畫面上同時移動

    主程式中加入第二個精靈角色

    加入角色名字

    加入碰撞反彈處理方法

    在主程序中加入檢查是否碰撞

    兩物件碰撞之整合程式

    章節小結

    PyGame 音效功能介紹

    背景音樂基本介紹

    music 用途

    music 原理

    music 基本用法

    載入音樂文件

    檢查是否音樂播放中

    卸載音樂文件

    播放音樂

    暫停與繼續播放

    重新播放音樂

    播放中等待一些時間後停止

    設定播放音樂位置

    取得播放音樂位置

    設置音量

    取得目前音量大小

    建立一個簡單的背景音樂

    設定視窗介面屬性

    建立視窗背景顏色

    載入音樂文件

    播放音樂

    播放科學小飛俠主題曲之整合程式

    加入鍵盤控制的背景音樂

    讀取使用者按下鍵盤資訊

    辨識使用者按下鍵盤資訊進行處理

    加入鍵盤控制的背景音樂整合

    背景音效基本介紹

    Sound用途

    Sound原理

    Sound基本用法

    加入鍵盤控制的音效

    載入音效

    讀取使用者按下鍵盤資訊

    辨識使用者按下鍵盤資訊進行處理

    加入鍵盤控制的音效

    以球在平面移動撞壁產生音效

    初始化pygame

    建立視窗大小

    建立視窗抬頭

    建立視窗背景顏色

    建立一個Ball 的Sprite 類別

    Ball 的基本操作

    Ball 的初始化

    Ball 的屬性讀寫方法

    Ball 的更新方法

    建立精靈群組來處理更新與繪製機制

    建立最後迴圈程序

    離開遊戲

    最後產生一個球碰掉牆壁會發出音效整合程式

    章節小結

    PyGame 操控功能介紹

    鍵盤操控介紹

    鍵盤檢測用途

    鍵盤檢測原理

    鍵盤基本用法

    常見按鍵常用變數

    檢測鍵盤判斷按鍵常用變數

    建立一個以方向鍵移動的角色

    內部變數部分:

    初始化部分:

    屬性部分:

    類別公開方法部分:

    類別使用方法:

    建立一個小精靈(吃豆人)可以上下左右鍵移動的角色

    Import匯入套件部分:

    系統初始化部分:

    精靈設計部分:

    精靈群組設計部分:

    遊戲主程序設計部分:

    遊戲主程序迴圈控制部分:

    遊戲主程序檢測鍵盤操控部分:

    畫面更新部分:

    最後程序:

    滑鼠操控介紹

    滑鼠操控原理

    滑鼠操控基本用法

    滑鼠操作基本用法

    常見按鍵常用變數

    建立一個打地鼠可以移動游標與按鍵改變圖片的角色

    內部變數部分:

    初始化部分:

    屬性部分:

    類別公開方法部分:

    類別使用方法:

    建立一個打地鼠可以畫面移動游標與按鍵改變圖片

    Import匯入套件部分:

    建立程式中使用的函數:

    系統初始化部分:

    精靈設計部分:

    精靈群組設計部分:

    遊戲主程序設計部分:

    遊戲主程序迴圈控制部分:

    遊戲主程序檢測滑鼠位置部分:

    畫面更新部分:

    最後程序:

    章節小結

    本書總結

    作者介紹

    附錄

    參考文獻





    ?





    自序



      遊戲設計與開發系列的書是我出版至今十多年,出書量也破一百八十多本大關,專為遊戲開發者攥寫的第一本教學書籍,當初出版電子書是希望能夠在教育界開一門Maker自造者相關的課程,沒想到一寫就已過十多年,繁簡體加起來的出版數也已也破一百八十多本大關的量,這些書都是我學習當一個Maker累積下來的成果。



      這本書可以說是我的另一個里程碑,之前都是以專案為主,將別人設計的產品進行逆向工程展開之後,將該產品重新實作,但是筆者發現,很多學子的程度對一個產品專案開發,仍是心有餘、力不足,所以筆者鑑於如此,回頭再寫基礎感測器系列與程式設計系列,希望透過這些基礎能力的書籍,來培養學子基礎程式開發的能力,等基礎扎穩之後,面對更難的產品開發或物聯網系統開發,有能游刃有餘。



      目前許多學子在學習程式設計之時,恐怕最不能了解的問題是,我為何要寫九九乘法表、為何要寫遞迴程式,為何要寫成函式型式…等等疑問,只因為在學校的學子,學習程式是為了可以了解『撰寫程式』的邏輯,並訓練且建立如何運用程式邏輯的能力,解譯現實中面對的問題。然而現實中的問題往往太過於複雜,授課的老師無法有多餘的時間與資源去解釋現實中複雜問題,期望能將現實中複雜問題淬鍊成邏輯上的思路,加以訓練學生其解題思路,但是眾多學子宥於現實問題的困惑,無法單純用純粹的解題思路來進行學習與訓練,反而以現實中的複雜來反駁老師教學太過學理,沒有實務上的應用為由,拒絕深入學習,這樣的情形,反而自己造成了學習上的障礙。



      本系列的書籍,針對目前學習上的盲點,希望讀者從Python程式語言開始學習,從開發語言安裝與設定、到開發整合工具的安裝與設定,到PyGame套件的安章與設定,接下來針對PyGame在開發遊戲的技巧,原理與範例,一步一步漸進學習,並透過程式技巧的模仿學習,來降低系統龐大產生大量程式與複雜程式所需要了解的時間與成本,透過固定需求對應的程式攥寫技巧模仿學習,可以更快學習如何開發遊戲,針對Pygame的基礎功能,一步一步針對遊戲開發所針對的思維、架構、開發基礎元素如圖片繪製、視窗文字繪製、幾何圖形繪製,到以精靈為基礎所有的設計、操控與動畫技巧,最後整合音樂與音效等,一一逐步教學,最後設計人機互動的技巧與技術最後的介紹,來貫穿本書遊戲設計與開發基礎功的訓練與教學。



      如此一來,因為學子們進行『重新開發軟體產品』過程之中,可以很有把握的了解自己正在進行什麼,對於學習過程之中,透過實務需求導引著開發過程,可以讓學子們讓實務產出與邏輯化思考產生關連,如此可以一掃過去陰霾,更踏實的進行學習。



      這十多年以來的經驗分享,逐漸在這群學子身上看到發芽,開始成長,覺得Maker的教育方式,極有可能在未來成為教育的主流,相信我每日、每月、每年不斷的努力之下,未來軟體設計與開發的教育、推廣、普及、成熟將指日可待。



      最後,請大家可以加入Maker的Open Knowledge的行列。

    ?




    其 他 著 作
    1. MicroPython 程式設計(ESP32 物聯網基礎篇)
    2. 物聯網雲端系統開發(基礎入門篇)
    3. ESP32工業物聯網6門課 The Six Basic Courses to Industry Internet of Thing Programming Based on ESP32
    4. ESP32物聯網基礎10門課 The Ten Basic Courses to IoT Programming Based on ESP32
    5. Arduino程式教學(RFID模組篇)
    6. Arduino程式教學(入門篇)
    7. Ameba 8710 Wifi氣氛燈硬體開發(智慧家庭篇)
    8. Arduino程式教學(基本語法篇)
    9. Arduino程式教學(常用模組篇)
    10. Arduino程式教學(溫溼度模組篇)
    11. Arduino程式教學(語音模組篇)
    12. Arduino程式教學(顯示模組篇)
    13. Ameba氣氛燈程式開發(智慧家庭篇)
    14. Arduino步進馬達控制
    15. Arduino手機互動程式設計基礎篇
    16. ESP32程式設計(物聯網基礎篇)
    17. Ameba程式教學(MQ氣體模組篇)
    18. Pieceduino氣氛燈程式開發(智慧家庭篇)
    19. Wifi氣氛燈程式開發(ESP32篇)
    20. 工業流程控制系統開發(流程雲端化-自動化條碼掃描驗收)
    21. Arduino 雙軸直流馬達控制
    22. 人工智慧開發第一步 (硬體建置篇)
    23. 工業基本控制程式設計(RS485串列埠篇)
    24. 雲端平台(系統開發基礎篇)
    25. Arduino RFID 門禁管制機設計
    26. 雲端平台(硬體建置基礎篇)
    27. 溫溼度裝置與行動應用開發(智慧家居篇)
    28. 整合地理資訊技術之物聯網系統開發(基礎入門篇)
    29. Ameba程式設計(物聯網基礎篇)
    30. 工業基本控制程式設計(手機APP控制篇)
    31. 藍芽氣氛燈程式開發(智慧家庭篇)
    32. 工業基本控制程式設計(網路轉串列埠篇)
    33. Ameba程式設計(基礎篇)
    34. Arduino EM-RFID 門禁管制機設計
    35. 整合地理資訊技術之物聯網系統開發(基礎入門篇)
    36. Pieceduino氣氛燈程式開發(智慧家庭篇)
    37. 溫溼度裝置與行動應用開發(智慧家居篇)
    38. Arduino EM-RFID 門禁管制機設計 The Design of an Entry Access Control Device based on EM-RFID Card
    39. Arduino程式教學(RFID模組篇) Arduino Programming (RFID Sensors Kit)
    40. Ameba氣氛燈程式開發(智慧家庭篇) Using Ameba to Develop a Hue Light Bulb (Smart Home)
    41. Ameba程式教學(MQ氣體模組篇) Ameba RTL8195AM Programming (MQ GAS Modules)
    42. Ameba程式設計(物聯網基礎篇) An Introduction to Internet of Thing by Using Ameba RTL8195AM
    43. 藍芽氣氛燈程式開發(智慧家庭篇) Using Nano to Develop a Bluetooth-Control Hue Light Bulb (Smart Home Series)
    44. Ameba 8710 Wifi氣氛燈硬體開發(智慧家庭篇) Using Ameba 8710 to Develop a WIFI-Controled Hue Light Bulb (Smart Home Serise)
    45. Wifi氣氛燈程式開發(ESP32篇) Using ESP32 to Develop a WIFI-Controled Hue Light Bulb (Smart Home Series)
    46. Ameba程式設計(基礎篇) Ameba RTL8195AM IOT Programming (Basic Concept & Tricks)
    47. Arduino RFID 門禁管制機設計
    48. Arduino 雙軸直流馬達控制
    49. Arduino步進馬達控制
    50. 工業流程控制系統開發(流程雲端化-自動化條碼掃描驗收)Using Automatic Barcode Reader to Production Acce
    51. 工業基本控制程式設計(RS485串列埠篇)
    52. 工業基本控制程式設計(網路轉串列埠篇)
    53. 雲端平台(硬體建置基礎篇)
    54. ESP32程式設計(物聯網基礎篇)ESP32 IOT Programming (An Introduction to Internet of Thing)
    55. 雲端平台(系統開發基礎篇)
    56. 工業基本控制程式設計(手機APP控制篇)
    57. Arduino程式教學(語音模組篇)
    58. Arduino程式教學(基本語法篇)
    59. Arduino程式教學(溫溼度模組篇)
    60. Arduino手機互動程式設計基礎篇
    61. Arduino程式教學(顯示模組篇)