--- title: การเขียนโปรแกรมภาษาคอมพิวเตอร์ subtitle: date: วันอังคารที่ 10 มกราคม 2566 เวลา 08.50 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (อาจารย์สุธิรา) ต้องมารันอยู่นี่ก็เลยเสียเวลา สัปดาห์ก่อนเรามี Background แล้ว มี ฺBackground แล้ว มีตัวแล้วนะอันดับแรกเด็ก ๆ ต้องเช็กก่อน เช็กตำแหน่งแรกก่อนนะคะ ไปทีละบรรทัด เปิดไฟลนะ ที่เราทำสัปดาห์ที่แล้วหนก่อนน่ะขึ้นมาก่อนเราทำ class ไว้นี่ เด็ก ๆ มี class แล้วก็ชื่อตัวเกมเราแล้วใช่ไหมคะ ตอนนี้ class เด็ก ๆ ถึงบรรทัดไหนแล้ว โหลดเข้ามาหรือยัง ดูนะคะ ว่าเราจะต้องมีส่วนของ class ที่เป็นsprites ก็คือเราจะนำภาพต่อเนื่องเข้ามาใช่ไหมคะเด็ก ๆ โหลดภาพเข้ามาแล้ว เสร็จแล้วสร้างส่วนสร้างภาพเคลื่อนไหว ใครยังไม่มีส่วนนี้ มีหรือยังคะ ใครยังไม่มียกมือนะถ้ามีแล้ว ส่วนต่อมาที่เด็ก ๆ จะต้องมีนะคะ ก็คือส่วนของฟังกำ์ชัน Run กับฟังก์ชันอัปเดตมีหรือยังคะเดี๋ยวขยายขนาดเพิ่ม นี่ 2 ฟังก์ชันนี้ ใครยังไม่มีมีแล้วนะ เพราะหนก่อนเราน่าจะทำไปถึงประมาณนี้ โอเคไหม ถ้าเราได้ส่วนนี้แล้ว สิ่งที่ต้องมาทำนะคะ ส่วนของ sprite group การจัดกลุ่มให้มตรงส่วนนี้เห็นไหมคะ Creat sprite and group น่ะ มีแล้วนะคะ โอเค ส่วนต่อมาที่จะเช็กนะคะ จะค่อย ๆ เช็กไป ก็็คือส่วนของการเรียกไอ้ตัว moving Sprite door กับ moving sprite update มาใช้โอเคไหม ใครยังไม่มีตรงนี้ น่าจะผิด โอเคหรือยัง ยังไม่มีบาสต้องคีย์เพิ่มนะคะ เพราะมันเป็นส่วนของการแสดงผล มันต้องเรียกมันมาใช้งาน ต้องคีย์ 2 บรรทัดนี้เพิ่ม สังเกตนะเรามี # คำว่าการแสดงผลไว้เห็นไหมคะว่าเวลาเราจะบอกว่าไปแก้ไขแต่ละส่วน เราก็จะเห็นว่ามันอยู่ตรงในส่วนของอะไรในโปรแกรมเรา เหมือน moving กับ moving sprites update จะอยู่ในส่วนของ# ที่ชื่อว่าการแสดงผล สังเกตว่าทุกครั้งเวลาเขียนจะบอกว่าให้ใส่แฮชแท็กบอกตรงส่วนนี้ เราเอามันไว้ทำอะไรนะคะ เราจะได้รู้ตำแหน่งเวลาแก้ เราจะได้เช็กได้ว่ามันผิดตรงไหน ตำแหน่งไหน พอไล่แก้มันก็จะหาเจอ เมื่อคืนอาจจะเป็นเครื่องที่บ้าน เดี่ยวจะก๊อบฯ จะ Copy แล้วไปลองแก้ที่บ้านดู รูป Background มันไม่ขึ้นเครื่องที่บ้าน ใช้ไม่ได้เลย โอเคนะ ถ้าใครมีครบนะคะ ทุกส่วนเหมือนที่กล่าวมาแล้วลองกด Ctrl + B 1 ครั้งก่อน จะดูว่า Run แล้วเป็นอย่างไร แล้วมันไป Error ตรงไหน ในเด็ก ๆ กด ถ้าใครที่ขึ้นนะ มันจะต้องขึ้นฉากที่เราทำใช่ไหมคะ แล้วก็ขึ้นตัวอันนี้ ไปทำสัดส่วนมันบิดเบี้ยวไปหน่อย เดี๋ยวขยายให้ใหม่ก็ได้ เป็นแมวผอม ๆ ถ้าใครทำได้เห็นไหม 1. คือ เราทำให้ฉากเลื่อนใช่ไหมคะ แล้วพอเรากดน้องแมว น้องแมวเรานะคะ น้องก็เดินเห็นไหม เพราะเราเลือกภาพที่เป็น Sprite ก็คือมีภาพต่อเนื่องนั่นเองนะคะ น้องก็จะเดินเห็นไหมคะ จะค่อย ๆ เดิน ความเร็วในการเดินก็ขึ้นอยู่กับ การตั้งค่าเวลานะคะ เดี๋ยวให้บอกว่าตรงไหนที่เร็วมากเร็วน้อย ใครไม่เป็นอย่างนี้ ยกมือ ใครยังไม่มีฉากขึ้นมา ไม่มีตัวการ์ตูนขึ้นมาเลยมันน่าจะมี Error เตือนด้วยถ้าใครไม่ผ่านน่ะ ของมิ่ง นี่ มิ่งต้องใส่ไอ้ตัว Bgx บรรทัดที่ 75 เห็นไหม เข้าไปก่อน ก่อนหน้ามันนะ แล้วก็ใส่น่าจะเพิ่มบรรทัดที่ 2 เพิ่มมาเห็นไหม มิ่งจะเห็นตรงส่วนที่เราแฮชแท็กว่าเป็นทำ # ว่าเป็น Sprite Group น่ะ ต่อจากตัวนี้ นึกออกไหมลูก เห็นหรือเปล่า วางตำแหน่งผิด ทำแถบครอบตั้งนี่ จนถึงไอ้นี่เลยลูก ทำอย่างนี้กด Ctrl + X เพื่อตัด กดปุ่ม Ctrl แล้วก็ตัว X เห็นไหม แล้วก็เอามาไว้ต่อกับตรงนี้นี้ Enter แล้วก็ Ctrl + V Ctrl + V ทุกครั้งที่พอแก้ปุ๊บ กด Ctrl + B ทุกครั้ง โอเคหรือยัง พอย้ายแล้วกด Ctrl + B ดู กด Ctrl + B ดุ ทุกครั้งนะคะ พอแก้โค้ดน่ะ เด็ก ๆ system หรือมี่ sys ลูก sys เห็นหรือเปล่า ดูดี ๆ นะ เห็นไหม import คำสั่งมี Import pygame import sys แล้วมัน มันไปอยู่ตรงตำแหน่ง system มันจะมีตัวช่วยขึ้นมานะ พอไปกดมันก็เลยขึ้น มันจะผิดนะคะ ต่อไปตำแหน่งนี้เอาภาพเข้าไป ทำเหมือนเดิม Ctrl + X กับ...Ctrl + V โอเค Enter ลงไป ctrl +B ใหม่ทุกครั้ง พอแก้โค้ดคำสั่งต้องผิดสัก 1 ตัว sys ทีนี้ดูนะมิ่งนะ pygame.init ตัว Clock หรือเปล่าที่ผิด เห็นไหม pygame.time.Clock Clock ตัวใหญ่นะลูก ตัว CClock ตัวนี้ที่เป็นตัวใหญ่หมายถึงที่เป็น Libary ที่เรียกใช้ มากี้ดูนะคะ เวลา Code มัน Error มันจะชี้ตำแหน่งเห็นไหม เห็นไหม ไม่เหมือนตรงไหนดูสิ sprite .Spriteอันแรก Sprite ตัวเล็กใช่ไหมคะ.sprite ตัวที่ 2 sprites ตัวแรกเป็นตัวใหญ่ เห็นไหม แก้แค่นั้นล่ะ s ตัวที่ 2 ต้องเป็น S ตัวใหญ่ลูกเห็นไหมต่างกันนะ มันเป็นคนละตัวนะคะ มันจะเป็นตัวแปรคนละตัวเลย Sprite ตัวแรก ใช้ s ตัวเล็กเห็นไหมคะ ตัวที่ 2 S ตัวใหญ่กว่าเห็นไหม นี่คือ... เสร็จแล้วกด Ctrl + B ทุกครั้งนะคะ ตรงไหนขึ้น Error จะได้ไปดูเด็ก ๆ เวลา Error แล้วมันขึ้นว่า use tag อะไรอย่างนี้นะคะ แสดงว่าตรงตำแหน่งนี้เด็ก ๆ อาจจะใช้วิธีการกด Spacebar ไม่ได้กด Tab ก็คือ เด็ก ๆ ดูนะคะ ไปที่ท้ายบรรทัดก่อนหน้า line ที่ error สมมติมันขึ้น Error line 9 ให้เด็ก ๆ ไปที่ Line ที่ 8 ไปบรรทัดที่อยู่บนบรทัดที่ขึ้น Error แล้วกด Delete 1 ครั้ง เพื่อให้บรรทัดนั้นน่ะ เห็นไหม กดจนให้ตัวข้อความน่ะมันเข้ามาชิดตัวอักษรตัวสุดท้ายของบรรทัดนั้นเลย แล้วกด Enter ลงไปเห็นไหมมันจะจัด Tab อัตโนมัตินะคะ ถ้าใครขึ้นว่า เดี๋ยว ๆ ทำให้ดู สมมติ ๆ ดูนะ ถ้าเด็ก ๆ เคาะ Space bar มันจะพอกด Ctrl + B มันจะขึ้นคำว่า "Use of Tab and Space" ปุีบนี้ นั่นหมายถึงว่าตรงบรทัดนี้ เด็ก ๆ ไปใช้กด Spacebar แทนการกดกด Tab นึกออกนะ วิธีแก้ก็เหมือนที่บอก ก็คือนี่สังเกตได้อย่างไร ดูที่ตัว ตัวนี้ เห็นไหมคะ พอทำ Tab แล้วมันจะเป็นจุด ๆ แต่ถ้าเป็น Tab บรรทัดข้างบนนะคะ ถ้าเป็น Tab มันจะเป็นขีด เห็นไหม มันจะเป็นขีด มันจะไม่เป็นจุดนะคะ ทีนี้บางคน บางคนดู ดูในหน้าจอเพราะว่าต้องดูพี่ล่ามด้วยแล้วตัวมันเล็ก ดูไม่ออก วิธีขยายขนาด ก็คือกด Ctrl กับเครื่องหมายบวก เห็นไหมตัว font มันก็จะใหญ่ขึ้นใช่ไหมคะ มันก็จะทำให้เห็นได้ชัด เพราะฉะนั้น ถ้าของใครที่พอขึ้น Error usr of tag เหมือนวิธีที่บอกไปเมื่อกี้นะคะ ลบแล้วกด Enter ลงมาเพราะฉะนั้น ตัวนี้น่าจะแก้เองได้แล้วนะคะ ถ้า Error แบบนี้นะคะ ทีละคน ใจเย็น ๆ นะเวลาแก้ Code ต้องใจเย็น ๆ เพราะมันหลายเครื่อง บางคนนี่ พอใช้คำสั่งนี้มิ่งดูนะคะ บางทีนี่ไฟล์รูปที่เราเอามานี่นะคะ เด็ก ๆ ลองเปิดก้วยโปรแกรมที่ชื่อว่า Paint open with paint ปุ๊บ นี่ ตัวมันใหญ่ใช่ไหม ตัวน้องใหญ่นะคะ วิธีที่เราจะลดขนาดเพื่อมห้มันเท่ากัน ดูวิธีนะเด็ก ก็ไปแก้ทุกตัวเลยนะคะ ก็จะได้ไม่ต้องไปแก้ตรงโค้ดนึกออกไหม ไปแก้ที่ขนาดรูปเราดีกว่านะคะ ของเด็ก ๆ เดี๋ยวจะงง ก็คือเลือก เห็นไหมคะ Resize เห็นไหมตรงเปอร์เซ็นต์น่ะค่ะ เราก็ลดลงทีละครึ่ง 50 เปอร์เซ็นต์พอไหม คลิก OK เห็นไหมคะ นึกออกนะ เพราะฉะนั้นเปิดไอ้ File ตัวไอ้นี่เราทุกอันแล้วก็รี Size แต่อย่าลืม Save นะ พอ Resize เสร็จน่ะ นึกออกนะคะ มิ่งเข้าใจแล้วนะ ทีนี้ พอsave ไป บางคนมีพื้นหลังเลยนะเด็ก ๆ เอาพื้นหลังออกทำอย่างไรคะ จำได้ไหมใน Google นะคะ เอาพื้นหลังออก ชื่อนี้ เอาไว้สอนทีหลังเดี๋ยวจะเสียเวลา มิ่งดูเวลาแก้ให้พิมพ์ตรงนี้เพิ่ม เห็นไหมคะ ตรง sprite append นี่ เพิ่มประโยคนี้สเกลเข้าไปก่อน อันก่อนแล้วก็อบจะง่ายกว่า พิมพ์อันนี้ให้เสร็จก่อนแล้วจะบอกว่าแก้ตรงไหนอีก จุดหนึ่งนะคะ ที่เด็ก ๆ น่าจะผิดเหมือนกันหมดเลยก็คือคำสั่งนี้ค่ะ อยู่ไหนน่ะ นี่ ๆ moving.sprtie ใช่ไหม ลบออก 1 ครั้ง เห็นไหมนี่ sprite มันมี 2 นี่ ลบออกอันหนึ่ง ลบ 1 อัน ลบ... ไม่ ๆ ๆ ลบตัวที่ 2 ออกนะคะ ตัวหน้าไม่ต้องลบนะ เพราะมันเป็นของตัวแรก ลบตัวที่ 2 ออก โอเค แล้วก็กด Ctrl + B แก้ด้วย แก้ตรงนี้ ใช่ไหม นี่โอเค แล้วก็ดูตรงชื่อนะคะ ชื่อ cat นี่มันเป็นตัวเกมแม่นะคะ ตัวเกมเด็ก ๆ ชื่ออะไรใส่ชื่อตัวเอง ไม่ใช่มาใส่ชื่อ Cat เหมือนของเรานะ โอเค ใครแก้แล้วลองกด Ctrl + B ใหม่ กด Ctrl + B บรรทัดไหนอีก ไหนLine 77 sprite และอีกจุดหนึ่งที่เด็ก ๆ จะผิดกันบ่อย อีกจุดหนึ่งจะอยู่ตรงบรรทัดที่ล่าง ๆ หน่อยตรงที่บอกว่า คำสั่งที่บอกว่า moving.sprite.update ตัวเลขคือค่าทศนิยม 0. ไม่ใส่ 0. แล้วก็ , นึกออกไหม เป็นค่าตัวเลขนะคะ เป็น 0.30 ไม่ใช่ 0,30 นะคะ มันเป็น 0. นะคะ เป็นตัวเลขแก้ แก้ , เอา , ออกใส่ 0.25 หรือ 30 ก็ได้ ก็คือค่านี้ ก้คือเป้นให้ไอ้ตัเคลื่อนไหมมันอัปเดน่ะค่ะ ระยะเวลาที่เราตั้งไว้นั่นเองนะคะ ใครแก้แล้วกด Ctrl + B บอกแล้วใครแก้แล้วกด Ctrl + B เลยนะคะ ไล่แก้ไปทีละบรรทัด นิดเดียวเดี๋ยวทีนี้อ๋อ ตัวนี้ไม่ต้อง เราเรียกมาแล้ว ลบออกได้เลยบรรทัดนี้ ลบออกบางคนจะมีบรรทัดหนึ่งจะมีไปเรียกตัวภาพมาใช้นะ แก้เสร็จกด Ctrl + B ใหม่ลูก ติดอยู่บรรทัดที่เท่าไร 79 clock.tick พิมพ์ผิดนี่ C เห็นไหมคะ C-l-o-c-k ลูก c-l-o-c-k เจ้าพิมพ์เป็น colck เ๙้กด้วย เช็กคำผิดด้วย เห็นไหมคะ สังเกตเวลา error มันก็จะบอกตำแหน่ง ให้ดูบรรทัดนั้นแล้วก็ดูที่ข้อความ c ก่อน นี่ไงกด spaceBar อีกแล้ว เดี๋ยวก็ กด spacebar นะ ไปกด Tab ต้องกด Tab เห็นไหม Ctrl + B ใหม่ อีกบรทัดหนึ่งนี้ คำสั่งนี้ผิดแน่นอนไม่ต้องบอกก็รู้ มันคือ pygame ไม่ใช่ sprites game py p-u-y เอา s ออก มี s เห็นไหม ลบตัว s ลบออกลูก นี่ ๆ เห็นหรือเปล่าข้างหน้า ลบ s ออก ลบตัว s ออก ลบออกค่ะ โอเค Ctrl + B ใหม่ นั่นไง ลองกดแป้นไม่เคลื่อน ไม่เคลื่อนเพราะอะไร นี่ pygame.update เรามีแล้ว ซ้ำเอาออก ลบออกได้ บรรทัดนี้ ลบออกเลยค่ะ โอเค pygame.filpไม่รู้ตัวนี้ error บรรทัดไหน 65 นี่ไง ชื่อ บีไม่ใช่หรือ แก้ชื่อนะคะ คือในโค้ดตัวอย่าง cat ก็ cat ตามเลย ต้องจำด้วย ชื่อชื่อตัวการ์ตูนตัวเองชื่ออะไร ใช่ ๆ กด Ctrl + B ใหม่สิ แล้วกดปุ่มลูกศร นี่ไง ทีนี้รูปตัวเอง เอามากี่รูป เพราะมันไม่ขยับเลยใช่ไหม รูปมันไม่ขยับ เรามาดูที่ sprite นี่ นกตัวที่ 1 ตัวที่สอง ตัวที่ 3 ตัวที่ 4 เปิดไฟล์รูปให้ดู แล้วทำไม size ไม่เท่กันนะ นกตัวที่ 1 ตัวใหญ่ ทำไมตัวที่ 2 ทำไมตัวเล็ก ปรับไซซ์ไม่เท่าหรือ กุ้งลองเอาชื่อนี้ นี่ ๆ ชื่อที่เป็นภาษาอังกฤษ แก้จากนกเป็น bird ไหม แก้ชื่อตรงนี้ชื่อภาษาไทย เป็นชื่อภาษาอังกฤษเพราะเพราะเรามี 2 ไฟล์ใช่ไหม ลองเปลี่ยนเป็น B-i-rr-d แก้ทุกอันเลยลูกแล้วลอง run ใหม่นะ ของใครยังไม่ขึ้น ยังไม่ขึ้น มิ่งได้หรือยัง ติดไหน ติดบรรทัดไหน อ๋อ มิ่งก็อบมาหมดแล้วใช่ไหม อีกบรรทัดข้างหลัง มิ่งดู เพิ่มขนาด ลองก่อนได้นะนี่ก็คือขนาดรูปที่เราจะเห็นไหม ตรงนี้ ใส่เข้าไปก่อน ตึ้งหนึ่งนะคะ แล้วก็วรรค แล้วก็ใส่ค่าตัวเลขตามนี้ จำนวนวงเล้บปิด ให้ใส่เท่าำนวนตัวหลังนะลูกนะ แล้วก็เหมือนเดิม ก็อบให้ครบ โอเค กด Ctrl + B Run ดู ไปไหนล่ะ error หรือ บรรทัดที่ line 53ทำไมบรรทัดนี้ขึ้น Error self sprite append pygame.image.load เดี๋ยวนะ ขอดูนามสกุลก่อน Properties png ตัวนี้เป็น png แก้นามสกุล P ใช่ไหม ตัว P นามสกุล png เหมือนตัวอย่างน่ะลูก .pn แล้วก็ g นี่ ๆ ทุกอันเลย แก้ทุกอันเลย โอเคline 33 update อ๋อ แสดว่าบรรทัดนี้มิ่งโค้ดผิดใช่ไหมมันขึ้น... กด s ใหม่ลุก วรรค กด S เลือก Speed Speed อ๋อ ตรงนี้ นี่ไง ชื่อฟังก์ชันอัปเดตเห็นไหม เดี๋ยวมิ่งเอาไอ้นี่ขึ้นไปเลย บรรทัดนี้ขึ้นไปเลย Delete เลยลูก กด Delete เลยค่ะ โอเค นั่นไง ได้แล้วเห็นไหมถ้าถูกสีมันก็จะตรง Ctrl + B ใหม่error ด้วย ครบหรือยัง ครบแล้ว while to แก้ตรงนี้เด้อ ถ้ามิ่งผิด เห็นไหม แก้ตรง while to ไล่ไปทีละบรรทัด โอเค ใช่ไหมทีนี้ ทำไมรูปมันเป็นดึ๊ก ๆ ใช่ไหม เรามาดูกันที่ตำแหน่งของภาพตัวที่ 1 เดี๋ยวนะ มันขึ้น Error หรือเปล่า Line 80 ใช้ไม่ได้quick ตัวเล็ก เห็นไหม ใช้ไม่ถูก สังเกตด้วยนะคะ บางทีมันเป็นตัวใหญ่ บางทีมันเป็นตัวเล็ก แก้เลย โอเคใช้ตัวเล็กลูก Ctrl + B ใหม่ ไม่ขึ้น background 18253 มิ่งเปิดโฟลเดอร์ที่เก็บรุปให้ดูด้วย ไหนใครยังไม่ออกอีกเดี๋ยวนะคะ ทีละคนนะคะ ทีละคน ใจเย็นนะคะ เมื่อกี้มีผิด แม็กกี้ดู ตรงเท่ากับ Tool Run Animateกดอันไหนนี่ ไปกดผิดอันหรือเปล่านี่ ถูกแล้ว Run animate และอีกบรรทัดหนึ่งนะคะ ที่จะต้องเพิ่มเข้าไป นี่เห็นไหมคะ ต่อจาก super (X.init () นะคะ เด็ก ๆ จะต้องใส่ self.runanimate = บรรทัดนี้นะคะ ใส่บรรทัดนี้เข้าไป บางคนนี่ ไม่มีบรรทัดนี้เด้อ เพราะว่าเราสร้างฟังก์ชันรันแล้ว แล้วตอนอัปเดต มันไม่ขึ้ก็ไม่ได้เรียกมันใครที่แก้แล้วตัวรูปตัวเองใหญ่นะคะ บอกแล้วว่าให้ไปลดขนาดตัวนี้ใน paint น่ะค่ะ โปรแกรม Paint นะหรือ หรือพิมพ์ตัวนี้ เท pygame spray เข้าไป พิมพ์ไอ้นี่เข้าไปตรงก่อนเอารูปเข้าน่ะ เห็นไหม นี่พิมพ์ พิมพ์ตรงนี้จนถึงคำว่า Scale นะคะ แล้วก็ Copy ลงมาให้ครบตามจำนวนรูปของเรา ใส่ค่าตัวเลขนี่ดูนะคะ ที่จะผิดอีกก็จะเป็นตัวนี้นี่ เห็นไหมคะ clock ตัวแรกเป็นตัวเล็ก แต่ Clock ตัวหลังจะเป็นตัวใหญ่ เห็นไหม เช็กดี ๆ นะคะ บอกแล้วจะชอบผิด ดูนะคะเวลาตั้งค่าตรงตอนให้เงื่อนไข bgx นี่ให้เงื่อนไข-1550 นี่ ตรงนี้ตรงบวกแม่ก็บวกให้เท่ากัน เพราะฉะนั้น เด็ก ๆ ลบไปเท่าไร บวกเข้าก้ต้องบวกให้เท่า ๆ กันนะคะ แต่ขนาดอาจจะตัวเลขอาจจะไม่เหมือนกันกับของแม่ก็ได้ลองใส่แล้วถ้ามันเกินก็ปรับให้มันตรงกับของตัวเอง โอเคนะ คือ รูป... รุป เราใ้แค่รูปเดียวไง พอทีนี้เวลาไปตดนะ สังเกตนะคะเพราะรูปพื้นหลังน่ะ เด็ก ๆ ใช้แค่รูปเดียว พอเวลาเริ่มใหม่นะ พอเริ่มใหม่มันก็ไปเรีิ่มที่ตแหน่งนึกออกไหมคะ แต่ถ้าเรามีรูปที่เหมือนมีต้นไม้ลักษณะซ้ำ ๆ กันน่ะ แล้วเริ่มวาดขนาดหรือมีช่องว่าง มันจะเห็นได้ชัดว่า ภภาพมันต่อกัน แต่ทีนี้เอารูปเดิมแล้วเอาภาพข้างหน้า ต้องไปเลือกภาพที่มีลักษณะที่เห็นว่าภาพมันต่างกันน่ะ นึกออกไหม เข้าใจนะคะ คือตอนนี้ ภาพที่เราเอามาใช่น่ะ ตรงต้นภาพมันเป็นอย่างนี้ใช่ไหม แล้วตรงปลายน่ะภาพมันมืด พอหมดภาพ พอมันสิ้นสุดภาพสุดท้าย ภาพใหม่ที่มาต่อ มันก็เลยไม่เนียนนึกอกนะ แค่นั้นเอง วิธีการก็คือถ้าเราวาดพื้นหลังเองนึกออกนะ ก็คือวางต้นไม้ให้มันมีที่เว้นระยะห่างระหว่างรอยต่อ ตอนนี้คือรอยต่อของต้นไม้มันไม่เนียน มันเป็นต้นเดียวกันน่ะ นึกออกปะ ยกเว้นว่าจะ flip ไป flip มาก็จะงง อันนี้ทำเป็นตัวอย่างเฉย ๆ คือ ในตัวต้นฉบับน่ะ เขาใช้รูป 2-3 ตัวมาต่อกันลูกนะคะ เพราะฉะนั้นขึ้นอยู่กับภาพพื้นหลังที่เราเอามาใช้นะคะ สมมติว่าถ้าเลือกนะ ถ้าเลือกภาพที่เป็นลักษณะสีไม่เปิดให้อีกOOpen หายไปแล้วหรือ สมมติให้นึกถึงนะ นึกถึงว่าภาพ ฺBackground ที่เราจะเอามาใช้ นี่ ถ้าเด็ก ๆ เลือกภาพที่มันมีลักษณะที่เหมือนตำแหน่งของภาพน่ะ เริ่มต้นนี่เห็นไหมคะ ภาพนี้เริ่มต้นมันสว่าง ตรงสิ้นสุดมันมือ พอเราให้ภาพมันเลื่อนนี่ภาพสว่างมันก็จะมาเริ่มต่อจากตรงนี้เสมอ มันก็เลยจะเห็นว่าภาพมันไม่เนียน แต่เมื่อใดที่เราเลือกภาพที่มีลักษณะ... เดี๋ยวนะเหมือนอย่างนี้ สีต้นไม้กับสีไอ้นี่ต่อกันน่ะ อาจจะได้นะคะ ลองหาภาพที่มีลักษณะสีโดยรวมน่ะ เพราะถ้าเอาต้นไม้สีนี้มาต่อกับสีนี้เนียนอยู่ว่าภาพมันต่อ เข้าใจนะ เพราะฉะนั้น ขึ้นอยู่กับภาพที่เราเอามาใช้ด้วยว่าแต่โดยปกติเวลาเข้าทำเกม เขาจะวาดพื้นหลังเอง เพราะว่าให้ภาพมันเคลื่อนไหวน่ะ มันต้องเป็นภาพที่เป็นลักษณะภาพต่อเนื่อง เหมือนวาดตัว Sprite sheet นั่นล่ะนะคะของใครยังไม่ออกนี่ นี่เหมือนถ้าเลือกภาพนี้เห็นไหม ลักษณะต้นไม้ต้นภาพกับท้ายภาพมันสีคนละสีนี่ พอเอามาต่อมันก็จะไม่เนียนนะคะ เราต้องเลือกลักษณะของภาพที่จะเอามาใช้ด้วยนะคะ เหลือใครยังไม่ออก มีมิ่งน่ะออกไปแล้วปรากฏพอไปแก้แล้วรูปหาย ติดตรงไหนไม่ขึ้นอะไรเลย เป็นเหมือนมิ่งเลย เดี๋ยวรอแก้เคสมิ่งก่อนนะ 2 0 3 0 62 ปี 1 พูดผิด อ๋อ เพราะว่าเขามาต่อไฟ กุยแจห้องแม่อยู่กับพี่เก๋ เขาไปอยู่ข้างล่างกันแล้ว กุญแจอยู่กับไอ้เก๋ ดูนะคะ ให้แก้ตรงนี้อีกนิดหนึ่งนะคะ เพราะว่า ไม่อย่างนั้น Run ไปแล้วมัน Error ก็คือมันไม่มีที่สิ้นสุดนี่ แก้ตรรง loop พิมพ์ run ขอโทษทีพิมพ์ run = True อะไรนี่ พิมพ์ผิดได้อย่างไรนี่ แล้วก็ While run ปุ๊บ แล้วก็ตรงนี้ run = บรรทัดสุดท้าย เป็น Run = False นี่แล้วก็กด Save ทีนี้บางคน บางคนที่ยังไม่ออกเพราะอะไร เช่น ๆ ๆ รูปตัวเองไม่เคลื่อนไหว ก็มีนะคะ เหมือนของบาสน่ะชื่อรูปมาหมดเลยแต่ภาพมันไม่เคลื่อนไหว ยังไม่ได้เปิดเข้าไปดู Detail นะคะ ของบาสมีบรรทัดหนึ่งที่เกินมานะ ให้ลบออก ที่ต่อจาก bg pน่ะ มี bg Transfrom อะไรนั่น ให้ลบออกนะคะ แล้วลอง Run ดู ไม่แน่ใจบางคนอาจจะไม่มีอัปเดตกับflickนี่นะคะ เช็กด้วยตัวโค้ดเราจริง ๆ จะมีประมาณเท่าไหร่เอง82 บรรทัดเท่านั้นนะ 80 กว่าบรรทัดเองนะเด็ก ๆ นะคะ เดี๋ยวสัปดาห์นี้นะคะ เราก็จะพอแค่นี้นะคะ เพราะส่วนใหญ่ เหลืออุบลใช่ไหมยังไม่ออก เดี่ยไปดูให้ส่วนใหญ่ออกกันหมดแล้วนะคะ โอเคที่ออกแล้วแต่ตัว Animate ไม่วิ่งก็มีนะคะ ก็มีจุดตำแหน่งผิดเล้ก ๆ น้อย ๆ นั่นล่ะต้องค่อยเช็กไป โอเคค่ะ ขอบคุณพี่ล่ามค่ะ