แหล่งที่มาของข้อมูล :: https://pygame-zero.readthedocs.io/en/stable/principles.html#make-it-accessible
จุดมุ่งหมายหลักของ Pygame Zero คือการที่โปรแกรมเมอร์มือใหม่เข้าถึงสามารถสร้างเกมได้ด้วยการใช้ภาษาpython
Introduction to Pygame Zero (ความรู้เบื้องต้นเกี่ยวกับ Pygame Zero)
Creating a window การสร้างหน้าต่าง
ขั้นแรกให้สร้างไฟล์แบบว่างเปล่า แล้วตั้งชื่อเป็น intro.py
ตรวจทดดูสอบว่าpygame zeroสามารถทำงานได้โดยการเรียกใช้คำสั่ง
pgzrun intro.py
ซึ่งถ้าทำงานได้ถูกต้องก็จะเป็นการสร้างหน้าต่างแบบว่าเปล่าขึ้นมาดังรูปด้านล่าง
Drawing a background (วาดพื้นหลัง)
ต่อมาตั้งค่าขนาดหน้าต่าง Pygame Zeroและเพิ่มฟังก์ชัน draw()
ในฟังก์ชันนี้จะเรียกใช้คำสั่งในการวาดหรือทาสีพื้นหลัง
1
2
3
4
5
|
WIDTH = 300
HEIGHT = 300
def draw():
screen.fill((128, 0, 0))
|
อธิบายโปรแกรม
ในบรรทัดที่ 1 และบรรทัดที่ 2 เป็นคำสั่งที่ใช้ในการกำหนดค่าความกว้างและค่าความยาวของหน้าต่างเกม หน่วยเป็น พิกเซล px
ในบรรทัดที่ 4 เป็นการกำหนดฟังก์ชัน draw() ซึ่งมีหน้าที่ในการวาดภาพและแสดงผลภาพในหน้าต่างเกม ซึ่งคำสั่งในบรรทัดที่ 5
screen.fill((R,G,B)) เป็นคำสั่งในการกำหนดสีพื้นหลังของหน้าต่างเกมโดยใส่เป็นตัวเลขค่าสีแบบ RGB
screen
เป็นคำสั่งแบบ built-in ซึ่งหมายถึงตัวหน้าต่างเกม screen.fill()เป็น
วิธีการเติมสีหน้าจอด้วยการระบุสีแบบ tuple จากตัวอย่างจะได้เป็นสีแดงเข้มปานกลาง ลองเปลี่ยนค่าเหล่านี้ด้วยตัวเลขระหว่าง 0 ถึง 255 และดูว่าคุณสามารถสร้างสีอะไรได้บ้าง(red, green, blue)
(128, 0, 0)
จากนั้นให้พิมพ์คำสั่ง ในบรรทัดที่ 1 - 5 ลงในไฟล์ intro.py
ทำการบันทึกไฟล์ให้เรียบร้อย แล้วให้ RUN โปรแกรมอีกครั้ง
:
pgzrun intro.py
ก็จะได้ผลดังภาพด้านล่าง
Draw a sprite (วาดสไปรท์/วาดตัวละคร/วาดวัตถุองค์ประกอบในเกม)
ก่อนที่เราจะวาดหรือแสดงวัตถุในเกมได้ จะต้องบันทึกสไปรต์ก่อนที่จะนำมาใช้งาน คุณสามารถคลิกขวาที่รูปนี้แล้วเลือกคำสั่ง บันทึกรูปภาพเป็น....
(สไปรท์รูปนี้มีบางส่วนที่เป็นพื้นที่โปร่งใส (หรือ "อัลฟ่า") ซึ่งเหมาะสำหรับเกม แต่มันออกแบบมาสำหรับพื้นหลังมีสีเข้ม ดังนั้นเราอาจไม่สามารถเห็นหมวกอวกาศของสไปรท์จนกว่าจะมันจะปรากฏในเกม)

ในการดาวน์โหลดภาพสไปรท์หรือบันทึกรูปสไปรท์จะต้องบันทึกไฟล์ดังกล่าวในตำแหน่งที่ถูกต้อง เพื่อให้ Pygame Zero สามารถค้นหาเจอได้ โดยคุณจะต้องสร้างไดเร็กทอรีหรือโฟลเดอร์ที่มีชื่อว่า images
และบันทึกภาพที่ดาวน์โหลดมาลงในโฟลเดอร์นี้ ซึ่งจากตัวอย่างสไปรท์ที่โหลดมาให้ตั้งชื่อเป็น alien.png
ทั้งไฟล์และชื่อโฟลเดอร์ที่เก็บภาพจะต้องเป็นตัวพิมพ์เล็กเท่านั้น เพื่อป้องกันข้อผิดพลาดความเข้ากันได้ของแพลตฟอร์มที่อาจเกิดขึ้นได้
หากทำเสร็จแล้วโครงการของคุณควรมีลักษณะดังนี้:
images/
คือไดเร็กทอรีมาตรฐานที่ Pygame Zero จะค้นหารูปภาพของคุณ
ในโมดูล Pygame Zero มีคลาสที่ชื่อ Actor
สร้างขึ้นเพื่อใช้แสดงภาพกราฟิก ภาพสไปรท์ ภาพตัวละคร และภาพองค์ประกอบของเกมที่จะวาดหรือแสดงบนหน้าจอ
มากำหนดกันเลย เปลี่ยน intro.py
ไฟล์ดังนี้
1
2
3
4
5
6
7
8
9
|
alien = Actor('alien')
alien.pos = 100, 56
WIDTH = 500
HEIGHT = alien.height + 20
def draw():
screen.clear()
alien.draw()
|