﻿WEBVTT

00:00:41.103 --> 00:00:45.000
(เจ้าหน้าที่) พี่ล่ามได้ยินไหมคะ (ล่าม) ได้ยินค่ะ

00:00:51.070 --> 00:00:55.549
(เจ้าหน้าที่) พี่ล่ามได้ยินไหมคะ (ล่าม) ได้ยินค่ะ ได้ยินค่ะ

00:01:41.925 --> 00:01:46.617
(เจ้าหน้าที่) พี่ล่ามได้ยินไหมคะ (ล่าม) ได้ยินค่ะ

00:01:53.874 --> 00:01:56.033
(ล่าม) ได้ยินค่ะ

00:03:42.953 --> 00:03:46.282
(อาจารย์สุธิรา) สวัสดีค่ะ (ล่าม) สวัสดีค่ะ

00:03:47.799 --> 00:03:51.841
(อาจารย์สุธิรา) มองไม่เห็นล่าม

00:03:53.359 --> 00:03:56.549
เด็ก ๆ เปิดเครื่องหมดทุกคนหรือยัง

00:04:00.001 --> 00:04:05.971
เปิดเครื่องกันหรือยังเอ่ย ก่อนอื่นนะคะ เมื่อเปิดเครื่องเข้ามาแล้ว

00:04:06.499 --> 00:04:09.909
เด็ก ๆ จะต้องเปิดอะไรคะ โปรแกรมที่ชื่อว่า

00:04:11.097 --> 00:04:16.814
sublime ไปที่ตัว...

00:04:19.783 --> 00:04:23.757
เห็นไหมคะ ตัวนี้ เปิดโปรแกรมนี้ขึ้นมาเลยค่ะ

00:04:28.441 --> 00:04:32.193
นะคะ จะต้องอยู่หน้านี้นะ

00:04:34.238 --> 00:04:39.576
ถ้ามันขึ้น Update เราก็ Cancel ไปเลย อัปเดตแล้วนะคะ

00:04:46.122 --> 00:04:56.311
ก่อนจะเขียนโปรแกรมนะคะ ให้เด็ก ๆ ดู ภาพบนหน้าจอก่อน เห็นไหม

00:04:56.311 --> 00:05:04.430
โครงสร้างในการจะเขียนโปรแกรม ด้วย pygame ของเรานี่ เห็นไหมคะ

00:05:04.826 --> 00:05:09.178
มีองค์ประกอบทั้งหมด... ดูนะคะ 1.

00:05:11.091 --> 00:05:13.172
แสดงว่าล่ามไม่ได้หรือ

00:05:22.541 --> 00:05:31.381
อ๋อ ล่ามได้อยู่ใช่ไหม โอเค ดูนะคะ องค์ประกอบ

00:05:31.843 --> 00:05:38.075
ในการจะเขียนนี่มันแบ่งออกเป็นทั้งหมดนะคะ หลัก ๆ น่ะ ก็คือ

00:05:38.801 --> 00:05:44.627
เวลาเราจะเขียนเกมเสร็จ 1 เกมนี่ มันจะต้องมีส่วนประกอบ

00:05:46.276 --> 00:05:52.548
ในการเขียนโปรแกรมเรานี่อยู่ 7 ส่วน ให้ดูที่ส่วนที่ 1

00:05:54.791 --> 00:06:00.820
เห็นไหมคะ ส่วน import ทุกครั้ง บอกแล้วทุกครั้งเราจะต้อง import

00:06:01.216 --> 00:06:04.526
import เพื่ออะไร เพื่อจะนำเข้าโมดูล

00:06:04.526 --> 00:06:09.912
ซึ่งโมดูลของเราตัวนี้ ก็คือโมดูลที่ชื่อว่า "pygame" นะ

00:06:09.912 --> 00:06:13.128
ในสัปดาห์ก่อนที่ส่วนหัวที่ให้เขียนไว้

00:06:15.000 --> 00:06:17.763
ทีนี้มาดูส่วนที่ 1 นี่

00:06:19.544 --> 00:06:24.070
ขาดไม่ได้ พอเปิดโปรแกรมมาจะต้องมีเสมอนะคะ

00:06:24.070 --> 00:06:28.301
และก็ส่วนต่อมาในส่วนที่ 2 หมายเลข 2 เห็นไหม

00:06:30.808 --> 00:06:36.938
init() init แล้วก็มีวงเล็บนี่ มันหมายถึงฟังก์ชัน

00:06:37.400 --> 00:06:42.771
ฟังก์ชัน init() หมายถึง ฟังก์ชันที่ใช้ในการจัดการค่าเริ่มต้น

00:06:43.232 --> 00:06:44.473
ในที่นี้

00:06:46.056 --> 00:06:50.756
ฝั่งนี้ที่เป็นขาว ๆ แล้วมีหมายเลขกำกับ แล้วก็มีคำอธิบายนะคะ

00:06:50.756 --> 00:06:55.265
แล้วเวลาเขียน เราจะต้องมาดูที่ฝั่งที่เป็นหน้าจอสีดำ

00:06:55.265 --> 00:07:00.244
ก็คือที่เราใช้ Sublime เขียน ในหมายเลข 2 เห็นไหมคะ

00:07:01.893 --> 00:07:08.013
วิธีการจะใช้ฟังก์ชันนี้ ก็คือ 1. เมื่อเรา import โมดูลใดเข้ามา

00:07:08.343 --> 00:07:15.673
เพราะฉะนั้น เราจะจัดการค่าเริ่มต้นมัน เราก็ต้องเรียกโมดูลนั้น ก็คือ pygame

00:07:15.673 --> 00:07:19.815
เห็นไหมคะ ก็เลยขึ้นด้วยคำว่า "pygame."

00:07:21.728 --> 00:07:25.753
dot ก็คือ . น่ะนะคะ พิมพ์คำว่า pygame แล้วก็ตามด้วย .

00:07:25.753 --> 00:07:29.979
แล้วก็ตามด้วยฟังก์ชัน init() เห็นไหมคะ

00:07:31.893 --> 00:07:39.066
บรรทัดที่ 2 คำสั่งมีแค่นี้ล่ะ ชื่อโมดูล แล้วก็ตามด้วยฟังก์ชันที่ชื่อ init()

00:07:40.715 --> 00:07:43.192
ทีนี้มาดูในส่วนที่ 3

00:07:47.177 --> 00:07:54.435
คือ เวลาเราจะทำเกม 1 เกมนี่นะคะ ไม่ใช่ว่าอยู่ดี ๆ เกมมันมาวิ่งได้เลย ไม่ใช่

00:07:54.435 --> 00:07:58.968
เราจะต้องสร้างพื้นที่ พื้นที่สำหรับให้เกมทำงาน

00:07:58.968 --> 00:08:02.858
สังเกตเมื่อเวลาเราเปิดเกมเข้าไปเล่น มันก็จะมีหน้า

00:08:03.254 --> 00:08:07.701
หน้าต่างของเกมขึ้นมา นึกออกนะ เพราะฉะนั้น อยู่เฉย ๆ

00:08:07.701 --> 00:08:10.638
เกมมันขึ้นมาบนหน้าจอไม่ได้นะคะ

00:08:10.638 --> 00:08:16.081
ต้องบอกให้มันรู้ก่อนว่ามันจะไปทำงานอยู่ตรงพื้นที่ไหน

00:08:16.081 --> 00:08:22.598
เพราะฉะนั้น ก็เลยมาเป็นตรงส่วนที่ 3 ส่วนที่จะเป็นการกำหนดค่า

00:08:23.588 --> 00:08:25.688
ส่วนนี้นะคะ

00:08:26.084 --> 00:08:32.545
อาจจะไม่ใช่แค่บรรทัดที่ 4 ถึงบรรทัดที่ 14 ก็ได้

00:08:33.073 --> 00:08:35.173
ก็คือถ้าเรามีกำหนด...

00:08:39.198 --> 00:08:41.488
ถ้ามันมีการกำหนดค่าอื่น

00:08:47.888 --> 00:08:50.834
ถ้ามันมีการกำหนดค่าอื่นนะคะ

00:08:50.834 --> 00:08:54.268
เราก็มีเพิ่ม ก็คือ

00:08:54.994 --> 00:09:01.507
โดยที่หลัก ๆ นี่นะคะ ในส่วนที่ 3 นี่ ที่เราจะต้องกำหนดค่าลงไป ก็คือ 1.

00:09:02.827 --> 00:09:06.761
หน้าจอที่จะใช้ทำงานแหละ แน่นอนแหละ 2.

00:09:07.685 --> 00:09:15.526
รูปภาพในทีนี้ ก็คือหมายถึง Background หรือภาพฉากในเกมเราน่ะ นึกออกนะที่

00:09:15.526 --> 00:09:18.695
ในสัปดาห์ก่อน เอาตัวอย่างให้ดูแล้ว

00:09:19.025 --> 00:09:23.457
ฉากเกมเขาก็จะมีเหมือน... เหมือนถ้าเกมมาริโอ้มันก็จะเป็น

00:09:23.457 --> 00:09:27.019
ที่มี... เป็นเหมือนอะไรนะ

00:09:28.075 --> 00:09:33.980
เหมือนพื้นที่ให้วิ่งไปตามแนวนอน อย่างนี้ใช่ไหมคะ นะคะ

00:09:35.366 --> 00:09:41.447
ส่วนต่อมา สิ่งที่ต้องกำหนดต่อมาอีก เสียง เกมเรามีเสียงไหม อยากให้มีเสียงไหม

00:09:41.447 --> 00:09:44.141
เห็นไหม มันจะอยู่ในส่วนที่ 3 นี่

00:09:44.141 --> 00:09:49.766
เราอยากกำหนดอะไรเข้าไป ก่อนที่เราจะเริ่มให้เกมเราสมบูรณ์น่ะ

00:09:49.766 --> 00:09:55.083
มันจะกำหนดไว้ที่ส่วนที่ 3 เราจะต้องเอาไปกำหนดไว้ที่ส่วนนี้นะคะ

00:09:55.611 --> 00:09:58.512
เพราะอะไร เพราะหลักการเขียนโปรแกรมน่ะ

00:10:00.000 --> 00:10:03.657
โปรแกรมมันจะทำงานแบบเรียงคำสั่ง นึกออกไหม

00:10:03.657 --> 00:10:07.465
จากคำสั่งแรกลงไปหาคำสั่งสุดท้ายนะ

00:10:07.465 --> 00:10:13.969
เหมือนตอนที่เรียนในเทอมที่แล้ว อัลกอริทึม มีเริ่มต้นก็ต้องมีสิ้นสุด

00:10:14.299 --> 00:10:18.969
จำ Flowchart ได้นะ ตัวเริ่มมันจะอยู่บนสุด แล้วก็ไล่ลงมา เห็นไหม

00:10:18.969 --> 00:10:25.427
ผังงานมันจะเรียงลงมาตามลำดับ ไม่ใช่ เขียนกระโดดไปกระโดดมามันไม่ใช่

00:10:25.427 --> 00:10:27.972
ไม่อย่างนั้นคอมพิวเตอร์มันจะงง เวลาทำงาน

00:10:27.972 --> 00:10:31.155
เหมือนเราน่ะ ถ้าเกิดแม่สั่ง

00:10:31.155 --> 00:10:34.273
บอกทำอันนี้เสร็จ บอกเปลี่ยนไปทำอันนี้นึกออกไหม

00:10:34.273 --> 00:10:38.270
มันก็จะงงใช่ไหมคะ คอมพิวเตอร์ก็เหมือนกัน ก็เหมือนคนนั่นแหละ

00:10:38.270 --> 00:10:41.832
มันไม่ใช่ว่าสั่งอย่างหนึ่ง

00:10:41.832 --> 00:10:47.296
แล้วมาสั่งอีกอย่างหนึ่งเพิ่ม ลัดไป ลัดมา งงตายนะคะ

00:10:47.296 --> 00:10:53.376
เพราะฉะนั้น ก็เลยทำให้ดูเป็น Box Box นี่ ให้รู้ว่ามันเป็นส่วน ๆ อย่างนี้นะคะ

00:10:54.718 --> 00:11:01.315
และมีเสียงมีอะไรได้อีก มีตัวเกมที่จะเป็นตัวเดินเรื่องของเรา

00:11:01.315 --> 00:11:03.370
หรือตัวเล่นของเรานั่นเองนะคะ

00:11:03.929 --> 00:11:09.203
หรือนอกจากตัวเกมแล้ว อาจจะมีองค์ประกอบอื่น

00:11:09.203 --> 00:11:16.049
เช่น ไอ้ภาพประกอบเล็ก ๆ น้อย ๆ เช่น มีเหมือนในมาริโอมีตัวอะไรนะ

00:11:16.608 --> 00:11:20.439
ตัวศัตรูที่วิ่งเข้ามาอะไรอย่างนี้นะคะ

00:11:20.942 --> 00:11:24.254
มันจะอยู่ในส่วนนี้ เราจะกำหนดไว้ในส่วนนี้

00:11:24.254 --> 00:11:31.767
อาจจะมากกว่า 14 บรรทัดก็ได้ ก็แล้วแต่ ว่าเราจะกำหนด ก็คือใส่อะไรลงไปนะคะ

00:11:32.998 --> 00:11:37.386
มาดูส่วนถัดมา จะอยู่ด้วยกัน 4 กับ 5

00:11:38.561 --> 00:11:40.606
เพราะตรง 4 นี่คือ loop

00:11:41.669 --> 00:11:45.440
ก็คือส่วนของ loop กับส่วนของ event นี่

00:11:46.615 --> 00:11:55.045
เวลาเราทำเกมนะ มันไม่ใช่ว่า เล่นรอบเดียวจบใช่ไหม เกมมันจะไปเรื่อย ๆ

00:11:55.045 --> 00:11:58.847
แต่ในรอบของมันเรื่อย ๆ นี่ อาจจะไม่ใช่รอบที่มันจบ

00:11:58.847 --> 00:12:06.295
อาจจะเป็นรอบของมันผ่านด่านที่ 1 นึกออกไหม เพื่อจะไปต่อด่านที่ 2 ด่านที่ 3 อย่างนี้

00:12:06.854 --> 00:12:13.569
เกมจะต้องสามารถวน loop ได้นะคะ กลับไปสู่จุดเริ่มต้นใหม่ได้ หรือสิ้นสุดได้

00:12:14.688 --> 00:12:24.775
ในส่วนนี้ เราจะใส่ทั้ง loop แล้วก็ใส่ทั้ง event event ก็คือกำหนดค่าให้เกมมันดำเนินไป

00:12:24.775 --> 00:12:30.795
เช่น เราอยากให้เกมตัวนี้กระโดดได้ นั่นคือ event

00:12:31.634 --> 00:12:35.885
หรือให้เกมนี้มันเดินไปก่อน วิ่งไปก่อน

00:12:36.332 --> 00:12:42.357
แล้วพอไปเจออะไรนะ ถ้าเหมือนในมาริโอ เจอเห็ด กระโดดเก็บเห็ดใช่ไหมคะ

00:12:42.357 --> 00:12:47.024
เจอเหรียญกระโดดเก็บเหรียญ นั่นก็คือ event ที่เราจะระบุให้เกมเรา

00:12:52.226 --> 00:12:59.780
ใน event จริง ๆ นี่ ก็ไม่ได้ยาวแค่ 1 2 3 4 10 บรรทัดขนาดนี้นึกออกนะ ให้นึกถึงว่า

00:13:00.731 --> 00:13:07.883
ยิ่งเกมเรามีอะไรน่ะ เขาเรียกว่า มีความซับซ้อนหรือมีด่าน นึกออกนะ

00:13:07.883 --> 00:13:14.613
ยิ่งด่านยากขึ้น event มันก็ต้องยากเข้าไปอีก อะไรอย่างนี้นะคะ เพราะฉะนั้น

00:13:15.000 --> 00:13:20.022
เหตุการณ์ตรงนี้ ก็ขึ้นอยู่กับที่เราจะกำหนด ว่าให้มันทำอะไรได้บ้าง

00:13:20.022 --> 00:13:24.372
เหมือน... เหมือนให้นึกถึง ถ้าเด็ก ๆ ชอบเล่นเกมอะไรนะ

00:13:27.616 --> 00:13:30.137
เดี๋ยวนี้ฮิตเล่นเกมอะไรกัน

00:13:32.095 --> 00:13:35.187
ถามสิ ถามตี๋น้อย ตี๋น้อยเล่นเกมหรือเปล่า

00:13:44.025 --> 00:13:49.991
แม่จะถามตี๋น้อย ตี๋น้อยเล่มเกมในคอมฯ น่ะ เล่นเกมอะไร

00:13:54.466 --> 00:13:55.991
เล่นหรือเปล่า เล่นเกมหรือเปล่า

00:13:58.564 --> 00:14:01.138
เล่นเกมอะไรครับ อยากรู้ อยากรู้

00:14:10.368 --> 00:14:14.023
(ล่าม) อ๋อ ก็พวกเกมที่มีวิ่ง มีกระโดดอย่างนี้ครับ

00:14:16.764 --> 00:14:23.161
(อาจารย์สุธิรา) เกมกระโดด เกมอะไรนะ เป็นเกมที่มันกระโดดหรือ

00:14:24.895 --> 00:14:30.950
เหมือนที่ฮิต ๆ กัน ไอ้ที่ช่วงหนึ่งที่มันอะไรนะ

00:14:30.950 --> 00:14:37.212
ไอ้เกมที่ขี่รถเหมือนบนหน้าผาอะไรน่ะ นึกออกนะ

00:14:37.659 --> 00:14:44.516
อย่างนั้นน่ะ เห็นไหมความยากของเกมนั้น ก็คือ ขี่อย่างไร ไม่ให้ตกไอ้นั่นใช่ไหม

00:14:44.776 --> 00:14:47.882
แล้วก็... แล้วอะไรนะ แล้วก็ความเร็วใช่ไหมคะ

00:14:47.882 --> 00:14:52.078
แล้วก็ต้องอะไรอีก ต้องหลบ มีอุปสรรคมาให้หลบ เห็นไหมคะ

00:14:52.078 --> 00:14:56.220
นั่นก็คือในส่วนนั้นน่ะ event ที่เราจะใส่มันจะอยู่นี่แหละ

00:14:56.891 --> 00:15:01.414
ก็คือเราจะเป็นตัวกำหนดว่าเกมนั้นน่ะ จะมีความยากความง่ายอย่างไร

00:15:01.414 --> 00:15:05.096
ลำดับเหตุการณ์ให้มันนะคะ ทำอะไรได้

00:15:07.669 --> 00:15:11.883
พอมาถึงลำดับที่ 6

00:15:13.617 --> 00:15:19.431
เป็นส่วนของการอัปเดตค่า นั่นหมายถึงว่า เมื่อบางครั้งนี่

00:15:20.046 --> 00:15:23.529
ที่เกมมันทำงานไปแล้ว นึกออกนะ

00:15:23.529 --> 00:15:30.402
แต่บางทีมันอาจจะต้องกลับมาเพื่อมาเริ่มต้นใหม่ หรืออะไรก็แล้วแต่ หรือเหมือนตายน่ะ

00:15:30.402 --> 00:15:36.400
นึกออกนะ มันก็ต้องมีการอัปเดตใช่ไหมคะ ไม่ใช่ว่าทำเสร็จแล้วจบตอนนั้น

00:15:36.903 --> 00:15:43.921
เพราะฉะนั้น จะต้องมีส่วนที่ให้เกมมันอัปเดต อัปเดตค่าต่าง ๆ นะคะ เช่น เหมือน...

00:15:44.257 --> 00:15:47.505
เหมือนเราไปกำหนดค่าเริ่มต้นของฉากนี้ไว้

00:15:47.896 --> 00:15:52.955
ตั้งแต่ตอนจะเริ่มวิ่งน่ะ เริ่มที่ 0 ใช่ไหม พอวิ่งไปจนสุดฉากนี่

00:15:53.794 --> 00:15:58.132
สมมติว่าถ้าเรากำหนดหน้าจอ ไว้ที่ความกว้าง 800

00:15:58.412 --> 00:16:01.079
เมื่อมันวิ่งมาถึงจุดที่ 800 น่ะ

00:16:02.309 --> 00:16:09.133
มันจะทะลุหน้าจอออกมา นึกออกไหม แล้วเราต้องการไปเริ่มที่จุดที่ 1 ใหม่

00:16:09.133 --> 00:16:15.220
นึกออกไหม มันก็ต้องไปอัปเดตไง ให้ค่ามันคืน คืนกลับว่าไปที่ค่าเริ่มต้น

00:16:15.612 --> 00:16:22.415
หน้าจอนั้นก็จะ... ไอ้โหมดตัววิ่งมันก็จะ... ให้นึกถึงนะ เหมือนเราเล่มเกมไป แล้ววิ่ง ๆ ๆ ไป

00:16:22.751 --> 00:16:26.774
วิ่งไปเรื่อย ๆ แล้วเหมือนพอสุดนี้ แล้วเข้าด่านใหม่

00:16:26.774 --> 00:16:30.494
มันก็จะโผล่มาเริ่มต้นใหม่ใช่ไหมคะ อย่างนี้เป็นต้นนะคะ

00:16:30.494 --> 00:16:34.873
ก็คือเกมมันก็ต้องมีส่วนให้มันอัปเดตด้วยนะคะ

00:16:34.873 --> 00:16:39.364
และส่วนสุดท้าย บอกแล้วว่าเวลาเราเขียนโปรแกรม

00:16:41.649 --> 00:16:52.141
ในบางโปรแกรมไม่ต้องมีคำสั่งเพื่อ start แต่ที่ขาดไม่ได้มันต้องมีคำสั่งจบนะคะ

00:16:52.700 --> 00:16:58.119
คือ ตอนในเราเขียนแบบผังหรืออะไรนี่ ต้องบอกว่าเริ่มจากตรงไหน เพราะฉะนั้น

00:16:58.119 --> 00:17:04.228
ในผังถ้าเริ่มต้นนี่ ให้นึกถึงเลย เพราะถ้าเราไม่สั่งคำสั่ง import น่ะ

00:17:05.291 --> 00:17:10.482
เราก็จะใช้งาน Library ที่ชื่อ pygame ไม่ได้ นึกออกนะ

00:17:10.482 --> 00:17:16.435
เพราะฉะนั้น จุดเริ่มต้นของคำสั่งนี้ ก็คือคำสั่ง import เสมอนะคะ

00:17:16.827 --> 00:17:21.776
แต่จุดที่จะจบ ก็คือฟังก์ชันที่ชื่อว่า quit()

00:17:23.734 --> 00:17:27.294
quit() ในที่นี้ หมายถึงให้ออกจากโปรแกรมนะคะ

00:17:27.294 --> 00:17:30.418
ออกจากโปรแกรมในที่นี้ ไม่ใช่ออกจากโปรแกรม Sublime

00:17:30.977 --> 00:17:38.260
แต่หมายถึงออกจากเกมที่เราสร้างไว้น่ะ ก็คือบอกให้เกมมันรู้ว่าจะออกแล้ว

00:17:38.260 --> 00:17:46.778
ต้องออกได้นะคะ ไม่ใช้เกมวน วิ่งวนอยู่นั่นแหละ เล่นไม่จบปิดเครื่องไม่ได้อะไรอย่างนี้นะคะ

00:17:47.449 --> 00:17:51.149
เพราะฉะนั้น นั่นคือส่วนประกอบของ

00:17:52.995 --> 00:17:58.600
ตัวโปรแกรม Sublime ที่เราจะเขียน ตัว pygame ที่เราจะเขียนด้วยนะคะ

00:17:59.215 --> 00:18:05.827
ทีนี้บอกโครงสร้างไปแล้ว วันนี้เราจะทำเกมได้

00:18:05.827 --> 00:18:08.452
ก่อนอื่น ก็คือเราจะต้องมาสร้าง

00:18:10.298 --> 00:18:18.472
หน้าจอให้มัน สร้างพื้นที่ให้ตัวเกมของเรานะคะ เพราะฉะนั้น เด็ก ๆ เปิด Sublime กันหรือยัง

00:18:19.870 --> 00:18:22.428
ถ้าเปิดมาแล้วนะคะ

00:18:25.169 --> 00:18:26.859
ให้เด็ก ๆ

00:18:28.873 --> 00:18:33.596
นำเข้าโมดูลนะ ถ้าเปิดมาในสัปดาห์ก่อน

00:18:33.932 --> 00:18:38.484
หน้าจอเรามันก็จะมาอยู่ไฟล์ที่เราเปิดไว้ จำได้ไหมเด็ก ๆ

00:18:39.155 --> 00:18:47.497
ที่เราใส่ Comment มันไว้ว่าทดสอบน่ะ ทีนี้ เราจะไม่ใช้ Comment ว่าทดสอบแล้วนะ

00:18:48.280 --> 00:18:53.641
เพราะตอนนี้เราจะทำอะไรคะ กำหนดใช่ไหมคะ กำหนดจอเกมนะคะ

00:18:53.641 --> 00:19:00.355
วันนี้เราจะมากำหนดหน้าจอเกม เพราะฉะนั้น ใน Comment เราก็จะเปลี่ยนเป็น...

00:19:14.115 --> 00:19:21.552
บอกให้รู้ว่าไอ้ตัวนี้ตอนนี้นะคะ เราจะมากำหนดหน้าจอให้เกมก่อน

00:19:22.447 --> 00:19:25.702
Comment สามารถเปลี่ยนได้ เพราะอะไร

00:19:25.702 --> 00:19:29.398
เวลาเราเขียนโปรแกรม ไม่จำเป็นว่าเราจะต้องเขียน

00:19:30.000 --> 00:19:32.367
ครั้งเดียวแล้วเสร็จหมดนะ

00:19:35.500 --> 00:19:41.018
นะคะ อันดับแรก ก็คือต้องมีคำสั่ง import pygame ใช่ไหมคะ

00:19:41.018 --> 00:19:43.991
ทีนี้เราจะเอาคำว่า "print" ออกนะคะ

00:19:45.949 --> 00:19:54.520
ส่วนที่ 2 ฟังก์ชันที่ชื่อ init() ใช่ไหม ให้ดูนะคะ เดี๋ยวให้ดูสไลด์

00:19:58.324 --> 00:20:02.440
ไม่ไปสไลด์ล่ะนี่ ไหนล่ะ

00:20:04.061 --> 00:20:06.214
เห็นไหมคะ

00:20:08.228 --> 00:20:13.962
เริ่มการทำงานให้ pygame เห็นไหมคะ ก็คือเราก็เรียกใช้ pygame

00:20:13.962 --> 00:20:20.031
แล้วก็ตามด้วยฟังก์ชัน init() นะคะ วิธีการ

00:20:20.478 --> 00:20:24.898
ในบรรทัดต่อไปที่ต่อจาก import นะคะ ให้เด็ก ๆ พิมพ์

00:20:26.352 --> 00:20:30.645
p-y... เอ้ย ๆ ๆ เปลี่ยนภาษาก่อน ขอโทษ

00:20:31.149 --> 00:20:38.992
เด็ก ๆ ดูนะคะ ดูก่อนนะอย่าเพิ่งพิมพ์ พอมี p แล้วถ้ามีอย่างนี้ขึ้นมา ให้เด็ก ๆ คลิก

00:20:39.775 --> 00:20:41.539
ไปที่ตัวนี้ได้เลย

00:20:42.770 --> 00:20:47.405
เห็นไหม ไม่ต้องพิมพ์นะ เห็นไหมคะ ดูดี ๆ นะคะ เอาใหม่นะ

00:20:47.852 --> 00:20:49.228
กด p ปุ๊บ

00:20:50.291 --> 00:20:56.628
กด Enter ก็ได้ ถ้าไม่เอาเมาส์ไปคลิก ที่คำว่า pygame นึกออกนะ

00:20:57.075 --> 00:21:02.964
พอมี p ขึ้นมานี่ ถ้าไม่เอาเมาส์ไปคลิก เราสามารถกดปุ่ม Enter

00:21:02.964 --> 00:21:05.481
คำว่า "pygame" จะมา อย่างนี้

00:21:06.432 --> 00:21:09.838
เด็ก ๆ จะพิมพ์ไม่ผิด นึกออกไหม เห็นไหม

00:21:10.398 --> 00:21:14.148
สะดวกและรวดเร็ว แต่ต้องดูด้วยไม่ใช่

00:21:14.428 --> 00:21:22.149
พิมพ์ปุ๊บ มันจะไม่ได้มีแค่ตัวเดียว พอเราเริ่มโค้ดเยอะ ๆ น่ะค่ะ Sublime เขาจะ...

00:21:23.212 --> 00:21:30.030
เขาเรียกว่าอะไรล่ะ เขาจะไปจำพวกค่า หรือคำสั่งพวกนี้เก็บไว้ นึกออกนะ

00:21:30.422 --> 00:21:38.231
พอเราเริ่มจะเรียกใช้ มันจะขึ้นมาอย่างนี้ แล้วพอกด Enter ปุ๊บ เด็ก ๆ จะไม่เกิด

00:21:38.790 --> 00:21:44.184
การ... ปัญหา ก็คือการพิมพ์ชื่อไอ้พวกนี้ผิด เข้าใจไหมคะ นะคะ

00:21:44.184 --> 00:21:53.070
ต่อมาตามด้วยอะไร ตามด้วย . 1 . จุดลงไป

00:21:53.685 --> 00:22:03.509
แล้วก็ตามด้วยฟังก์ชันที่ชื่อว่า init() นะคะ

00:22:03.509 --> 00:22:11.446
แล้วก็ให้เด็ก ๆ กดวงเล็บ กดแค่วงเล็บเปิด เดี๋ยววงเล็บปิดมันจะมาอัตโนมัติ

00:22:13.292 --> 00:22:20.143
เวลาเช็ก Sublime เด็ก ๆ ดูอย่างไร เห็นไหมดูที่สีพวกนี้นะคะ

00:22:21.094 --> 00:22:27.152
ถ้าเราพิมพ์คำสั่งถูกนี่ พวกสีพวกนี้มันจะปรับเปลี่ยนไปอัตโนมัติเลย

00:22:27.152 --> 00:22:34.593
บอกให้รู้ว่านี่เป็นฟังก์ชันนะ นี่เป็นคำสั่งที่อยู่ใน Library นะ อะไรพวกนี้นะคะ

00:22:34.929 --> 00:22:38.680
เห็นไหมคะ เราได้ 2 บรรทัดแล้ว

00:22:40.414 --> 00:22:48.143
ก็คือนำเข้าโมดูล pygame แล้วก็สั่งให้โปรแกรมนี้มันเริ่มทำงานนะคะ

00:22:48.982 --> 00:22:56.048
ในบรรทัดที่ 4 สิ่งที่เด็ก ๆ จะต้องทำต่อมานะคะ กดผิดอีกแล้ว

00:22:58.230 --> 00:23:01.531
เราจะสร้าง loop ให้มันก่อน

00:23:03.545 --> 00:23:08.986
เห็นไหม กระโดดข้ามได้นะคะ ในการ Coding นี่

00:23:10.720 --> 00:23:13.655
แต่... แต่อะไร แต่จะ...

00:23:18.690 --> 00:23:24.322
ในทุกส่วนนี่ ถ้าอยากให้เข้าใจว่าเราไปทำส่วนไหนไว้

00:23:24.714 --> 00:23:30.486
Comment มีส่วนสำคัญนะคะ เพราะฉะนั้น เมื่อเรานำเข้าโมดูล

00:23:30.486 --> 00:23:35.077
แล้วก็เริ่มการทำงาน pygame แล้วนะคะ บรรทัดต่อมา

00:23:38.489 --> 00:23:46.213
เว้น 1 บรรทัด กด Enter ให้มันขึ้นเลข 5 ตอนนี้เด็ก ๆ จะอยู่ที่บรรทัดหมายเลข 5 เห็นไหม

00:23:47.164 --> 00:23:53.181
เราต้องการใส่ Comment เข้าไป เพื่อจะอธิบายส่วนต่าง ๆ ที่เราทำ

00:23:53.461 --> 00:23:56.046
ตอนนี้ก็คือเราจะสร้าง loop

00:23:58.955 --> 00:24:02.355
พิมพ์ทับศัพท์เลยนะคะ Loop game

00:24:04.257 --> 00:24:07.953
บอกให้รู้ว่าตรงนี้เป็น Loop game เพราะอะไร

00:24:08.792 --> 00:24:14.153
เพราะสมมติเวลาเราโค้ด เขียนโปรแกรมไปแล้วมันผิด

00:24:14.489 --> 00:24:20.781
แล้วแม่บอกว่าผิดตรง loop นึกออกนะ ถ้าเรามาดูที่ Comment เราก็จะรู้ว่า Loop

00:24:22.739 --> 00:24:26.930
Loop game เราอยู่ตรงไหนนะคะ

00:24:32.244 --> 00:24:38.190
คำสั่งที่ใช้ในการทำ Loop game ของเรานะคะ ก็จะมี

00:24:41.714 --> 00:24:53.020
ตัวแรกนะคะ ตัวแรกนี่ เป็นคำสั่งในการตรวจ loop ที่เราจะใช้นี้ เป็น loop แบบ

00:24:57.831 --> 00:25:01.995
ใช้ while loop นะคะ เห็นไหม while

00:25:06.357 --> 00:25:12.045
loop while จะทำงานเมื่อเป็นจริงเห็นไหมคะ เมื่อเงื่อนไขเป็นจริง

00:25:12.325 --> 00:25:14.612
มันถึงจะทำงาน

00:25:16.849 --> 00:25:20.462
ทำเมื่อเป็นจริงเห็นไหมคะ while run

00:25:20.854 --> 00:25:28.390
ใส่ for event เหตุการณ์เข้าไป เมื่อรับค่า event.type ==

00:25:28.894 --> 00:25:30.869
pygame.QUIT: นะคะ

00:25:32.044 --> 00:25:37.319
ทำเมื่อเป็นจริงนั่นก็คือถ้าเมื่อ pygame สิ้นสุด ก็คือจะออก

00:25:37.319 --> 00:25:43.721
แต่ถ้ายังไม่จบเกมก็จะ run ก็คือทำงานไปเรื่อย ๆ นะคะ

00:25:44.617 --> 00:25:48.834
ก็ยังทำงานอยู่ ก็ยังวิ่งอยู่อย่างนี้นะคะ

00:25:55.441 --> 00:26:01.998
คำสั่งแรกเลยนะคะ ก็คือประกาศตัวแปร ไหนล่ะ ประกาศ

00:26:22.807 --> 00:26:28.060
ตรงนี้นะคะ เราจะประกาศตัวแปรก่อน

00:26:34.157 --> 00:26:41.900
บอกแล้วว่าเวลาตั้งชื่อตัวแปรนี่นะคะ เด็ก ๆ จะต้องตั้งด้วยตัวเล็ก

00:26:45.760 --> 00:26:47.164
นะคะ

00:26:54.044 --> 00:27:01.966
ตัวแปรแล้วก็กำหนดค่าให้ตัวแปร เท่ากับ True ก็คือตัวแปรนี้ มีค่าให้เป็นจริงเสมอ

00:27:01.966 --> 00:27:06.519
ค่าเริ่มต้นของตัวแปรเป็นจริงเสมอนะคะ เริ่มที่

00:27:08.756 --> 00:27:13.588
ประกาศตัวแปรนะคะ ตัวแปรที่เราจะใช้นะคะ

00:27:16.944 --> 00:27:24.676
ที่ใช้ run นั่นก็คือหมายถึงเกม เกมมันวิ่ง หรือ active ก็ได้

00:27:25.068 --> 00:27:26.766
เอา active แล้วกัน

00:27:28.836 --> 00:27:34.594
คือ active ก็จะยาว เด็ก ๆ ก็จะว่ามันยาวน่ะ เอา run นั่นล่ะ สั้นดีแล้ว

00:27:35.433 --> 00:27:41.022
run นะคะ ตัวแปรนี้ หมายถึง เราก็ต้องการให้โปรแกรมมัน...

00:27:41.302 --> 00:27:49.079
มันวนรอบการทำงานน่ะค่ะเด็ก ๆ run นะคะ ประกาศตัวแปรชื่อว่า run เสร็จแล้ว

00:27:54.561 --> 00:27:56.542
= ใส่เครื่องหมาย =

00:27:57.940 --> 00:28:03.957
สังเกตนะคะ แม่กดวรรคนี่ เด็ก ๆ ก็ต้องวรรคตามนะ =

00:28:05.020 --> 00:28:11.394
คำสั่งต่อมา run = ใส่เครื่องหมาย = ก็คือต้องการบอกว่าตัวแปรนี้

00:28:11.394 --> 00:28:15.193
เราจะกำหนดค่าให้มัน ถ้าใส่เครื่องหมาย = เข้าไปนะคะ

00:28:15.529 --> 00:28:19.872
กำหนดค่าให้มันเป็น true true ที่แปลว่าจริง

00:28:31.118 --> 00:28:41.504
เดี๋ยวนะพิมพ์อะไรผิด run t-r-u-e พิมพ์คำสั่งผิดนี่เอง

00:28:46.315 --> 00:28:52.047
Memory อาจจะ Error นะคะวันนี้ ไม่สบายแล้วกินยา

00:28:52.439 --> 00:28:56.191
การประมวลผลไม่ทำงาน = True

00:28:57.086 --> 00:29:02.703
True ตัวนี้ใช้ตัวใหญ่นะ T ตัวใหญ่ T-r-u-e นี่

00:29:02.703 --> 00:29:07.657
ถ้าพิมพ์ถูกนะคะ สีมันจะเปลี่ยนเห็นไหม

00:29:10.062 --> 00:29:17.589
เห็นไหมคะ True ในที่นี้มันมาจาก... มันไปดึงมาจากโมดูลของ pygame นั่นเองนะคะ

00:29:19.379 --> 00:29:29.305
ก็คือ loop จะรู้เลยว่า อ๋อ ถ้าเป็นจริงปุ๊บนะคะ สิ่งต่อมาที่จำให้มันทำ ก็คือ

00:29:30.000 --> 00:29:33.648
คำสั่งวน loop ก็คือคำสั่ง while เห็นไหมคะ

00:29:33.648 --> 00:29:37.615
มันจะขึ้น while loop กด Enter เลือกตัวนี้ได้เลยเด็ก ๆ

00:29:41.139 --> 00:29:46.343
เห็นไหมถ้ากด Enter มันจะขึ้นโครงสร้าง ของคำสั่ง while อย่างนี้มาให้

00:29:46.902 --> 00:29:48.632
ใครไม่ขึ้นแบบนี้

00:29:50.310 --> 00:29:53.885
เอาใหม่นะ ดูใหม่นะคะ ดูที่คำสั่ง while

00:29:54.277 --> 00:30:03.187
นี่ เพราะเราจะทำ while loop พอเห็น while แล้วก็มีคำว่า while loop ตาม กด Enter ได้เลย

00:30:04.362 --> 00:30:10.296
เห็นไหมคะ มันจะแบ่งส่วนอย่างนี้ขึ้นมาเห็นไหม โครงสร้างมันจะขึ้น

00:30:10.296 --> 00:30:13.368
อันนี้จะดีอย่างไร เด็ก ๆ จะพิมพ์ไม่ผิด

00:30:14.151 --> 00:30:19.382
ก็คือตัวโครงสร้างนี่ จุดเริ่มต้นของคำศัพท์ต่อไป มันจะอยู่ตรงตำแหน่งนี้

00:30:19.382 --> 00:30:24.103
ถ้าเด็ก ๆ พิมพ์เอง เด็ก ๆ จะชอบมาพิมพ์ที่ตำแหน่งเริ่มต้น นึกออกนะคะ

00:30:24.383 --> 00:30:28.216
เพราะฉะนั้น ถ้าเป็นอย่างนี้ ตำแหน่งมันจะไม่เพี้ยน

00:30:30.000 --> 00:30:35.918
มันจะใส่ : อะไรมาให้เลย มันจะแก้ปัญหาอะไรคะ ที่เหมือน

00:30:36.198 --> 00:30:42.941
ตอนที่เราใช้ Colab บางที บางคำสั่ง ถ้าเราไม่มี : หรือ ; ปิด

00:30:43.668 --> 00:30:46.186
นึกออกนะ นั่นก็คือเราเขียนโค้ดผิด

00:30:47.025 --> 00:30:53.438
แต่ถ้าขึ้นอย่างนี้มันจะไม่ทำให้ผิดนะคะ ของใครไม่ขึ้นแบบนี้ยกมือ

00:30:56.179 --> 00:31:00.799
ไอ้มิ่งแก้หรือยังตอนนั้นน่ะ ที่มันลงไอ้นั่นไม่ได้น่ะ

00:31:01.582 --> 00:31:05.665
ที่มันลง pygame ไม่ได้ไง มันต้องเปลี่ยนเครื่องนี่

00:31:08.182 --> 00:31:11.139
เพราะโมดูล pygame มันไม่มีนี่

00:31:15.334 --> 00:31:21.263
จำได้ไหม เพราะตอนลง ที่ตอนเรียกใช้ pygame น่ะ

00:31:22.270 --> 00:31:25.107
เครื่องไอ้มิ่งมันเรียกใช้ไม่ได้น่ะ

00:31:26.505 --> 00:31:29.669
เอ้ย ไม่ใช่เครื่องไอ้มิ่ง เครื่องไอ้กุ้งเต้นมันเรียกไม่ได้ไง

00:31:29.669 --> 00:31:33.711
ในสัปดาห์ที่เราลง ตอนแรกน่ะ ของไอ้...

00:31:34.774 --> 00:31:38.912
พอเราเรียกใช้ pygame ที่มันจะ run แล้วก็ขึ้นว่า Finish น่ะ

00:31:38.912 --> 00:31:46.557
แต่ของไอ้นี่มันไม่ขึ้นน่ะ มัน ๆ... มันน่าจะมีไวรัสน่ะ มันลงไม่ได้

00:31:47.228 --> 00:31:49.976
บอกอยู่ว่าต้องเปลี่ยนเครื่องให้มัน

00:31:53.276 --> 00:31:56.357
แล้วเครื่องไอ้ต้ามันยังไม่ได้ลงไม่ใช่หรือ ลงแล้วหรือ

00:31:58.874 --> 00:32:02.023
ลองเรียก ลองเรียกขึ้นมาสิ

00:32:04.484 --> 00:32:12.251
ในระหว่างนั้นเพื่อน ๆ ได้หมดทุกคนแล้วนะ ไอ้มิ่งเดี๋ยวค่อยตามทีหลัง

00:32:12.251 --> 00:32:18.297
เดี๋ยวมาไล่ให้ทีหลังนะคะ พาเพื่อนทำก่อน ให้เพื่อนได้หน้าจอไว้เล่นเกมก่อน

00:32:19.416 --> 00:32:24.531
เพื่อนอยากเห็นหน้าจอมันจะเป็นอย่างไร เอ้า กดผิดอีกแล้ว

00:32:26.154 --> 00:32:30.056
เห็นไหมคะ while while แล้วตามด้วยอะไร

00:32:30.336 --> 00:32:35.968
เห็นไหมตัวแปรที่เราประกาศ เราก็ต้องเรียกมันมาใช้ เห็นไหมคะ

00:32:36.975 --> 00:32:43.986
เห็นไหมคะ ก่อนหน้า : ให้เด็ก ๆ พิมพ์ตัวแปรที่เราเรียก เอ้ย ที่เราประกาศไปมานะคะ

00:32:50.251 --> 00:32:55.261
นี่นะคะ เราต้องใช้ตัวแปรนี้ ก็คือพิมพ์ r ปุ๊บ

00:32:56.603 --> 00:33:01.085
r-u-n ขึ้นมากด Enter เห็นไหมเด็ก ๆ จะได้ไม่พิมพ์ผิด

00:33:05.448 --> 00:33:11.989
เห็นไหมคะ while run ก็คือ ถ้าคำสั่ง run นี่ค่าเริ่มต้นเป็น True ปุ๊บ

00:33:12.381 --> 00:33:17.126
สิ่งที่จะต้องการให้มันวนลูป ก็คือให้มันวิ่ง run เห็นไหมคะ

00:33:17.126 --> 00:33:25.700
แล้วตรง pass เด็ก ๆ มาตำแหน่งนี้นะคะ ทำแถบสีตรงคำว่า "pass" เราจะลบออก

00:33:26.539 --> 00:33:31.299
แต่ตำแหน่งมันจะต้องอยู่ที่เห็นไหมคะ ตำแหน่งนี้ไม่เคลื่อนไปนะคะ

00:33:35.103 --> 00:33:40.218
คำสั่งต่อมาก็คือ while แล้วก็ตามด้วย for ค่ะเด็ก ๆ นี่

00:33:40.721 --> 00:33:45.041
for ในที่นี้เป็น for loop ถูกต้องแล้ว กด Enter ได้เลย

00:33:46.160 --> 00:33:50.674
เห็นไหมคะ ตัว Box ถัดไปของ for ก็จะขึ้นมา

00:33:51.401 --> 00:33:59.101
ใครยังไม่ขึ้นแบบนี้ยกมือ ใครไม่ขึ้นแถบโซนนี้ 2 บรรทัดนี้ยกมือนะคะ

00:34:00.001 --> 00:34:10.280
วิธีการจำได้นะ พิมพ์ f ลงไป แล้วพอขึ้นว่า for for loop กด Enter เพื่อเลือก เห็นไหมคะ

00:34:15.315 --> 00:34:19.245
ถ้าไม่ขึ้นต้องให้มัน import pygame ก่อน

00:34:19.581 --> 00:34:23.743
เปิด Command prompt ของใครไม่ขึ้น

00:34:25.085 --> 00:34:26.628
กุ้งเต้นไม่ขึ้นหรือ

00:34:28.138 --> 00:34:31.177
ไม่ ตี๋น้อยพิมพ์ใหม่ พิมพ์ f ใหม่

00:34:34.813 --> 00:34:40.314
ให้ตี๋น้อยลบตั้งแต่ while ก่อน ลบตั้งแต่ while ก่อน ดูนะคะ

00:34:41.153 --> 00:34:46.034
มันจะต้องเริ่มที่พอพิมพ์ while นี่ ขึ้นอย่างนี้ไหมของตี๋น้อยน่ะ

00:34:53.809 --> 00:34:55.333
เขามีบรรทัดที่ 6 หรือยัง

00:34:59.584 --> 00:35:01.917
เอาใหม่บอกเขาลบออก

00:35:04.490 --> 00:35:06.826
ลบตั้งแต่ 6 เลยนะบางคนน่ะ

00:35:09.063 --> 00:35:16.532
พิมพ์ตัวแปรที่ชื่อว่า run ประกาศตัวแปรให้ run ประกาศตัวแปร run วรรค เครื่องหมาย =

00:35:17.427 --> 00:35:27.707
ตามด้วยกำหนดค่าเริ่มต้นของ run เป็น True ก็คือเป็นจริง T-r-u-e True

00:35:28.994 --> 00:35:31.913
เสร็จแล้วพิมพ์ w 1 ตัว

00:35:36.052 --> 00:35:38.497
แล้วกด Enter ไม่ขึ้นอย่างนี้หรือ

00:36:46.928 --> 00:36:51.039
คนที่ไม่ขึ้นดูนะคะ สัปดาห์ก่อนจำได้นะ

00:36:52.326 --> 00:37:01.077
ตอนเวลาเราจะตั้งค่าให้โปรแกรม pygame นี่ นามสกุลมันจะต้องเป็น

00:37:01.077 --> 00:37:09.386
.py ตอนนี้คนที่ไม่ขึ้นคือนามสกุลไม่ได้เป็น .py เพราะฉะนั้น คลิกไฟล์แล้วก็เลือก Save As ลูก

00:37:09.386 --> 00:37:12.057
ไปที่เมนู File ค่ะ

00:37:13.064 --> 00:37:17.463
สังเกตถ้าเป็นนี่ สีไอ้นี่ก็จะขึ้นอย่างนี้เลย เป๊ะนะคะ

00:37:17.463 --> 00:37:22.313
ไปที่เมนู File ตี๋น้อยทำตาม แล้วก็เลือก

00:37:23.432 --> 00:37:26.545
Save As มิ่งด้วย

00:37:28.223 --> 00:37:30.431
ตรงนี้เห็นไหมลูก

00:37:30.821 --> 00:37:37.979
ใส่ . ข้างหลังชื่อไฟล์นี้ . ลงไป จุดน่ะลูก กดจุด

00:37:39.042 --> 00:37:42.091
แล้วก็ตามด้วย py

00:37:44.217 --> 00:37:46.176
แล้วก็คลิก Save

00:37:48.022 --> 00:37:53.263
ทีนี้ มิ่งลองพิมพ์ while ใหม่ เห็นไหมสีเปลี่ยนแล้ว

00:37:53.263 --> 00:37:55.131
w ขึ้น Enter

00:37:55.970 --> 00:38:05.070
เรียกใช้อะไรคะ run พิมพ์ run ไอ้มิ่ง แม่บอกว่าอย่างไร ไอ้โปรแกรมนี้ลบ

00:38:05.406 --> 00:38:08.587
ไม่ต้องรีบพิมพ์ พิมพ์แค่ตัว r ปึ๊บ

00:38:08.979 --> 00:38:13.099
พอมันขึ้นมิ่งกด Enter เห็นหรือเปล่า มันจะได้ไม่ผิด

00:38:13.491 --> 00:38:18.618
ตรงนี้ลบใช่ไหม ให้ลบออก แล้วกด f

00:38:19.233 --> 00:38:26.122
ตัว f เห็นไหม ให้ขึ้นอย่างนี้กด Enter เห็นหรือเปล่า โครงสร้างมันจะขึ้น

00:38:26.122 --> 00:38:28.267
มันจะทำให้มิ่งไม่พิมพ์ผิด

00:38:28.267 --> 00:38:33.314
มิ่งจะรู้ตำแหน่ง เห็นไหม ตำแหน่งวาง มันจะเว้นให้เข้าใจหรือเปล่า เพราะ

00:38:33.817 --> 00:38:41.475
เหมือนที่เราเรียนเทอม 1 จำได้ไหม แค่ไม่เว้นวรรค แค่ไม่ใส่ไอ้นี่ นึกออกไหม

00:38:41.475 --> 00:38:45.018
โปรแกรมก็ Run ไม่ได้ใช่ไหมคะ นะคะ

00:38:45.242 --> 00:38:50.766
Sublime มันจะช่วยให้เด็ก ๆ พิมพ์โปรแกรมไม่ผิดนั่นเองนะคะ

00:38:51.158 --> 00:38:53.794
เพราะอะไร เพราะถ้าอย่างนี้ปุ๊บนะคะ

00:38:54.297 --> 00:38:58.594
เพราะเมื่อกด while เมื่อพิมพ์ w นี่

00:39:01.111 --> 00:39:04.387
มันมาเล็งแล้วว่าตรงนี้ใส่ค่า True

00:39:04.946 --> 00:39:10.230
นั่นหมายถึง น่าจะกำหนด loop ให้โปรแกรมนี้ มันก็เลย

00:39:12.803 --> 00:39:18.257
บอกแล้วมันก็จะไปเรียกใช้คำสั่งในโมดูล pygame

00:39:18.704 --> 00:39:24.394
มันก็ไปเรียก while loop มา ถ้ามันขึ้นอย่างนี้ บอกแล้วกด Enter

00:39:24.394 --> 00:39:32.400
เวลาเขียนโค้ดนะคะ ไม่ต้องรีบพิมพ์ r-u-n เลย เด็ก ๆ พิมพ์แค่ r

00:39:32.624 --> 00:39:39.201
ถ้ามันขึ้น run Enter เหมือนตัวนี้เหมือนกัน ไม่ต้องพิมพ์คำว่า while เด็ก ๆ พิมพ์ w ตัวเดียว

00:39:39.201 --> 00:39:42.891
ถ้ามันขึ้น while loop ให้เด็ก ๆ กด Enter

00:39:44.233 --> 00:39:51.600
หลังเคอร์เซอร์ให้พิมพ์ r 1 ครั้ง เห็นไหมคะ มันจะไปดึง

00:39:52.159 --> 00:39:58.223
ตัวแปรที่ประกาศก่อนหน้า เพราะมันรู้แล้วว่า loop นี้ทำเพื่อเช็กค่าของ run

00:39:58.223 --> 00:40:01.551
มันจะก็ไปวิ่งไปหา run อัตโนมัตินะคะ

00:40:04.795 --> 00:40:07.605
ชักเริ่มเจ็บคอ กด Enter ค่ะ

00:40:09.003 --> 00:40:14.322
แล้วในส่วนที่เป็นสีชมพูดอย่างนี้ เด็ก ๆ ทำแถบใช่ไหมคะ

00:40:14.322 --> 00:40:18.768
คำว่า "pass" นี่ เราไม่ได้ใช้ มันเขาเรียกว่าอะไรน่ะ

00:40:18.768 --> 00:40:24.080
มันเป็นโครงของโปรแกรมที่มันสร้างเอาไว้ให้ เรากด Delete ออกนะคะ

00:40:24.975 --> 00:40:31.867
บรรทัดต่อมาเราจะใส่ event for เพื่อตรวจสอบ เพื่อให้มัน run เห็นไหมคะ

00:40:31.867 --> 00:40:36.649
กด f ปุ๊บ ถ้าคำว่า "for loop" ขึ้นมา ให้เด็ก ๆ กด Enter

00:40:39.166 --> 00:40:46.124
มันก็จะมีโครงสร้าง ตรง x ตรง x นี่ สิ่งที่เราจะใส่คืออะไร มาดูสไลด์เราต่อ

00:40:48.500 --> 00:40:50.779
ทันหรือยัง 2 คนนี้

00:40:56.261 --> 00:40:57.671
ตี๋น้อยทันไหม

00:41:01.698 --> 00:41:03.932
ตรง while ปุ๊บนะคะ

00:41:11.359 --> 00:41:12.504
ไหนล่ะ

00:41:13.679 --> 00:41:26.140
ตรง for ตรงตัว x สิ่งที่เราจะใส่ เราจะใส่เหตุการณ์ ก็คือ e-v-e-n-t นะคะ

00:41:26.140 --> 00:41:28.911
ใส่ตัวแปรที่ชื่อว่า event

00:41:30.645 --> 00:41:35.136
อันนี้ถ้าไม่มีอะไรขึ้นมานี่ เด็ก ๆ พิมพ์ตามอย่างนี้ก่อน

00:41:35.136 --> 00:41:38.352
ครั้งแรกสังเกต เวลาเราประกาศตัวแปรครั้งแรก

00:41:38.352 --> 00:41:42.026
มันจะไม่ขึ้นอะไรมา เพราะมันยังไม่รู้ว่ามีตัวแปรชื่อนี้นะ

00:41:42.641 --> 00:41:48.513
for event ปึ๊บนะคะ ถึงบรรทัดนี้หรือยังตี๋น้อย

00:41:50.303 --> 00:41:52.673
คนอื่นทันนะคะ

00:41:54.071 --> 00:41:55.981
ตรง x range นี่

00:41:56.484 --> 00:42:05.912
นี่ ๆ ๆ ตรงนี้นะคะ ตรงค่าตรงนี้นะคะ เด็ก ๆ ดูดี ๆ นะคะ ที่ทำไฮไลท์ไว้ตรงค่านี้

00:42:07.255 --> 00:42:20.846
เห็นไหมคะเราจะไปเรียกเห็นไหม pygame.event.get นั่นก็คือเมื่อมัน...

00:42:21.405 --> 00:42:31.896
มันจะเป็นโมดูลที่ชื่อว่า get น่ะค่ะ ฟังก์ชัน get เห็นไหมมี get ตามนะคะ

00:42:36.595 --> 00:42:43.589
นะคะ พิมพ์ p เลือก pygame เห็นไหม ถ้าขึ้นอย่างนี้

00:42:44.260 --> 00:42:51.560
เอาเมาส์ไปคลิกที่คำว่า "pygame" นะเด็ก ๆ แล้วก็ใส่ .

00:42:52.455 --> 00:42:57.755
พิมพ์ e เห็นไหม event ขึ้นมาแล้ว ตัวแปร event ขึ้นมาแล้ว

00:42:58.202 --> 00:43:06.418
แล้วก็ใส่ . อีก 1 ครั้ง เอ้ย . นะลูก . ไม่ใช่จุด... เอ้ยไม่ใช่ , พูดผิด

00:43:10.054 --> 00:43:14.632
g-e-t นะคะ get

00:43:30.127 --> 00:43:32.681
แล้วก็ตามด้วยวงเล็บเปิด...

00:43:33.017 --> 00:43:36.551
ไม่ใช่วงเล็บเปิดหรือวงเล็บปิด ต้องมี underscore ก่อน

00:43:36.551 --> 00:43:41.579
underscore ก็คือขีดล่างก่อน ใส่ขีดล่างนะคะ จะไปใช้ฟังก์ชัน

00:43:42.082 --> 00:43:43.717
ที่ชื่อว่า get

00:43:48.248 --> 00:43:50.625
ลบไอ้ในวงเล็บนี้ออกนะ

00:43:50.961 --> 00:43:54.659
get แล้วก็ตามด้วย _ อย่างนี้นะคะ เอาใหม่นะ

00:44:00.421 --> 00:44:06.410
ขีดล่างก่อน แล้วก็วงเล็บ เห็นหรือเปล่า

00:44:07.249 --> 00:44:12.414
อย่างนี้นะคะ ถึงจะถูก บรรทัดที่ 8

00:44:13.309 --> 00:44:15.057
คำสั่ง for

00:44:15.952 --> 00:44:22.339
event ตัวแปร สำหรับตัวแปรที่ชื่อว่า event นะคะ

00:44:22.339 --> 00:44:32.088
in อธิบายนะคะ ตอนนี้กำลังอธิบายว่า ในบรรทัดที่ 8 นี่ เราจะใช้คำสั่ง for เพื่อเรียก...

00:44:32.368 --> 00:44:38.151
เพื่อประกาศ... เพื่อเรียกตัวแปรที่ชื่อว่า event กำหนดตัวแปรที่ชื่อว่า event

00:44:38.151 --> 00:44:45.368
ใน pygame.event.get นะคะ เสร็จแล้ว

00:44:45.368 --> 00:44:51.171
มาดูบรรทัดที่ 9 สิ่งที่เราจะทำต่อมาในบรรทัดที่ 9 คือ

00:44:55.422 --> 00:45:00.888
เห็นไหมคะ if นะคะ เราจะใช้ if นะคะ

00:45:03.685 --> 00:45:09.123
กำหนดเงื่อนไขให้ for เสียก่อนนะคะ

00:45:12.983 --> 00:45:18.558
ตรง pass ลบออกเหมือนเดิม แล้วใส่ i 1 ที

00:45:20.292 --> 00:45:25.763
ให้เลือก if condition นะคะเด็ก ๆ ให้เลือกตัวแรกนะ

00:45:25.987 --> 00:45:31.618
ไม่ใช่ if then if นะคะ เราเลือกตัวนี้ if condition

00:45:34.583 --> 00:45:37.949
เราจะได้โครงสร้างของ if แบบนี้มา

00:45:41.193 --> 00:45:42.502
เห็นไหมคะ

00:45:46.082 --> 00:45:54.077
ตรงตำแหน่งถัดจาก if ก็คือตำแหน่งหน้า : ให้พิมพ์ e

00:45:54.357 --> 00:45:56.943
เพื่อเลือก event Enter ค่ะ

00:46:00.000 --> 00:46:07.302
เห็นไหม event ขึ้นมาแล้ว if event ยาวขนาดไหน บอกแล้ว Memory ไม่ดี

00:46:07.302 --> 00:46:09.972
ต้องเปิดดูโค้ดตลอดเลยวันนี้

00:46:10.643 --> 00:46:19.976
if event.type == ถ้ารูปแบบของ python นะคะ ถ้าใช้คำสั่ง if นี่

00:46:21.710 --> 00:46:27.160
เครื่องหมาย = ของ if จะต้องมี 2 ตัวนะ ไม่ใช่มีตัวเดียว

00:46:27.160 --> 00:46:34.126
นั่นก็คือบอกว่าตัวแปร ที่ชื่อว่า event.type นี่นะคะ

00:46:34.573 --> 00:46:39.182
มีค่าเท่ากับ pygame.QUIT ก็คือออกนั่นเอง

00:46:39.182 --> 00:46:43.570
pygame.QUIT นี่หมายถึง ออกหรือสิ้นสุดโปรแกรมนั่นเองนะคะ

00:46:48.045 --> 00:46:54.877
event ใส่เครื่องหมาย ใส่ . แล้วก็ตามด้วย t

00:46:56.835 --> 00:47:06.251
เมื่อกี้ T ใหญ่ t เล็ก กินยาละมึน ไม่ดี มันเป็นอย่างนี้นี่เอง t เล็กนะคะ QUIT ถึงจะใหญ่

00:47:06.251 --> 00:47:09.223
โอเค ท่อง ๆ ๆ

00:47:09.726 --> 00:47:16.673
t y-p-e .type

00:47:17.512 --> 00:47:21.513
วรรคแล้วก็ = 2 ตัว ==

00:47:24.701 --> 00:47:32.963
py เลือก pygame นะคะเด็ก ๆ p pygame.Q ตัวใหญ่ค่ะ

00:47:39.060 --> 00:47:40.967
Q-U...

00:47:42.757 --> 00:47:49.145
.QUIT เห็นไหมคะ () เสร็จแล้ว

00:47:52.893 --> 00:47:59.337
ถูกต้องไหมล่ะ ไม่ใช่สิ พิมพ์อะไรผิดแน่ ๆ เลย

00:48:02.190 --> 00:48:05.502
สอนแบบป่วย ๆ นี่มันเป็นอย่างนี้นี่เอง

00:48:06.956 --> 00:48:08.997
Q-U-I-T

00:48:15.934 --> 00:48:19.098
Q-U-I-T ตัวใหญ่ทั้งหมดนะคะ

00:48:19.378 --> 00:48:26.750
pygame.QUIT QUIT ใช้ตัวใหญ่ทั้งหมด Q-U-I-T จบ

00:48:33.631 --> 00:48:41.522
ตรงบรรทัดที่ 10 คำสั่งต่อไป ก็คือเมื่อเรากำหนดเงื่อนไขเสร็จนะคะ

00:48:41.746 --> 00:48:46.038
if then else นั่นเองนะคะ

00:48:46.430 --> 00:48:52.781
while for if if แล้วก็ต่อไปก็ then ให้ if เช็กค่า

00:48:53.117 --> 00:48:58.168
ค่าที่จะเช็กใน if ก็คือ ตัวแปรที่ชื่อว่า run เห็นไหมคะ

00:48:58.671 --> 00:49:03.521
เป็นจริงไหม เพราะมี True แล้ว ต้องปิดด้วย False นะคะ

00:49:04.248 --> 00:49:05.942
run เป็นจริง

00:49:06.557 --> 00:49:10.200
เพราะฉะนั้น พอมันออกนี่ นั่นหมายถึง

00:49:10.927 --> 00:49:16.505
มันจะทำงาน มันจะวนลูป ก็ต่อเมื่อ ตัวที่วนลูปก็คือตำแหน่งนี้นะคะ นี่

00:49:16.897 --> 00:49:21.387
เห็นไหมคะ ถ้า run เป็นเท็จปุ๊บนี่

00:49:22.562 --> 00:49:26.768
เห็นไหมคะ มันก็จะวนกลับไป run ใหม่

00:49:30.000 --> 00:49:37.456
จนกว่าจะเป็นจริง ก็คือ pygame.QUIT นี่เป็นจริง มันถึงจะออก มันถึงจะโดดมานี่นะคะนี่

00:49:38.015 --> 00:49:43.259
ถ้าเป็นจริงนี่ จะมานี่ ก็จะออกจากเกม

00:49:57.082 --> 00:50:03.492
เรียกตัวแปร run มา แล้วก็ใส่กำหนดค่าให้ run เป็น False

00:50:04.163 --> 00:50:06.453
F...

00:50:10.369 --> 00:50:12.556
False False False

00:50:16.583 --> 00:50:19.999
F ตัวใหญ่ด้วยนะเด็ก ๆ F ตัวใหญ่

00:50:21.677 --> 00:50:24.026
แบบเดียวกับ True นั่นแหละ

00:50:25.368 --> 00:50:31.809
F ตัวใหญ่นะคะ F-a-l-s-e False

00:50:33.823 --> 00:50:43.113
True จริง False เท็จ เห็นไหมคะ เงื่อนไขนี้ ถ้าเป็น if น่ะ

00:50:48.371 --> 00:50:56.553
มันเช็กว่าเมื่อเราพิมพ์ออกนี่ ไปกดปุ่มออก หรืออะไรก็แล้วแต่นี่นะคะ

00:50:56.553 --> 00:50:59.951
ถ้าเป็นจริงปุ๊บ บรรทัดนี้ก็คือ

00:51:01.909 --> 00:51:06.341
pygame แล้วก็ถามด้วย .

00:51:07.124 --> 00:51:09.302
quit ตัวเล็กนะคะนี่

00:51:10.700 --> 00:51:14.495
ตัวใหญ่นี้ไม่ใช่นะคะ มันจะเป็นคนละตัวกัน

00:51:16.341 --> 00:51:19.134
มันจะไปเรียกใช้ฟังก์ชัน quit()

00:51:22.322 --> 00:51:28.488
ใส่วงเล็บเข้าไปนี่ แล้วต้องปิดด้วย ปิดไหมน่ะ

00:51:33.858 --> 00:51:36.309
ไม่ปิด ไม่ปิด ไม่ปิด

00:51:42.182 --> 00:51:48.362
นั่นก็คือมันเข้ามาเช็กตัวแปรที่ชื่อว่า run ถ้าเป็นจริงเข้าไปทำงาน

00:51:50.376 --> 00:51:58.571
ในขณะที่ while run นี่นะคะ มีเงื่อนไขว่าถ้า event หรือเหตุการณ์ที่เกิดขึ้นนี่

00:51:59.018 --> 00:52:05.391
รับค่าเข้าไปปุ๊บ แล้วค่าที่พิมพ์เข้าไปนี่ เป็น quit ปุ๊บนะคะ

00:52:05.391 --> 00:52:13.404
ก็จะสิ้นสุดโปรแกรม แต่ถ้ายังไม่พิมพ์มันก็จะวน วนรอบ วนไป วนอยู่นี่แหละ

00:52:13.404 --> 00:52:18.710
จนไปเจอว่าปุ่มนี้เป็นปุ่มให้ออก มันก็จะออกนะคะ

00:52:20.724 --> 00:52:24.882
กำหนด loop และ event ไปแล้วนะคะ

00:52:39.370 --> 00:52:45.000
loop and event loop กับเหตุการณ์ กำหนด loop แล้วก็...

00:52:45.000 --> 00:52:48.086
loop แล้วก็เหตุการณ์ในเกม

00:52:48.310 --> 00:52:57.505
ส่วนต่อมาที่เราจะกำหนดค่าให้นะคะ บอกแล้ววันนี้เราจะออกแบบหน้าจอมันให้ได้

00:53:00.862 --> 00:53:05.715
ถัดไป เราจะมาสร้างหน้าต่างเกม

00:53:07.561 --> 00:53:10.376
ทำไมมันไม่กดคลิกถัดไปให้

00:53:13.173 --> 00:53:20.771
หน้าต่างเกมนะคะ ค่าที่จะกำหนด มีค่าในแกนที่เรียกว่า x y ตัวแปร

00:53:22.561 --> 00:53:25.473
x x นี่คือค่าของ...

00:53:27.990 --> 00:53:31.542
ก็คือถ้าเป็นกรอบสี่เหลี่ยม แล้วมันจะมีส่วนของ title

00:53:31.542 --> 00:53:36.065
ก็คือชื่อจอ หรือชื่อพื้นที่นั้นนะคะ

00:53:38.247 --> 00:53:43.299
height height นั่นก็คือความสูง width คือ ความกว้าง

00:53:43.299 --> 00:53:49.591
ก็คือเราจะต้องกำหนดค่าความสูง กับความกว้างของกรอบให้มันนะคะ

00:53:49.815 --> 00:53:52.746
แล้วก็กำหนดชื่อให้มันด้วย

00:53:52.746 --> 00:53:58.152
ในหน้าจอหนึ่งหน้าจอนี่จะมีองค์ประกอบ อยู่ในแกน x แกน y พวกนี้นะคะ

00:53:58.152 --> 00:54:01.438
ตัวแปร x ตัวแปร y นี่ ก็คือ

00:54:03.340 --> 00:54:05.649
ค่าความสูง ความกว้างนั่นเองนะคะ

00:54:23.829 --> 00:54:31.903
ทีนี้ถ้าตัวแปร x นั่นหมายถึงตำแหน่งของแกน เอ้ย ของความกว้าง

00:54:32.239 --> 00:54:37.077
ถ้าตัวแปร y หมายถึงตำแหน่งของความสูงนะลูก

00:54:41.888 --> 00:54:43.503
นี่ y อันนี้ x

00:54:53.447 --> 00:55:00.229
เห็นไหมคะ อธิบายไว้ว่าให้ y คือ ความกว้างของหน้าต่าง

00:55:00.229 --> 00:55:03.711
ให้ h คือ height มาจาก height คือ ความสูง

00:55:08.633 --> 00:55:12.727
flags จะเป็นการตั้งค่าคุณสมบัติของหน้าต่าง

00:55:13.342 --> 00:55:17.663
ซึ่งจะมีค่ากับตามตาราง เดี๋ยวจะให้ดูนะคะ ค่าตามตารางคืออะไร

00:55:18.055 --> 00:55:24.253
วิธีทำก็คือเราจะต้อง กำหนดตัวแปรให้หน้าต่างนี้นะคะ

00:55:24.589 --> 00:55:33.056
แล้วก็ตามด้วยเครื่องหมายเท่ากับ คำสั่งนะคะ ก่อนอื่น ก็คือประกาศตัวแปรหน้าต่างนี้นะคะ

00:55:33.056 --> 00:55:35.085
แล้วก็ตามด้วย

00:55:35.756 --> 00:55:43.676
กำหนดค่าให้ตัวแปรนี้ว่า pygame.display.set_mode

00:55:44.403 --> 00:55:52.591
ในวงเล็บ resolution resolution ก็คือ ความละเอียดของจอนะคะ แล้วก็เท่ากับเท่าไร

00:55:52.591 --> 00:55:58.262
เท่ากับความกว้างแล้วก็ความสูง w คือ ความกว้าง height คือ ความสูง

00:55:58.262 --> 00:56:04.009
ก็คือให้เขียนหมายเลขกว้างเท่าไร สูงเท่าไรลงไป แล้วก็

00:56:05.072 --> 00:56:11.382
ถ้าใส่ flags flags บอกว่าเป็น ค่าคุณสมบัติของหน้าต่างนะคะ

00:56:11.382 --> 00:56:14.853
ที่มีค่าตามตาราง ซึ่งค่า flags ก็คือนี่

00:56:15.356 --> 00:56:16.769
เห็นไหมคะ

00:56:18.671 --> 00:56:24.618
ถ้าเลือก flags ว่า pygame.FULLSCREEN มันจะเปิดหน้าต่างแบบเต็มจอ

00:56:24.618 --> 00:56:32.790
ถ้าเลือก flags ว่า pygame.DOUBLEBUF นะคะ ก็คือจะมีค่าตามนี้ ที่เขียนไว้นี่

00:56:32.790 --> 00:56:41.403
ถ้าบอกว่า pygame.OPENGL หมายถึงให้มัน ไปเปิด Library ที่ชื่อ OPENGL มา เห็นไหมคะ

00:56:49.346 --> 00:56:52.353
เพราะฉะนั้น ส่วนต่อไปที่เราจะทำ

00:56:52.968 --> 00:56:56.500
นั่นก็คือกำหนดค่าหน้าต่างนั่นเอง

00:56:56.892 --> 00:57:02.476
ตำแหน่งของกำหนดค่าหน้าต่าง ก็จะอยู่ก่อน loop นะคะ

00:57:03.035 --> 00:57:10.648
ใช่ไหม เพราะรูปแบบให้เด็ก ๆ ดูนะคะ ในองค์ประกอบในนี้ของเรานี่

00:57:12.102 --> 00:57:17.551
มันมีทั้งหมด 6 ส่วน กำหนดค่า มันจะอยู่ก่อน loop กับ event เห็นไหมคะ

00:57:18.054 --> 00:57:24.307
จะอยู่ที่ส่วนของหมายเลข 3 เพราะฉะนั้น การกำหนดค่าหน้าจอมันจะอยู่ก่อน

00:57:24.307 --> 00:57:27.930
เพราะฉะนั้น เราจะกด Enter ลงไป 2 บรรทัด

00:57:29.160 --> 00:57:34.626
เพื่อให้ loop มันเลื่อนลงไปนะคะ แล้วใส่ # เหมือนเดิม

00:57:36.528 --> 00:57:39.743
กำหนดหน้าจอแล้ว

00:58:00.000 --> 00:58:07.516
เราจะมากำหนดหน้าจอเกมตรงส่วนนี้นะคะ ตั้งแต่บรรทัดที่ 6 เป็นต้นไปนะลูก

00:58:08.635 --> 00:58:14.298
บอกแล้วว่าถ้าเราใส่ # นี่ เราจะรู้ว่าแต่ละส่วน เราทำอะไรในส่วนนี้นะคะ

00:58:14.690 --> 00:58:20.278
เวลาเราจะมาแก้ ถ้าโค้ดมันผิดนี่ เราก็จะรู้ว่า

00:58:21.732 --> 00:58:23.884
จอเราเล็ก เราจะมาแก้จอ

00:58:23.884 --> 00:58:28.008
เพราะฉะนั้นเราก็ต้องมาที่ส่วน ของการกำหนดหน้าจอใช่ไหมคะ

00:58:28.455 --> 00:58:30.591
หรือ loop เรามัน

00:58:30.927 --> 00:58:34.497
ผิดนี่นะ เราก็มาแก้ใน loop อย่างนี้นะคะ

00:58:34.497 --> 00:58:39.044
ถ้าเราใส่ Comment ไว้ เราก็จะรู้ว่า ส่วนที่เราจะแก้มันอยู่ตรงส่วนไหน

00:58:39.044 --> 00:58:41.154
มันก็จะช่วยได้นะคะ

00:58:45.000 --> 00:58:51.517
เราจะเริ่ม... ใครใส่ # เสร็จแล้ว เตรียมพร้อมที่จะเริ่ม

00:58:54.034 --> 00:58:55.672
นะคะ

00:58:58.469 --> 00:59:02.839
กำหนดตัวแปรชื่อ... ชื่อนี้นะคะ screen

00:59:03.342 --> 00:59:07.133
screen แปลว่าหน้าจอใช่ไหม กำหนดความกว้าง

00:59:07.413 --> 00:59:14.223
เท่ากันเลย 800 600 แต่ถ้าใค รพอสร้างเสร็จแล้ว แล้วคิดว่าจอมันเล็ก

00:59:14.223 --> 00:59:23.059
ก็ค่อยไปเพิ่มขนาด อันนี้ทำให้ดูก่อนว่า ถ้ากดไอ้นี่นะคะ หน้าจอเท่านี้แล้ว

00:59:23.898 --> 00:59:28.458
ค่า flags เราจะไม่ใส่นะคะ วันนี้เราจะยังไม่ใส่ flags

00:59:28.458 --> 00:59:31.759
เพราะเราแค่ทำพื้นที่หน้าจอเฉย ๆ

00:59:33.381 --> 00:59:40.522
ก่อนอื่นต้องได้ตัวคำสั่ง screen ตัวนี้นะคะ บรรทัดนี้ออกมานะคะ

00:59:41.865 --> 00:59:48.304
เพราะฉะนั้น บรรทัดที่ต่อจาก Comment ให้เด็ก ๆ ประกาศตัวแปรชื่อ screen ค่ะ

00:59:49.199 --> 00:59:56.753
s... s-c-r-e-e-n screen

00:59:57.592 --> 00:59:58.791
=

01:00:04.553 --> 01:00:16.436
p-y pygame.display d-i-s-p-l-a-y .

01:00:18.785 --> 01:00:20.620
. อะไรต่อ

01:00:22.970 --> 01:00:25.161
. อะไรต่อ . อะไรต่อ

01:00:26.056 --> 01:00:28.161
สไลด์ สไลด์ สไลด์

01:00:30.000 --> 01:00:33.450
.display.set_mode นะคะ

01:00:47.658 --> 01:00:56.286
.set_ แล้วก็ m-o-d-e mode

01:00:57.852 --> 01:01:00.118
ทำวงเล็บ 2 ครั้งลูก

01:01:05.376 --> 01:01:12.776
y เลขชุดแรก 800 คือ y ก็คือความกว้างของหน้าจอนะครับ

01:01:13.335 --> 01:01:17.149
800 แล้วก็ height 600 (800, 600)

01:01:23.470 --> 01:01:26.054
เดี๋ยวจะ run แล้วนะครับ

01:01:27.620 --> 01:01:32.477
เช็ก ก่อนจะ run เราจะเช็กคำสั่งก่อน ว่าเราถูกหรือเปล่า

01:01:42.266 --> 01:01:43.855
(800, 600)

01:01:47.547 --> 01:01:55.918
กด Ctrl + B โอเค ลอง Run แล้วนะครับ เวลาสั่งให้ Run อยู่ตรงนี้นะ

01:01:58.659 --> 01:02:08.263
tool นี่เห็นไหมคะ B แต่เราจะไม่… เอ้ย Build เราจะใช้คีย์ลัด ก็คือกดปุ่ม Ctrl

01:02:09.997 --> 01:02:11.986
แล้วก็ตามด้วย B

01:02:18.077 --> 01:02:22.213
เมื่อกี้มันขึ้นมาแล้วนะ แล้วมันหาย มันไม่ได้หายนะ เด็ก ๆ ดูดี ๆ

01:02:23.164 --> 01:02:27.910
เดี๋ยวนะ ขอย่อหน้าต่างนี้ก่อน ไปไสล่ะ

01:02:33.280 --> 01:02:35.984
ย่อจนได้เรื่อง [เสียงหัวเราะ]

01:02:52.262 --> 01:02:54.841
เมื่อกี้มันขึ้นมาแป๊บหนึ่งนะ

01:02:56.333 --> 01:03:02.246
เดี๋ยวนะ เดี๋ยวนะ ถ้าใครไม่ขึ้น เห็นหรือเปล่า เห็นหน้าต่างตัวเองหรือยัง

01:03:05.434 --> 01:03:07.628
ไปกดโดนอะไรนี่

01:03:12.495 --> 01:03:14.891
Ctrl + B  ใหม่อีกรอบก็ได้

01:03:16.233 --> 01:03:20.343
เห็นไหม มันขึ้นมาแป๊บเดียว ดูดี ๆ นะ

01:03:23.867 --> 01:03:25.525
คำสั่ง get

01:03:25.749 --> 01:03:27.308
get ผิดหรือ

01:03:28.371 --> 01:03:34.206
module ‘pygame event’ has no attribute ‘get_’ Did you mean: ‘get’?

01:03:36.611 --> 01:03:39.698
ทำไมไอ้นี่มันขึ้นมาเยอะแท้นะ

01:03:46.522 --> 01:03:48.054
นี่ ๆ ๆ

01:03:49.732 --> 01:03:51.538
มันบอกตรงนี้ผิด

01:03:53.216 --> 01:03:54.522
get อะไรล่ะ

01:03:57.375 --> 01:04:00.237
บรรทัด for เราผิดหรือ ไปไหนแล้ว

01:04:02.134 --> 01:04:08.968
มันเลยหลุดตรงเงื่อนไขน่ะ ตรงเงื่อนไขมันหลุดออกไปนะคะ

01:04:08.968 --> 01:04:12.843
แป๊บหนึ่งนะคะ ย้อนกลับสิครับ รออะไร

01:04:44.139 --> 01:04:50.019
โอเค รู้แล้ว เราผิดเองล่ะ แล้วทำไมมันขึ้น _

01:04:51.026 --> 01:04:54.186
เดี๋ยวนะ ขอแก้

01:05:03.640 --> 01:05:09.008
Ctrl + B ขอโทษที

01:05:10.910 --> 01:05:21.111
นี่ตรง get เด็ก ๆ เอาไอ้ขีดล่างออกนะเด็ก ๆ ขีดล่างอย่างนี้ออก ตรงคำสั่งนี้เห็นไหมคะ

01:05:21.390 --> 01:05:23.699
for event ตรง loop น่ะค่ะ

01:05:25.209 --> 01:05:31.197
เพราะหน้าต่างมันจะต้องขึ้นมาอย่างนี้เห็นไหม จะได้ขนาดหน้าต่าง ใครยังไม่ได้หน้าต่าง

01:05:32.819 --> 01:05:34.800
ไปแก้ที่บรรทัดนี้

01:05:37.541 --> 01:05:39.334
สไลด์เราผิดนี่เอง

01:05:58.800 --> 01:06:03.865
ไม่เป็นไร เดี๋ยวก๊อบปี้โค้ดบรรทัดอื่นมาใส่ [เสียงหัวเราะ]

01:06:05.207 --> 01:06:07.566
เอาไว้แก้สไลด์

01:06:08.293 --> 01:06:12.359
โอเคนะคะ ใครยังไม่ได้หน้าจอ

01:06:14.317 --> 01:06:19.316
ยกมือ มิ่งมาดูบรรทัดที่ 11 สิลูก

01:06:22.896 --> 01:06:29.269
.get เอาไอ้ขีดล่างนี่ออก นี่ ๆ ๆ ลบออก

01:06:30.332 --> 01:06:33.964
ลบหรือยัง อย่างนั้นไปดูบรรทัดนี้

01:06:35.306 --> 01:06:36.834
screen

01:06:38.512 --> 01:06:48.989
ครบไหม pygame.display.set_mode ขนาด 800 x 600

01:06:50.275 --> 01:06:55.491
กด Ctrl + B ดูหรือยัง กดปุ่ม Ctrl แล้วก็ตามด้วย B

01:06:57.393 --> 01:06:59.811
Ctrl ค้าง แล้วก็ B

01:07:03.950 --> 01:07:11.246
ขึ้นไหม โอเค สังเกตหน้าจอ

01:07:11.246 --> 01:07:15.977
มันจะมีรูป... มันจะมีคำว่า "pygame windows" ข้างบนเห็นไหม

01:07:19.725 --> 01:07:23.099
ใครยังไม่ได้จอนี้ยกมือ

01:07:24.050 --> 01:07:26.026
เครื่องใคร เครื่อง 2

01:07:28.096 --> 01:07:38.071
จุดที่จะแก้ดูนะครับ ตรงคำสั่ง for นะ ตรง... ตรง get นี่ นี่ ๆ ๆ

01:07:38.686 --> 01:07:40.783
เอาเครื่องหมาย _ ออก

01:07:42.181 --> 01:07:51.217
อุบลออกแล้วใช่ไหม ออกไหมครับ โอเค 2 คนนั้นออกไหม โอเค แสดงว่าตามทัน

01:07:57.706 --> 01:07:59.336
ไหน

01:11:34.075 --> 01:11:39.100
ยังไม่ได้ไอ้นี่เข้าไปใช่ไหม

01:12:31.558 --> 01:12:39.884
นี่พิมพ์ไอ้นี่หรือยัง ไปที่ Command เครื่องกุ้งเต้นน่ะ เครื่องไอ้กุ้งเต้นน่ะ

01:12:43.296 --> 01:12:47.258
เปิด Command prompt แล้วพิมพ์ pip install pygame

01:12:55.089 --> 01:13:00.708
แล้วกด Enter มันจะต้อง Install ก่อน

01:13:36.457 --> 01:13:42.284
ยังไม่ Install pygame มันเลยบ่ฮู้จัก

01:13:43.067 --> 01:13:53.449
โอเคนะครับ ตอนนี้ทุกคนจะได้หน้าจอ ของตัวเอง 1 อันแล้ว

01:13:53.449 --> 01:13:58.556
สิ่งที่เราจะทำต่อมานะครับ นะครับ นะครับ

01:14:03.534 --> 01:14:09.890
เราจะกำหนดชื่อให้มัน เห็นไหม ตรงนี้มันจะมีคำว่า "pygame window"

01:14:10.282 --> 01:14:17.085
มันเป็นชื่อที่โปรแกรมมันตั้งนะ ทีนี้เกมเรา ตอนนี้ให้เด็ก ๆ คิด

01:14:18.260 --> 01:14:26.126
ว่าจะทำเกม แล้วจะตั้งชื่อเกมเราว่าอะไร เพราะฉะนั้น สิ่งที่เราจะเปลี่ยน ก็คือตรงนี้

01:14:26.126 --> 01:14:32.359
ชื่อตรง pygame window นี่ ก็จะกลายเป็นชื่อเกมของเรานะคะ

01:14:32.974 --> 01:14:44.162
คำสั่งที่จะใช้เป็น pygame.display.set_caption แล้วก็ตามด้วยข้อความนะคะ

01:14:45.560 --> 01:14:48.841
ตัวนี้ เดี๋ยวย่อลงก่อน

01:15:03.273 --> 01:15:07.615
อันนี้ ๆ ตั้งชื่อว่า Fish Game นะคะ

01:15:08.007 --> 01:15:12.628
แต่เด็ก ๆ ให้นึกถึงนะ ตรงชื่อตรงนี้ ก็คือชื่อเกมของตัวเองน่ะ

01:15:12.628 --> 01:15:15.298
ตัวเองจะตั้งชื่อเกมว่าอะไร

01:15:26.541 --> 01:15:32.154
อันนี้ วันนี้ชื่อเกมเราจะชื่อ... เราจะตั้งชื่อมันว่า Tiggy Game นะครับ

01:15:32.154 --> 01:15:34.000
Tiggy ที่แปลว่าเสือ

01:15:37.971 --> 01:15:41.365
เสือน้อย เสือน้อย เกมเสือน้อยนะครับ

01:15:42.204 --> 01:15:45.430
ของเด็ก ๆ จะตั้งชื่ออะไร แล้วค่อยมาเปลี่ยนก็ได้

01:15:45.430 --> 01:15:49.768
หรือจะเอาตามที่แม่ตั้งก่อนก็ได้นะ โอเคไหมนะคะ

01:15:50.104 --> 01:15:57.357
ตัวนี้เราสามารถมาเปลี่ยนชื่อทีหลังได้ เราก็แค่มาพิมพ์ตรงที่มันมีเครื่องหมายคำพูดนี่

01:15:57.357 --> 01:16:01.930
ตรงนี้มันก็จะเปลี่ยนตามที่เราเปลี่ยน โอเคนะ เพราะฉะนั้น

01:16:26.543 --> 01:16:34.599
เราก็จะไปต่อที่บรรทัดที่ต่อจาก screen นะคะเด็ก ๆ ก็คือบรรทัดที่ 7

01:16:35.550 --> 01:16:38.206
พิมพ์ pygame

01:16:39.493 --> 01:16:45.609
pygame Enter .dispaly เหมือนกัน d

01:16:46.224 --> 01:16:50.140
เห็นไหมคะ เลือก display นะคะเด็ก ๆ จะได้พิมพ์ไม่ผิด

01:16:51.315 --> 01:16:54.179
.set set เหมือนกันค่ะ

01:16:57.088 --> 01:17:10.845
แต่เปลี่ยนจาก set_mode เป็น set caption c-a-p-t-i-o-n แล้วก็ใส่วงเล็บ

01:17:11.740 --> 01:17:15.828
เครื่องหมายคำพูดค่ะ เพราะว่าเป็นข้อความ

01:17:16.275 --> 01:17:22.903
แล้วก็ตามด้วยชื่อ ชื่อเกมที่เราจะต้องการ ให้มันแสดงตรงหน้าจอนะคะ

01:17:23.183 --> 01:17:31.390
ซึ่งในที่นี้แม่ตั้งชื่อมันว่า Tigger เอ้ย Tiggy Tiggy Game

01:17:33.012 --> 01:17:39.323
เขาจะตั้งชื่อนี้ ใครจะทำไม เกมเสือน้อยนั่นเองนะครับ

01:17:39.323 --> 01:17:45.673
แปลเป็นไทย Tiggy แปลว่าเสือน้อย มาจาก Tiger นั่นเองนะคะ

01:17:47.910 --> 01:17:57.238
อยากรู้ เปลี่ยนไหม กดอะไร Build Ctrl + B เสมอ กด Ctrl แล้วก็ตามด้วย B นะคะ

01:17:58.301 --> 01:18:02.263
ชื่อตรงนี้ก็จะเปลี่ยนเป็นเห็นไหมคะ

01:18:02.766 --> 01:18:07.897
Tigger Game เอ้ย Tiggy Game เหมือนกันแล้ว เห็นหรือเปล่า เห็นหรือเปล่า

01:18:07.897 --> 01:18:11.307
ไอ้ตัวรูปตรงนี้ก็เปลี่ยนได้นะเด็ก ๆ

01:18:12.929 --> 01:18:21.248
icon นี่เปลี่ยนได้ มีรูปหรือเปล่า ใครมีรูปไว้แล้ว หารูป icon มาใส่ได้นะครับ

01:18:24.493 --> 01:18:28.125
ใครยังไม่เปลี่ยน ชื่อยังไม่เปลี่ยน ดู ๆ ดูตรงนี้

01:18:28.461 --> 01:18:32.226
ชื่อตรงกับในวงเล็บที่เราเขียนไว้ไหม

01:18:37.708 --> 01:18:40.382
เห็นหรือเปล่า เห็นหรือเปล่า เปลี่ยนหรือยังครับ

01:18:44.354 --> 01:18:46.045
เห็นหรือเปล่าครับ เห็นหรือเปล่าครับ เห็นหรือเปล่าครับ

01:19:33.025 --> 01:19:35.025
นี่เป็นอย่างนี้

01:20:29.776 --> 01:20:36.187
จะเปลี่ยน icon หรือเปล่า ถ้าเปลี่ยน เด็ก ๆ ต้องไปหารูป icon ก่อน

01:20:36.970 --> 01:20:46.564
เปิด... เปิด Google แล้วก็พิมพ์คำว่า “icon" นะคะ

01:20:47.123 --> 01:20:54.621
เวลาจะเอาของเขามาใช้ เราจะต้องยึดหลักว่า ต้องเป็นของที่เขาให้ใช้ฟรี

01:20:54.957 --> 01:21:03.359
ต้องเป็น free download เท่านั้น d-o-w-n-l-o-a-d

01:21:03.751 --> 01:21:09.555
ให้ใช้คำว่า "free download" แล้วก็ตามด้วย icon i-c-o-n

01:21:10.114 --> 01:21:16.226
ใส่เครื่องหมายบวก เพื่อจะระบุภาพ icon ที่เราต้องการ เช่นภาพ Tiger

01:21:17.680 --> 01:21:23.491
Tiggy หรือ Tiggy อะไรก็แล้วแต่

01:21:28.416 --> 01:21:34.695
มันก็จะแสดงโลโก้พวกนี้ขึ้นมานะเด็ก ๆ icon ขึ้นมา

01:21:44.204 --> 01:21:52.247
อยากได้เสือน่ะ ของเราเป็น... เราจะทำเกมเสือ เราก็เลยใช้คำว่า "Tiger" นี่เห็นไหม

01:21:53.030 --> 01:21:55.702
เราได้แล้วน่ารักมุ้งมิ้ง

01:21:56.989 --> 01:21:59.179
เอาแค่หน้าน้องก็พอ

01:22:02.871 --> 01:22:05.078
หรือจะเอาทั้งตัวก็ได้นะครับ

01:22:08.378 --> 01:22:16.199
อย่าลืมว่ามันต้องดาวน์โหลดได้ฟรีนะเด็ก ๆ ไม่ฟรีไม่เอานะ

01:22:38.382 --> 01:22:47.017
เอาไอ้หน้ามีกากบาทนี้เหรอ เห็นไหม นี่ไง ๆ มันก็จะขึ้น Free animal icon เข้าชมเลยครับ

01:22:48.024 --> 01:22:50.620
อย่างนี้ให้ฟรีแล้ว

01:22:54.256 --> 01:22:56.494
เห็นไหม Free Pic ใช่แล้ว

01:22:59.626 --> 01:23:01.049
เลือก Free Download

01:23:04.293 --> 01:23:06.298
ได้แล้วนะครับ

01:23:09.039 --> 01:23:15.578
ไฟล์ไอคอนที่เราดาวน์โหลดมาได้ ให้เอาไปเก็บไว้ในโฟลเดอร์ที่เราสร้างไว้น่ะลูก

01:23:15.578 --> 01:23:17.553
จำได้ไหม

01:23:17.889 --> 01:23:24.881
นี่นะ Test โปรแกรมเราอยู่ที่ Drive C: นะ จำไว้นะ

01:23:27.007 --> 01:23:29.711
เพราะฉะนั้น ตัวดาวน์โหลดอยู่ไหนล่ะ

01:23:32.060 --> 01:23:35.196
อยู่ไหน Download

01:23:36.986 --> 01:23:40.415
ต่อไป เอาไว้ที่ C:

01:23:46.121 --> 01:23:50.758
เกมเขาอยู่ไหนน่ะ Game Image น่ะค่ะ จะเอาไปใส่ในนี้

01:25:29.423 --> 01:25:32.100
โอเค

01:25:35.009 --> 01:25:37.335
ตอนนี้เราจะ

01:25:38.733 --> 01:25:45.433
เปลี่ยน icon ให้มันนะครับ คำสั่งที่จะใช้นะคะ ก็คือคำสั่ง...

01:25:47.391 --> 01:25:52.417
ก่อนอื่นเราจะต้องประกาศตัวแปร icon ก่อนนะคะ

01:25:52.753 --> 01:26:01.909
แล้วก็ตามด้วยคำสั่ง pygame.image.load เพื่อจะไปโหลดไฟล์นั้นมา

01:26:04.650 --> 01:26:08.566
นะคะ แล้วก็ตามด้วยชื่อไฟล์ แล้วก็นามสกุลมัน

01:26:08.958 --> 01:26:13.445
ทีนี้เด็ก ๆ จะรู้ได้อย่างไร ว่าไฟล์ตัวเองนามสกุลอะไร วิธีการ

01:26:13.892 --> 01:26:21.206
คลิกไปที่ไฟล์ที่เราไปโหลดมาอยู่ไหนเอ่ย เก็บไว้ไหน ไว้ในโฟลเดอร์ตัวเองใช่ไหมคะ

01:26:21.206 --> 01:26:22.696
ที่สอนไว้

01:26:24.542 --> 01:26:27.684
คลิกขวาแล้วเลือก Properties

01:26:28.411 --> 01:26:35.544
เห็นไหมคะ นามสกุลอยู่ตรงนี้ Type of file เช่น png เพราะฉะนั้น นามสกุล

01:26:35.544 --> 01:26:40.287
แต่ละคนที่โหลดมา บางคนอาจจะเป็น jpg นึกออกนะ

01:26:40.287 --> 01:26:46.237
เพราะฉะนั้น เช็กนามสกุลโดยการคลิกที่ ไฟล์ Icon ที่เราไปโหลดมา

01:26:46.237 --> 01:26:49.207
คลิกขวาแล้วเลือกคำว่า "Poperties" นะลูก

01:26:49.207 --> 01:26:54.429
แล้วให้ดูที่ Type of file นะคะ

01:26:55.883 --> 01:27:03.368
มันจะมีชื่อ... เอ้ย ไม่ใช่ชื่อ มันจะมีนามสกุลของไฟล์ขึ้นมานะคะ

01:27:04.151 --> 01:27:14.269
png file jpeg file jpg file อย่างนี้นะคะ เด็ก ๆ ก็ก๊อบปี้ไอ้ตัวนี้มันมาได้เลยนะคะ

01:27:19.807 --> 01:27:26.635
ชื่อไฟล์แล้วก็ตามด้วย พอประกาศตัวแปร เพื่อจะไปโหลดไฟล์มาเสร็จนะคะ

01:27:26.915 --> 01:27:30.287
แล้วเราก็มาเรียกใช้

01:27:36.216 --> 01:27:45.783
ก็คือคำสั่ง pygame.display.set_icon แล้วก็ตามด้วยตัวแปรที่เราประกาศไป

01:27:45.783 --> 01:27:47.907
ก็คือตัวนี้นะคะ

01:27:54.004 --> 01:27:58.040
เพราะฉะนั้น เข้าไปที่...

01:28:22.031 --> 01:28:30.206
ตรงบรรทัดที่ 8 เริ่ม ใครยังไม่ได้ icon อีก ยกมือ

01:28:31.045 --> 01:28:33.224
ได้หมดหรือยัง ใครยังไม่ได้

01:28:35.797 --> 01:28:40.357
ได้แล้วนะ คำสั่งแรกประกาศตัวแปรค่ะ

01:28:40.749 --> 01:28:46.983
icon ประกาศตัวแปรชื่อ icon =

01:28:48.325 --> 01:28:51.305
ตามด้วยคำสั่งนะคะ

01:28:57.067 --> 01:29:02.022
pygame.image

01:29:06.217 --> 01:29:11.796
i-m-a-g-e

01:29:12.859 --> 01:29:14.571
.load

01:29:17.424 --> 01:29:19.078
l-o-a-d

01:29:19.749 --> 01:29:21.760
แล้วก็ตามด้วยเครื่องหมายวงเล็บ

01:29:23.997 --> 01:29:26.598
pygame.image.load

01:29:26.990 --> 01:29:32.121
ชื่อไฟล์ใช่ไหม tiger

01:29:33.967 --> 01:29:41.772
ชื่อไฟล์ไอคอนที่เราไปโหลดมานะคะ ตามด้วยนามสกุล ก็คือ .png

01:29:46.918 --> 01:29:51.245
โหลดแล้ว โหลดแล้วก็เรียก

01:29:53.203 --> 01:29:55.755
ตามด้วยคำสั่ง pygame อีก

01:29:57.881 --> 01:30:01.040
.display

01:30:02.494 --> 01:30:05.149
display นะคะ .set

01:30:07.946 --> 01:30:15.013
แต่ไม่ใช่ set_caption แล้วก็ไม่ใช่ set_mode แต่จะเป็น set_icon ค่ะ

01:30:19.656 --> 01:30:26.645
แล้วก็ตามด้วยวงเล็บ ในวงเล็บก็คือชื่อของ icon ที่เรา...

01:30:26.645 --> 01:30:30.656
ชื่อตัวแปร icon นั่นเองนะคะ Enter

01:30:31.998 --> 01:30:33.922
กด Ctrl + B

01:30:33.922 --> 01:30:39.775
ให้เครื่องมันตรวจผิด เดี๋ยวมัน Error มันจะขึ้นเอง นั่นไง C:

01:30:41.453 --> 01:30:47.518
บรรทัดที่ 8 in &lt;module&gt; บอกว่าตัวนี้

01:30:56.132 --> 01:30:59.039
มันบอกว่าหาไฟล์ไม่เจอ

01:31:00.381 --> 01:31:05.526
เดี๋ยวตัวเองตั้งชื่อผิดหรือ ย้อนกลับไปดู

01:31:07.260 --> 01:31:09.640
เอ้ย ถูกแล้ว tiger

01:31:28.505 --> 01:31:30.015
Ctrl + B ใหม่

01:31:34.188 --> 01:31:45.731
name ‘tiger’ is not defined. Did you โอ๊ะโอ รู้แล้วผิดอะไร ใส่เครื่องหมายคำพูด

01:33:24.318 --> 01:33:28.764
backslash อยู่ไหนนี่ โอเค

01:35:27.468 --> 01:35:30.611
icon icon เด็ก ๆ เอาไว้ไหนครับ

01:35:31.226 --> 01:35:33.035
โฟลเดอร์ตัวเองอยู่ไหน

01:35:34.042 --> 01:35:37.373
เห็นไหม เอาไว้ด้านนอกก่อนนะ

01:35:41.345 --> 01:35:46.321
ตัวนี้คือไฟล์โปรแกรมที่เราเขียนใช่ไหม test นี่

01:35:46.321 --> 01:35:50.890
แล้วส่วน tiger นี่คือชื่อไฟล์ icon เห็นหรือเปล่าครับ

01:35:51.841 --> 01:35:57.031
ใครยังไม่ได้ชื่อกับรูปโลโก้ ยกมือ

01:35:57.870 --> 01:36:00.420
ของใครไม่ขึ้น ยกมือ

01:40:29.272 --> 01:40:36.191
บางคนนะคะ ถ้ามันขึ้นว่า file location อะไรน่ะ หาไม่เจอน่ะ 1.

01:40:36.806 --> 01:40:45.318
รูปอยู่ตำแหน่งไหน นึกออกนะ ให้เรายึดที่ไฟล์โปรแกรมที่เราเก็บ

01:40:46.549 --> 01:40:55.207
เพราะอะไร โปรแกรมเราอยู่ตรงไหนนี่ เวลามันหาน่ะ มันจะไปตามที่โปรแกรมเราอยู่

01:40:55.207 --> 01:41:01.130
นึกออกไหม เพราะฉะนั้น รูปมันจะต้องไปอยู่ในโฟลเดอร์กับโปรแกรมเราอยู่นะคะ

01:41:01.130 --> 01:41:04.837
หลักการง่าย ๆ  ไม่มีอะไรพิสดาร

01:41:05.844 --> 01:41:12.301
ตำแหน่งรูปภาพ ไฟล์รูปภาพ ก็ต้องไปอยู่กับที่ไฟล์โปรแกรมเราอยู่นะลูก

01:42:37.333 --> 01:42:43.452
ทีนี้บางคนนะคะ ชื่อไฟล์ภาพตัวเองน่ะ ตรงนี้

01:42:44.123 --> 01:42:52.205
ตรง image.load แล้วก็ไอ้ tiger.png ไอ้ tiger.png มันคือชื่อไฟล์รูปแม่นะคะ

01:42:53.156 --> 01:42:59.446
ชื่อไฟล์รูปของเด็ก ๆ ชื่ออะไร ต้องเปลี่ยนชื่อเป็นชื่อไฟล์รูปตัวเองนะลูก

01:43:00.285 --> 01:43:06.658
ไปเรียก tiger.png มันก็ไม่เจออยู่แล้ว มันก็ไปหา tiger.png อยู่ไหนล่ะ

01:43:07.105 --> 01:43:10.768
ให้เด็ก ๆ ดูว่าไฟล์ชื่อรูปตัวเองชื่ออะไร

01:51:14.391 --> 01:51:20.003
ขนาดมีเลขบรรทัดยังโค้ดผิดนะคะ ดูเช็กเลข

01:51:20.003 --> 01:51:27.010
แม่ก็อุตส่าห์บอกนะ ให้ไล่ไปตามเลขบรรทัด พยายาม จะได้ดูง่าย ๆ

01:51:27.010 --> 01:51:33.895
ดูเลขบรรทัดใช่ไหม แล้วก็มาดูข้อความ ดูคำสั่งที่อยู่ในบรรทัดนั้นด้วย

01:51:33.895 --> 01:51:40.751
พยายามบอกว่าตอนนี้เด็ก ๆ จะอยู่บรรทัดไหน เพื่อเวลาถ้าผิดมาเห็นไหมจะได้เช็กได้ว่า

01:51:40.751 --> 01:51:49.478
ตรงกับโค้ดที่เราเขียนไหมนะคะ เมื่อกี้เลขบรรทัดนี้อยู่

01:51:50.037 --> 01:52:00.651
แต่ตัวคำสั่งตรงท่อนนี้ผิดหมดเลยนะคะ ดันไปเอาคำสั่งจากท่อนนี้มาใส่บรรทัดนี้

01:52:00.651 --> 01:52:04.516
มันก็เลยผิด ๆ ๆ

01:54:22.014 --> 01:54:30.699
เดี๋ยวสัปดาห์หน้า Part ที่ 2 อย่างนั้นสัปดาห์นี้เราจะพอแค่นี้นะคะ

01:54:31.035 --> 01:54:39.642
แม่มีธุระไปทำต่อ เราได้หน้าจอแล้วนะ สัปดาห์หน้า เราจะ...

01:54:42.327 --> 01:54:49.893
คือ หน้าจอดำ ๆ นี่ มันก็เปลี่ยนสีได้ แต่เรา... เราไม่ใช้สีนะ

01:54:49.893 --> 01:54:54.605
เราจะไปหารูปใช่ไหมคะ เด็ก ๆ หารูปไว้แล้วหรือยัง

01:54:55.220 --> 01:55:00.972
รูป Background จอที่จะใช้มาลงนะคะ เอาไว้ต่อสัปดาห์หน้า

01:55:01.252 --> 01:55:05.382
คือ จอดำ ๆ นี่มันเปลี่ยนสีได้นะ

01:55:05.382 --> 01:55:10.319
แต่วันนี้ยังไม่พาทำ เดี๋ยวสัปดาห์หน้าค่อยมาทำต่อ เดี๋ยวเราจะพาลองเปลี่ยนสีก่อน

01:55:10.319 --> 01:55:13.947
แล้วค่อยเปลี่ยนเป็นรูปใส่นะ เอาไว้สัปดาห์หน้านะคะ

01:55:14.227 --> 01:55:16.549
ใครที่ยังไม่ได้หารูป

01:55:17.612 --> 01:55:22.826
ท้ายชั่วโมงว่างหารูปไว้นะคะ แล้วเอาไฟล์รูปไปไว้ที่ไหนจำได้ไหม

01:55:22.826 --> 01:55:27.624
ต้องเอามาไว้ที่โฟลเดอร์ ที่เราเขียนโปรแกรมนะเด็ก ๆ

01:55:27.960 --> 01:55:32.442
ไม่อย่างนั้นเดี๋ยวสัปดาห์หน้า ไฟล์รูปอยู่อีกโฟลเดอร์หนึ่ง

01:55:32.442 --> 01:55:37.063
พอเขียนโปรแกรม สั่งให้ไปเอารูปมาใช้ ก็จะหาไม่เจอ เพราะฉะนั้น

01:55:37.343 --> 01:55:41.100
โยกรูปมาใส่ไว้ในโฟลเดอร์ตัวเองด้วยนะคะ

01:55:41.100 --> 01:55:44.361
โฟลเดอร์ที่เราเขียนโปรแกรมอยู่ที่ไหน จำได้หรือเปล่าคะ

01:55:47.326 --> 01:55:54.557
Drive อะไร Drive C: นะคะเด็ก ๆ นี่ แล้วก็ชื่อโฟลเดอร์ของเราใช่ไหม

01:55:55.004 --> 01:56:02.744
เพราะฉะนั้น รูปภาพที่เราหาไว้นะคะ ต้องเอามาใส่ในโฟลเดอร์ที่อยู่

01:56:03.415 --> 01:56:07.252
โฟลเดอร์ที่เราเขียนโปรแกรม ที่เราสร้างไว้ที่ Drive C: นะเด็ก ๆ นะ

01:56:11.391 --> 01:56:14.258
เอามาไว้ที่ Drive C: นะลูกนะ

01:56:16.719 --> 01:56:20.250
ให้ดูง่าย ๆ ไฟล์ Test เรา

01:56:20.697 --> 01:56:24.264
ชื่อไฟล์โปรแกรมเราอยู่ที่ไหนน่ะ รูปภาพอยู่ด้วยกันน่ะแหละ

01:56:24.264 --> 01:56:29.392
เอามาอยู่ด้วยกันโอเคนะ มันจะได้หากันเจอนะคะ

01:56:30.000 --> 01:56:34.576
โอเคค่ะ อย่างนั้นสัปดาห์นี้จะพอแค่นี้ค่ะ

01:56:34.576 --> 01:56:42.733
สวัสดีค่ะ ขอบคุณพี่ล่ามนะคะ เจอกันสัปดาห์หน้าค่ะ ขอบคุณค่ะ