Get Adobe Flash player

Logo001

แหล่งที่มาของข้อมูล ::  https://pygame-zero.readthedocs.io/en/stable/principles.html#make-it-accessible

navigatotnavigatot thai

printciple

printciple 1

จุดมุ่งหมายหลักของ Pygame Zero คือการที่โปรแกรมเมอร์มือใหม่เข้าถึงสามารถสร้างเกมได้ด้วยการใช้ภาษาpython

 


coursecourse1

Introduction to Pygame Zero (ความรู้เบื้องต้นเกี่ยวกับ Pygame Zero)

Creating a window การสร้างหน้าต่าง

          ขั้นแรกให้สร้างไฟล์แบบว่างเปล่า แล้วตั้งชื่อเป็น  intro.py  

intro

ตรวจทดดูสอบว่าpygame zeroสามารถทำงานได้โดยการเรียกใช้คำสั่ง  

pgzrun intro.py

intro1

ซึ่งถ้าทำงานได้ถูกต้องก็จะเป็นการสร้างหน้าต่างแบบว่าเปล่าขึ้นมาดังรูปด้านล่าง

intro2

 

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 

DrawaBackground1

ทำการบันทึกไฟล์ให้เรียบร้อย แล้วให้ RUN โปรแกรมอีกครั้ง:

pgzrun intro.py

DrawaBackground1 2

ก็จะได้ผลดังภาพด้านล่าง

DrawaBackground1 3

 

Draw a sprite (วาดสไปรท์/วาดตัวละคร/วาดวัตถุองค์ประกอบในเกม)

ก่อนที่เราจะวาดหรือแสดงวัตถุในเกมได้  จะต้องบันทึกสไปรต์ก่อนที่จะนำมาใช้งาน คุณสามารถคลิกขวาที่รูปนี้แล้วเลือกคำสั่ง บันทึกรูปภาพเป็น....

alien

drawAsprite

 

 

(สไปรท์รูปนี้มีบางส่วนที่เป็นพื้นที่โปร่งใส (หรือ "อัลฟ่า") ซึ่งเหมาะสำหรับเกม แต่มันออกแบบมาสำหรับพื้นหลังมีสีเข้ม  ดังนั้นเราอาจไม่สามารถเห็นหมวกอวกาศของสไปรท์จนกว่าจะมันจะปรากฏในเกม)

 

 
 
 
kenney

 

ในการดาวน์โหลดภาพสไปรท์หรือบันทึกรูปสไปรท์จะต้องบันทึกไฟล์ดังกล่าวในตำแหน่งที่ถูกต้อง เพื่อให้ Pygame Zero สามารถค้นหาเจอได้ โดยคุณจะต้องสร้างไดเร็กทอรีหรือโฟลเดอร์ที่มีชื่อว่า images และบันทึกภาพที่ดาวน์โหลดมาลงในโฟลเดอร์นี้ ซึ่งจากตัวอย่างสไปรท์ที่โหลดมาให้ตั้งชื่อเป็น  alien.png ทั้งไฟล์และชื่อโฟลเดอร์ที่เก็บภาพจะต้องเป็นตัวพิมพ์เล็กเท่านั้น เพื่อป้องกันข้อผิดพลาดความเข้ากันได้ของแพลตฟอร์มที่อาจเกิดขึ้นได้

หากทำเสร็จแล้วโครงการของคุณควรมีลักษณะดังนี้:

images tree  images tree2

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()