មូលដ្ឋាន​គ្រឺះ​នៃ​គ្រប់​កម្មវិធី​ល្បែង​កំព្យូទ័រ​ ដែល​ប្រើ​ប្រាស់​កញ្ចប់ pygame ​មាន​ទម្រង់​ដូច​ខាង​ក្រោម​នេះ​៖

#ការរៀបចំ​ប្រដាប់ប្រដារ
import pygame
pygame.init()

 

#ការកំណត់​ទំហំ​អេក្រង់
យីហោ = "Khmer Game"
ទំហំ = [640, 480]
អេក្រង់ = pygame.display.set_mode(ទំហំ)
pygame.display.set_caption(យីហោ)

 

#ការបង្កើត​តួអង្គនិង​ទី​កន្លែង
ពណ៌ = [0, 0, 255]
ទីកន្លែង = pygame.Surface(អេក្រង់.get_size())
ទីកន្លែង = ទីកន្លែង.convert()
ទីកន្លែង.fill(ពណ៌)

 

#ការបង្កើត​សាច់រឿង
ពេល = pygame.time.Clock()
ជាប់ជានិច្ច = True

#ការ​ធ្វើ​ឲ្យ​សាច់រឿង​មាន​ដំណើរការ​ជាប់​រហូត
while ជាប់ជានិច្ច:
    #ការកំណត់​ល្បឿន​នៃ​សាច់​រឿង
    ពេល.tick(30)

    #ការឆ្លើយតប​ទៅ​នឹង​ហេតុការណ៍​ផ្សេង​ៗ
    for ហេតុការណ៍ in pygame.event.get():
        if ហេតុការណ៍.type == pygame.QUIT:
            ជាប់ជានិច្ច = False

    #ការបង្ហាញ​សាច់រឿង​​នៅ​លើ​អេក្រង់
    ទីតាំង = [0, 0]
    អេក្រង់.blit(ទីកន្លែង, ទីតាំង)
    pygame.display.flip()

 

មូលដ្ឋាន​នៃ​ល្បែង

 

យើង​សង្កេត​ឃើញ​ថា មូលដ្ឋាន​គ្រឺះ​នៃ​កម្មវិធី​ល្បែងខាង​លើ​នេះ​ ត្រូវ​ចែក​ចេញជា​ច្រើន​ដំណាក់​ការ​​ ហើយ​ដំណាក់​ការ​ដំបូង​គេ​គឺ​ជា​រៀប​ចំ​ប្រដាប់ប្រដារ​ដែល​នឹង​ត្រូវ​យក​ទៅ​ប្រើប្រាស់​នៅ​ពេល​ក្រោយ​ទៀត​។ ការរៀបចំ​ប្រដាប់​ប្រដារ​ទាំងនោះ គឺ​ជា​ការ​យក​កញ្ចប់ pygame មក​ប្រើការ និង​ការកំណត់​តម្លៃ​ដើម​របស់​អ្វី​ៗ​មួយ​ចំនួន​ទៀត​ដែល​មាន​នៅ​ក្នុង​កញ្ចប់​នោះ​។

 

ដំណាក់​ការ​បន្ទាប់​មក​ទៀត គឺ​ជាការកំណត់​ទំហំ​នៃ​អេក្រង់​​ដែល​រូប​ផ្សេង​ៗ​នឹង​ត្រូវ​យក​ទៅ​បង្ហាញ​នៅ​លើ​​នោះ​។ វត្ថុឈ្មោះ យីហោ គឺ​ជា​​កម្រង​អក្សរ​ដែល​ជា​ចំណង​ជើង​របស់​បង្អួច ដែល​នឹង​ត្រូវ​លេច​ឡើង​នៅ​ពេល​កម្មវិធី​មាន​ដំណើរការ​។ នៅ​ក្នុង​កម្មវិធី​ខាង​លើ​នេះ វត្ថុ​ឈ្មោះ​ យីហោ គឺ​ជា​​កម្រង​អក្សរ​ដែល​ជា​ពាក្យ​ថា "Khmer Game" ។ គួរ​ឲ្យ​ស្តាយ​ដែរ​ យើង​មិន​អាច​ប្រើប្រាស់​អក្សរ​ខ្មែរ​ជា​យីហោ​របស់​បង្អួច​ល្បែង​បានទេ តែ​យើង​សង្ឃឹម​ថា នៅ​ថ្ងៃ​អនាគត យើង​នឹង​អាច​ប្រើប្រាស់​អក្សរ​ខ្មែរ unicode ជាមួយ​នឹង​ pygame បាន​។ ចំណែក​ឯវត្ថុ​ឈ្មោះ ទំហំ វិញ គឺ​ជា​​ទំហំ​របស់​អេក្រង់​ ដែល​ត្រូវ​តែ​ជា​កម្រងមាន​​ធាតុ​ពីរ​នៅ​ក្នុង​នោះ​ គឺ​ថា​លេខ 640 គឺ​ជា​ប្រវែង​ទទឹង​របស់​អេក្រង់ និង​លេខ 480 គឺ​ជា​ប្រវែង​កំពស់​របស់​អេក្រង់​។ ហើយ​ដើម្បី​បង្កើត​វត្ថុ​មួយ​ដែល​តំណាង​ឲ្យ​អេក្រង់ យើង​ត្រូវ​យក​​ក្បួន​​មាន​ឈ្មោះ​ថា set_mode មក​ប្រើ​ដោយ​ផ្តល់​ដំណឹង​ជា​វត្ថុ​ឈ្មោះ​ ទំហំ​ ឲ្យ​វា​។ បន្ទាប់​មក​ទៀត គឺ​ជាការ​យក​ក្បួន​មាន​ឈ្មោះ​ថា set_caption មកប្រើ​ដោយ​ផ្តល់​​ដំណឹង​ជា​វត្ថុ​មាន​ឈ្មោះថា យីហោ​ ឲ្យ​វា ដើម្បី​ធ្វើ​ឲ្យ​​ពាក្យ​ថា "Khmer Game" លេច​ឡើង​នៅ​លើ​របារ​បង្អួច​។

 

ជា​បន្ទាប់​មក​ទៀត​ គឺ​ជា​ដំណាក់​ការ​បង្កើត​ទី​កន្លែង​និង​តួអង្គ​ផ្សេង​ៗ​សម្រាប់​ល្បែង​ទាំងមូល​។ ជាការចាប់ផ្តើម​ ហើយ​ដើម្បី​ឲ្យ​ងាយស្រួល​យល់ យើង​គ្រាន់​តែ​បង្កើត​ទី​កន្លែង​ទទេ​ស្អាត​មួយ​សិន​បាន​ហើយ​។ ទី​ន្លែង​នោះ​ គឺ​ជា​ផ្ទៃ​មាន​ពណ៌​ខៀវ​ស្រងាត់​មួយ​ ដែល​ត្រូវ​បាន​បង្កើត​ឡើង ដោយ​ការយកថ្នាក់​​មាន​ឈ្មោះ​ថា Surface មក​ប្រើ​។ ដំណឹង​សម្រាប់​វត្ថុ​នោះ គឺ​ជា​ទំហំ​របស់​បង្អូច​ល្បែង​។ ដូចនេះ​ទីកន្លែង​ដែល​ត្រូវ​បង្កើត​​ឡើង​នោះ​ត្រូវ​តែ​មាន​ទំហំ​ប៉ុន​នឹង​បង្អួច​ល្បែង​​។ ការយក​ក្បួន convert មក​ប្រើ​នៅ​ទី​នេះ គឺ​ជា​ការកែ​ទីកន្លែង​ដែល​ទើប​នឹង​ត្រូវ​បាន​បង្កើត​នោះ​ ឲ្យ​ទៅ​ជារូប​មាន​លក្ខណៈ​ដែល​អាច​ប្រើប្រាស់​​នៅ​ក្នុង​ល្បែង​​បាន​នៅ​គ្រប់​កន្លែង​​ដោយ​គ្មាន​បញ្ហា​​​​។ ហើយ​ដើម្បី​ដាក់​ពណ៌​ឲ្យ​ទី​កន្លែង​​នោះ​ យើង​ត្រូវ​យក​ក្បួន​ឈ្មោះ fill មក​ប្រើ​ដោយ​ផ្តល់​ឲ្យ​វា​នូវ​ដំណឹ​ង​ដែល​ជា​​ពណ៌​ណា​មួយ​។ ជាទូទៅ ពណ៌​គឺ​ជា​កម្រង​ណា​មួយ​ដែល​មាន​ធាតុ​ចំនួន​បី​នៅ​ក្នុង​នោះ​។

 

បន្ទាប់​មក​ទៀត គឺ​ជា​ដំណាក់​ការ​បង្កើត​សាច់រឿង​។ នៅ​ក្នុង​សាច់រឿង​ ពេល​វេលា​គឺ​ជា​ព័ត៌មាន​ដ៏សំខាន់​ណាស់​។ នៅ​ក្នុង​កម្មវិធី​ខាង​លើ​នេះ វត្ថុ​​ដែល​ជា​ពេលវេលា​​ត្រូវ​បាន​​បង្កើត​ឡើង​ដោយ​ការយក​ថ្នាក់​ឈ្មោះ​ Clock មក​ប្រើ​។ វត្ថុ​នោះ​មាន​ឈ្មោះ​ថា ពេល​ ។ ទន្ទឹម​នឹង​នេះ​ដែរ យើង​ចាំបាច់​ត្រូវ​មាន​វត្ថុ​​មួយទៀត​ដែល​ជា​កត្តា​កំណត់​​ពី​ដំណើរការ​នៃ​សាច់​រឿង​។ នៅ​ក្នុង​កម្មវិធី​ខាង​លើ វត្ថុ​នោះ​មាន​ឈ្មោះ​ថា ជាប់ជានិច្ច ដែល​មាន​តម្លៃដើម​ជា​តក្កវត្ថុ True ។ ហើយ​ដើម្បី​ឲ្យ​សាច់រឿង​ដំណើរការ​ទៅ​ជាប់​មិន​ដាច់​ យើង​ត្រូវ​យក​បញ្ជា while មក​ប្រើ និង​យក​វត្ថុ​មាន​ឈ្មោះ​ថា ជាប់ជានិច្ច ជា​លក្ខខ័ណ្ឌ​សម្រាប់​បញ្ជា​ while នោះ​។ ល្បឿន​នៃ​សាច់​រឿង​ត្រូវ​បាន​កំណត់​ឡើង​ដោយ​ការ​យក​វិធី​ឈ្មោះ tick មក​ប្រើ​។ ការផ្តល់​ដំណឹង​ដែល​ជា​លេខ 30 ឲ្យ​ទៅ​វិធី​នោះ គឺ​ជា​ការកំណត់​ឲ្យ​រូប​ភាព​របស់​សាច់​រឿង​ ត្រូវ​លេចឡើង​នៅ​លើ​បង្អួច​ល្បែង ចំនួន 30 ដង​ក្នុង​រយៈពេល​មួយ​វិនាទី​។ ហើយ​បើយើង​ធ្វើការផ្លាស់​ប្តូរ​តម្លៃ​លេខ​នេះ រូប​ភាព​របស់​សាច់រឿង​ អាច​លឿន​ឬ​យឺត​ អាស្រ័យ​ទៅ​តាម​តម្លៃ​លេខ​នោះ​។ ម៉្យាងទៀត តាម​ធម្មតា នៅ​ពេល​ដែល​សាច់រឿង​របស់​ល្បែង​កំពុង​តែ​ដំណើរការ ហេតុការណ៍​ផ្សេង​ៗ​នឹង​កើត​មាន​ឡើង​ បណ្តាល​ម​ក​ពី​អ្នក​លេង​ចុច​​បញ្ជា​តួអង្គ ឬ​តួអង្គ​ជួប​នឹង​គ្រោះ​ថ្នាក់​អ្វី​មួយ​។ ហេតុការណ៍​ទាំងនោះ ត្រូវ​បាន​ថត​ទុក​នៅ​កន្លែង​ណា​មួយ​ក្នុង​សភាព​ជា​កម្រងអ​ថេរ​ណា​មួយ​។ ដូចនេះ​យើង​អាចប្រើ​បញ្ជា for រួម​ផ្សំ​ជាមួយ​នឹង​​ក្បួន​ឈ្មោះ get ដើម្បី​ចម្លង​យក​ហេតុការណ៍​ទាំងនោះ​មក​ពិនិត្យ​មើល​ម្តង​មួយ​ៗ​។ ហើយ​ជា​ទូទៅ គេ​ច្រើន​តែ​តម្រូវ​ឲ្យ​សាច់រឿង​ត្រូវ​បញ្ចប់​ នៅ​ពេលណា​អ្នក​លេង​ចុច​ខ្ទង់ Esc ឬចុច​​អ្វី​ផ្សេងៗ​​ទៀត​ដែល​បណ្តាល​ឲ្យ​ហេតុ​ការណ៍​មាន​ឈ្មោះ​ថា "QUIT" កើត​មាន​ឡើង​។ ចុង​ក្រោយ​បង្អស់ គឺ​ជា​ការយក​សាច់​រឿង​ទៅ​បង្ហាញ​នៅ​លើ​បង្អួច​ល្បែង​។ តាមការពិត​ ការយក​សាច់រឿង​ទៅ​បង្ហាញ​នៅ​លើ​បង្អួច​ល្បែង គឺ​ជាការ​​យក​ទី​កន្លែង និង​តួអង្គ​ទៅ​លើ​បង្ហាញ​នៅ​ទី​នោះ​ នៅ​ក្នុង​ខណៈ​ផ្សេង​ៗ​ខុស​​គ្នា​ និង​នៅ​ត្រង់​ចំនុច​ដែល​ជា​ទីតាំង​ណា​មួយ​​។ ទីតាំងនោះ គឺ​ជា​កម្រង​ទ្វេធាតុ​ដែល​បញ្ជាក់​ពី​កូអ័រដោនេ​ណា​មួយ​ ហើយ​ក្បួន​ដែល​យើង​យក​មក​ប្រើ​សម្រាប់​បង្ហាញ​ទីកន្លែង​និង​តួអង្គ​ គឺ​ជាក្បួន​មាន​ឈ្មោះ​ថា blit និង flip ៕

 

ប្រភព​៖

Game Programming, The Express Line to Learning

Beginning Game Development with Python and Pygame

Advertisements

ឆ្លើយ​តប

Fill in your details below or click an icon to log in:

ឡូហ្កូ WordPress.com

អ្នក​កំពុង​បញ្ចេញ​មតិ​ដោយ​ប្រើ​គណនី WordPress.com របស់​អ្នក​។ Log Out / ផ្លាស់ប្តូរ )

រូប Twitter

អ្នក​កំពុង​បញ្ចេញ​មតិ​ដោយ​ប្រើ​គណនី Twitter របស់​អ្នក​។ Log Out / ផ្លាស់ប្តូរ )

រូបថត Facebook

អ្នក​កំពុង​បញ្ចេញ​មតិ​ដោយ​ប្រើ​គណនី Facebook របស់​អ្នក​។ Log Out / ផ្លាស់ប្តូរ )

Google+ photo

អ្នក​កំពុង​បញ្ចេញ​មតិ​ដោយ​ប្រើ​គណនី Google+ របស់​អ្នក​។ Log Out / ផ្លាស់ប្តូរ )

កំពុង​ភ្ជាប់​ទៅ​កាន់ %s

ផ្សែងប្លាក

%d bloggers like this: