--- title: ฝึก PE Revoice ห้องเรียนสกลฯ การเขียนโปรแกรมภาษาคอมพิวเตอร์ อ.สุธิรา 10 ม.ค. 66 มาริก subtitle: date: วันจันทร์ที่ 16 มกราคม 2566 เวลา 09.09 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) สหกรณ์เรามี background แล้วเรามีตัวแล้วนะที่นี้ Code อันดับแรกเด็ก ๆ ต้องเช็กก่อน เช็กตำแหน่งแรกก่อนนะคะ ไปทีละบรรทัดเปิดไฟล์นะ ที่เราทำสัปดาห์ที่แล้ว หนก่อนน่ะขึ้นมา หนก่อนเราทำ class ไว้ตอนนี้เด็ก ๆ มีคลาสแล้วก็ชื่อตัวเกมเราแล้วใช่ไหมคะ นะคะ ตอนนี้คลาสเด็ก ๆ ถึงบรรทัดไหนแล้วโหลดเข้ามาหรือยัง ดูนะคะ ว่าเราจะต้องมีส่วนของคลาสที่เป็น sprite ก็คือเราจะนำภาพต่อเนื่องเข้ามาใช่ไหมคะ เด็ก ๆ โหลดภาพเข้ามาแล้ว เสร็จแล้วสร้างส่วนนี้หรือยัง ส่วนสร้างภาพเคลื่อนไหว ใครยังไม่มีส่วนนี้ มีหรือยังคะ ใครยังไม่มียกมือนะ ถ้ามีแล้วส่วนเขามาที่เด็ก ๆ จะต้องมีนะคะ ก็คือส่วนของฟังก์ชัน Run กับฟังก์ชัน Update มีหรือยังคะ เดี๋ยวขยายขนาดเพิ่ม นี่ 2 ฟังก์ชันนี้ใครยังไม่มีมีแล้วนะ เพราะหนก่อนเราน่าจะทำไปถึงประมาณนี้ โอเคไหม ถ้าเราได้ส่วนนี้แล้วสิ่งที่จะต้องมาทำนะคะ ส่วนของ sprite group การจัดกลุ่มให้มันน่ะมีหรือยังคะ ตรงส่วนนี้ เห็นไหม Create sprites and ก็คือมีแล้วนะนะคะ ส่วนต่อมาที่จะเช็คนะคะ จะค่อย ๆ เช็dไปก็คือส่วนของการเรียกไอ้ตัวMoving.Update มาใช้โอเคไหม ใครยังไม่มีตรงนี้ ถ้าจะผิด โอเคหรือยัง ยังไม่มีบาสต้องคีย์เพิ่มนะคะ เพราะมันเป็นส่วนของการแสดงผล มันต้องเรียกมันมาใช้งานต้องชี้สองบรรทัดนี้เพิ่มสังเกตนะ เรามี Hashtag คำว่า "การแสดงผล" ไว้เห็นไหม ถ้าเราใส่ Hashtag เวลาเราบอกว่าเราจะไปแก้ไขแต่ละส่วนเราจะเห็นว่ามันอยู่ตรงในส่วนของอะไรในโปรแกรมเราเห็นไหมคะ เหมือน Moving.sprite.draw กับ Moving สไปรท์ Update ก็จะอยู่ในส่วนของแฮชแท็กที่ชื่อว่าการแสดงผลสังเกตว่าทุกครั้งจะบอกว่าให้ใส่แฮชแท็กแล้วบอกว่าไอ้ส่วนนี้เราเอา,ไว้ทำอะไรนะคะ เราจะได้รู้ตำแหน่งเวลาแก้เราจะได้เช็กได้ว่ามันผิดตรงไหนตำแหน่งไหน ตำแหน่งไหน พอไล่แก้มันก็จะหาเจอ เมื่อคืนอาจจะเป็นเครื่องที่บ้านเดี๋ยวจะก๊อปฯ แล้วไปลอง ก๊อปฯ นี้แล้วไปลองแก้ที่บ้านดู คือ รูป background มันไม่ขึ้นไอ้เครื่องที่บ้านน่ะใช้ไม่ได้เลย โอเคนะรักใครมีครบนะคะ ทุกส่วนเหมือนที่กล่าวมาแล้วลองกด ctrl b 1 ครั้งก่อนจะดูแล้วว่ารันแล้วมันเป็นอย่างไรแล้วมันไป eเร่อตรงไหนให้เด็ก ๆ กด ctrl B นะคะ ถ้าใครที่ขึ้นนะมันจะต้องที่เราทำแล้วก็ขึ้นฉากที่เราทำนะคะ แล้วก็ตัวอันนี้ไปทำบัตรฝนมันบิดเบี้ยวไปหน่อย เดี๋ยวค่อยขยายให้ เดี๋ยวขยายให้ใหม่ก็ได้ แมวเป็นแมวผอม ๆ หรือเปล่า ถ้าใครทำได้เห็นไหม 1. คือทำให้ฉากเลื่อนใช่ไหมคะ แล้วพอเรากดน้องแมว น้องแมวเรานะคะ เห็นไหม น้องก็เดินเห็นไหม เพราะเราเลือกภาพที่เป็นไกด์ก็คือมันมีภาพต่อเนื่องนั่นเองนะคะ น้องเธอเห็นไหมคะ น้องก็จะค่อย ๆ เดินเร็วในการเดินก็จะขึ้นอยู่กับการตั้งค่าเวลานะคะ เดี๋ยวให้บอกว่าตรงไหนที่เร็วมากเร็วน้อย ใครไม่เป็นอย่างนี้ยกมือ ใครไม่มีฉากขึ้นมา ไม่มีตัวการ์ตูนขึ้นมาเลย มันน่าจะมี Error เตือนด้วยถ้าใครไม่ผ่านน่ะ ของมิ่ง นี่มิ่งต้องใส่ไอ้ตัว bgx บรรทัดที่ 75 เห็นไหมเข้าไปก่อน ก่อนหน้ามันนะ แล้วก็ใส่น่าจะเพิ่มบรรทัดที่ 2 เข้ามา เห็นไหม มิ่งจะเห็นตรงส่วนที่เราทำแฮชแท็กว่าเป็น sprite.group น่ะ วิ่งตัดแล้วย้ายมาต่อจากตัวนี้นึกออกไหมลูกเห็นหรือเปล่า ตำแหน่งวางตำแหน่งผิด ทำแถบครอบตั้งแต่นี่จนถึงไอ้นี่เลยลูก ทำอย่างนี้แล้วก็กด ctrl + x เพื่อตัด กดปุ่ม Ctrl กดปุ่ม Ctrl แล้วก็ x ลูกเห็นไหม แล้วก็เอามาไว้ต่อจากตรงนี้ Enter แล้วก็ Ctrl + V กด Ctrl + V ทุกครั้งที่พอแก้ปุ๊บน่ะ ให้เด็ก ๆ กด Ctrl + B ทุกครั้งโอเคหรือยัง พอย้ายแล้วกด Ctrl + B ดูกด Ctrl + B ทุกครั้งนะคะ พอแก้โค้ดน่ะเด็ก ๆ ทำไมขึ้นว่าไลค์ 2 import.pygame system หรือใช่ system หรือไม่ sys ดูดี ๆ นะเห็นไหม Import คำสั่งมี Import.pygame เด็ก ๆ มันไปอยู่ตำแหน่ง system น่ะตัวสัปดาห์มันจะมีตัวช่วยขึ้นมาพ่อไปกดมันมีตัวช่วยมันก็เลยผิดนะคะ นะคะ ต่อไป บรรทัดต่อมา ตำแหน่งนี้ตั้งค่าทั่วไป ทำเหมือนเดิม Ctrl + X ตัด ๆ Ctrl + V โอเค Enter ลงไป Ctrl + B ใหม่ทุกครั้งที่แก้โค้ด คำสั่งต้องผิดสัก 1 ตัว sys ที่นี้ดูนะมิ่งนะ pygame.init () ตัว clock หรือเปล่าที่ผิดน่ะ เห็นไหม pygame.time.Clock () ตัวใหญ่ Clock ตัวนี้ที่เป็นตัวใหญ่ หมายถึง Library ที่เรียกใช้ มาร์กี้ดูนะคะ เวลาโค้ดมัน Error มันจะชี้ตำแหน่งเห็นไหม เห็นไหม ไม่เหมือนตรงไหนดูสิ sprite .sprite อันแรกตัวเล็กใช่ไหมคะ sprite ตัวที่ 2 S ตัวแรกเป็นตัวใหญ่เห็นไหม แก่แค่นั้นแหละ ตัวที่ 2 S ตัวที่ 2 ต้องเป็น S ตัวใหญ่ลูก เห็นไหมต่างกันนะ มันจะเป็นคนละตัวนะคะ มันจะเป็นตัวแปรคนละตัวเลยเห็นไหมคะ sprite ตัวแรกตัวเล็กตัว s เห็นไหมคะ Sprite ตัวที่ 2 สไปรท์ตัวใหญ่ เห็นไหมนี่คือเสร็จแล้วกด Ctrl + B ทุกครั้งนะคะ ตรงไหนขึ้น Error จะได้ไปดู เด็ก ๆ เวลา Error แล้วมันขึ้นว่า use tab อะไรแบบนี้นะคะ แสดงว่าตรงตำแหน่งนี้อาจจะใช้วิธีกด Space Bar ไม่ได้กด Tab วิธีแก้ก็คือดูนะคะ ไปที่ไม้บรรทัดหัวหน้าไลน์ที่ Error มันขึ้น Error ไลน 9ไปที่ไลน์บรรทัดที่อยู่บนเนินแล้วกด delete 1 ครั้งอย่างนี้นะคะ เพื่อให้ในบรรทัดนั้นน่ะ นี่เห็นไหม กดจนให้ตัวข้อความน่ะมันชอบมาชิด ตัวอักษรตัวสุดท้ายของบรรทัดนั้นเลย แล้วกด Enter ลงไป เห็นไหมมันจะอัตโนมัตินะคะ ถ้าใครขึ้นว่า... เดี๋ยวทำให้ดูสมมติ ๆ ดูนะ เด็ก ๆ ของ Space Bar จะเป็นอย่างนี้ พอกด Ctrl + B มันจะขึ้นคำว่า "Use of Tab indentation" มาปุ๊บนี่นั่นหมายถึงว่าตรงบรรทัดนี้ใช้วิธีกด Space bar กด Tabนึกออกนะ วิธีแก้ก็เหมือนที่บอกก็คือนี่สังเกตได้อย่างไร ดูที่ตัวตัวนี้ เพราะแล้วมันจะเป็นถ้าเป็นแผลทักข้างบนนะคะ ถ้าเป็น tab มันจะเป็นขีด มันจะเป็นขีดมันจะไม่เป็นจุดนะคะ ที่นี่บางคนบางคนดูอยู่ในหน้าจอนั่งดูพี่ล่ามด้วย แล้วตัวมันเล็กดูไม่ออก วิธีขยายขนาดกด Ctrl กับเครื่องหมายบวก เห็นไหมตขนาดฟอนต์มันก็จะขึ้น มันจะทำให้เห็นได้ชัด เพราะฉะนั้น ถ้าของใครที่พอขึ้น Error Use of tab แบบเมื่อกี้นะคะ ก็คือแล้วกด Enter ลงมานึกออกมาตรฐาน ฉะนั้น วันนี้เราจะแก้เองได้แล้วถ้า error แบบนี้นะคะ ใจเย็น ๆ นะเวลาแก้โค้ดต้องใจเย็น ๆ พวกมันหลายเครื่อง บางคนนี่พอใช้คำสั่งนี้มิ่ง Ctrl... ดูนะคะ บางทีนี่ไฟล์รูปที่เราเอามานะคะ เด็กลองเปิดด้วยโปรแกรมที่ชื่อว่า Paint Open with paint ปุ๊บนี่ ตัวมันใหญ่ใช่ไหม ตัวน้องใหญ่นี่ วิธีที่เราจะลดขนาดให้มันเท่ากัน ดูวิธีนะคะ เด็กก็เข้าไปแก้ทุกตัวเลยนะคะ ไม่ต้องไปแก้ตรงโค้ด ไม่ออกใหม่ลูก ดีกว่าก็คือเลือกเห็นไหมคะ resize ไหมตรงแล้วก็ลดลงทีละครึ่ง 50 เปอร์เซ็นต์ พอไหมคลิก OK เห็นไหมคะ นึกออกนะ เพราะฉะนั้น เปิดไอ้ไฟล์ตัวไอ้นี่เราทุกอันแล้วก็ resize อย่าลืมนะคะ พอดี Size อย่าลืม Save มิ่งเข้าใจแล้วนะ ทีนี้พอ Save ไปบางคนมีพื้นหลังด้วยนะเด็ก ๆ เอาพื้นหลังออกทำอย่างไรคะ จำได้ไหม ใน Google นะคะ เอาพื้นหลังออกชื่อนี้ เอาไว้สอนทีหลังดีกว่าไม่อย่างนั้นจะเสียเวลา ถ้าอย่างนั้นมิ่งดูนะคะ ถ้าจะแก้ให้พิมพ์ตรงนี้เพิ่มเห็นไหมคะ sprit.append ประโยคนี้สเกล เข้าไปก่อน 1 อันก่อนแล้วก๊อปฯ แล้วจะบอกว่าแก้ตรงไหนอีก อีกจุดหนึ่งนะคะ ที่เด็ก ๆ น่าจะผิดเหมือนกันหมดเลย ก็คือคำสั่งนี้ค่ะ อยู่ไหนหว่า นี่ ๆ Moving.sprit เด็ก ๆ มี sprite 2 ครั้งใช่ไหม ลบออกอันหนึ่ง sprite มันมี 2 นี่ลบออกอันหนึ่ง ลบออก ลบออกอันหนึ่งลบ 1 อันไม่ ๆ ๆ ลบตัวที่ 2 ออกนะคะ ตัวหน้าไม่ต้องลบนะ เพราะมันเป็นของตัวแรก ลบตัวที่ 2 ออก โอเคแล้วก็กด Ctrl + B นี่ ๆ แก้ด้วยแก้ตรงนี้ใช่ไหม โอเค แล้วก็ดูตรงชื่อนะคะ ชื่อ Cat นี่มันเป็นตัวเกมแม่นะคะ ตัวเกมเด็ก ๆ ชื่ออะไรใส่ชื่อตัวเอง ไม่ใช่มาใส่ชื่อ Cat เหมือนของเรานะ โอเค ใครแก้แล้วลองกด Ctrl + B ใหม่กด Ctrl + B บรรทัดไหนอีก ไหนนะ ไลน์ 77 sprite และอีกจุดหนึ่งที่เด็ก ๆ จะผิดกันบ่อยนะคะ อีกจุดหนึ่งจะอยู่ตรงบรรทัดที่ล่าง ๆ หน่อยที่บอกว่าคำสั่งที่บอกว่าMoving.sprite.update ตัวเลขคือค่าที่เป็นทศนิยมศูนย์ฝึกไม่ใช่ศูนย์แล้วก็คอลมานึกออกไหมเป็นค่าตัวเลขนะคะ 0.30 ไม่ใช่ 0,30 นะคะ มันเป็น 0. นะคะ ตัวเลขแก้เป็นคำว่าเอา , ออกใส่ 0.25 หรือ . ก็ได้ก็คือค่านี้ก็คือให้ไอ้ตัวเคลื่อนไหวเป็นอัปเดตนะคะ ระยะเวลาที่เราตั้งไว้นั่นเองนะคะ ใครแก่แล้วกด Ctrl + B บอกแล้วทุกครั้งกด Ctrl + B เลยนะคะ ไล่แก้ไปทีละบรรทัด นิดเดียวที่นี้บิวเปิด... ตัวนี้ไม่ต้องเขาเรียกมาแล้วลบออกได้เลย บรรทัดนี้ลบออกได้เลย บางคนจะมีบรรทัดหนึ่งที่เป็นเรียกรูปภาพมาใช้นะ แก้ไขกด Ctrl + B ใหม่ลูก ติดอยู่บรรทัดที่เท่าไร 79 clock.tick พิมพ์ผิดนี่ C เห็นไหมคะ c-l-o-c-k ตัวเองพิมพ์ ไอ้กุ้งพิมพ์เป็น c-o-l-c-k เช็กด้วยเช็คคำผิดด้วยสังเกตเวลา Error มันก็จะบอกตำแหน่งให้ดูบรรทัด แล้วก็ดูที่ข้อความ4 ก่อนกด Space Bar อีกแล้วเดี๋ยวก็ Error อีก อย่าไปกด Space Bar เด้อ ต้องกดอะไรคะ ต้องกด Tab กด Tab Ctrl + B ใหม่ที่บรรทัด 1 คำสั่งนี้ผิดแน่นอนไม่ต้องบอกก็รู้มันคือ pygame ไม่ใช่sprites.game py ตอนนี้ py ลบตัว ออกตัว ห ลบออกลูกนี่เห็นหรือเปล่าข้างหน้าลบออกตัว s ออกลบออกค่ะ OK Control B ใหม่นั่นไง ลองกดแป้นในเครื่องนี่ใครเกม Update เรามีแล้ว อันนี้ซ้ำเอาออกลบออกได้ ลบออกเลยค่ะ โอเค Ctrl + B ใหม ่ไม่ move ตัวนี้ไม่ move Error บรรทัดไหน 65 นี่ไง ชื่อบีไม่ใช่หรือ แก้ชื่อนะคะ คือ ในโค้ดตัวอย่างบอก Cat ก็ Cat ตามเลย ต้องจำด้วยชื่อตัวการ์ตูนตัวเองชื่ออะไรใช่ ๆ กด Ctrl + B ใหม่แล้วกดปุ่มลูกศรนี่ไง ทีนี้รูปตัวเองเอามากี่รูป เพราะมันไม่ขยับเลยใช่ไหม รูปมันไม่ขยับ เรามาดูที่ sprite นี่ นกตัวที่ 1 ตัวที่ 2 ตัวที่ 3 ตัวที่ 4 ตัวที่ 5 มีนก 5 ตัว เปิดไฟล์รูปให้ดู แล้วทำไมไซซ์ไม่เท่ากันนะ นกตัวที่ 1 ตัวใหญ่ ตัวที่ 2 ทำไมตัวเล็ก ปรับไซซ์ไม่เท่าหรือ กุ้งลองเอาชื่อนี้นี่ นี่ ๆ ชื่อที่เป็นภาษาอังกฤษแก้จากนกเป็น Bird เบิร์ดไหมเบิร์ด แก้ชื่อตรงนี้ชื่อภาษาไทยเป็นชื่อภาษาอังกฤษ เพราะเรามี 2 ไฟล์ใช่ไหมลองเปลี่ยนเป็น B-i-r-d แก้ทุกอันเลยลูก แล้วลอง Run ใหม่นะ ของใครยังไม่ขึ้น ยังไม่ขึ้น มิ่งได้หรือยัง ติดไหนบรรทัดไหน มิ่งก๊อปฯ มาหมดแล้วใช่ไหม อีกบรรทัดข้างหลังมิ่งดู เพิ่มขนาด ลองก่อนได้นะ นี่คือขนาดรูปที่เราจะ... เห็นไหม ตรงนี้ใส่ข้างใน ใส่เข้าไปก่อน นิดหนึ่งนะคะ แล้วก็วรรค แล้วก็ใส่ค่าตัวเลขตามนี้ จำนวนวงเล็บปิดให้ใส่เท่าตัวหลังนะลูกนะ โอเค แล้วก็เหมือนเดิม แล้วก็ก๊อปฯ ให้ครบ โอเค กด Ctrl + B Run ดู ไปไหนล่ะ Error หรือ บรรทัดที่ไลน์ 53 ทำไมบรรทัดนี้ขึ้น Error self.sprites.append.pygame bird นามสกุลหรือ ขอดูนามสกุลก่อน proerties PNG อันนี้เป็น PNG แก้นามสกุล PNG ใช่ไหมตัว P นามสกุล PNG เหมือนตัวอย่างลูกเห็นไหม PN แล้วก็ G นี่ ๆ ทุกอันเลยแก้ทุกอันเลย โอเค ไลน์ 33 บอกว่า อ๋อ แสดงว่าบรรทัดนี้มิ่งโค้ดผิดใช่ไหม มันขึ้นสีนี้คำสั่งนี่ กด S ใหม่ลูก วรรคแล้วก็กด S เลือก Speed Speed อ๋อ ตรงนี้นี่ไงชื่อฟังก์ชัน Update เห็นไหม เดี๋ยวมิ่งเอาไอ้นี่ขึ้นไปเลย บรรทัดนี้ขึ้นไปเลย Delete เลยลูก กด Delete เลยค่ะ โอเคนั่นไงได้แล้วเห็นไหม สังเกตโค้ดเรานะ ถ้าถูกน่ะสีมันก็จะตรงเห็นหรือเปล่า controlใหม่ อะไรที่ไม่ขึ้น Error ด้วย แสดงผล เดี๋ยวนะครบหรือยัง ครบแล้ว run.animate = False True แก้ตรงนี้ด้วยมิ่งผิด เห็นไหมแก้ตรง while to ไล่ไปทีละบรรทัด โอเคใช่ไหม ทีนี้ทำไมรูปมันเป็นดึ๊ก ๆ ใช่ไหม เรามาดูกันที่ตำแหน่งของภาพตัวที่ 1 เดี๋ยวนะมันขึ้น Error หรือเปล่า ไลน์ 80 เรียกใช้ไม่ได้ quit ตัวเล็กเห็นไหม ใช้ไม่ถูก สังเกตด้วยนะคะ บางทีมันเป็นตัวใหญ่ บางทีมันเป็นตัวเล็ก แก้เลยโอเค ใช้ตัวเล็กลูก Ctrl + B ใหม่ ไม่ขึ้น ทำไมรูปไอ้นี่ไม่ขึ้นนะ ไฟล์ภาพชื่ออะไรหว่า Background 18253 มิ่งเปิดโฟล์เดอร์ที่เก็บรูปให้ดูด้วย เดี๋ยวนะคะ ทีละคนนะคะ ทีละคน ทีละคน ใจเย็นนะคะ เมื่อกี้นี้ผิด แม็กกี้ดู ตรงเท่ากับ True run_animate กดอันไหน กดผิดหรือเปล่านี่ ถูกแล้ว run_animate และอีกบรรทัดหนึ่งนะคะ ที่จะต้องเพิ่มเข้าไปเห็นไหมคะ ต่อจาก super ().init () นะคะ เด็ก ๆ จะต้องเท่ากับเอาลงไปด้วย 1 บรรทัดบรรทัดนี้นะคะ ใส่บรรทัดนี้เข้าไป บางคนนี่ไม่มีบรรทัดนี้เด้อนี่ เพราะว่าเราสร้างฟังก์ชั่น run แล้วพอตอนอัปเดตน่ะมันไม่ขึ้น เพราะไม่ได้เรียกมัน ใครที่แก้แล้วตัวรูปตัวเองใหญ่นะคะ บอกแล้วว่าให้ไปลดขนาดตัวนี้ใน Paint น่ะค่ะ โปรแกรม Paint หรือพิมพ์ตัวนี้ pygame.scale นี่เข้าไป พิมพ์ไอ้นี่เข้าไปตรงก่อนเอารูปเข้าน่ะเห็นไหมนี่ พิมพ์พิมพ์ตรงนี้จนถึงคำว่า "scale"นะคะ แล้วก็ Copy ลงไปให้ครบตามจำนวนรูปของเรา ใส่ค่าตัวเลขนี่ ดูนะคะ ที่จะผิดอีกก็จะเป็นตัวนี้นี่ เห็นไหมคะ clock แรกนี่ตัวเล็ก แต่ Clock ตัวหลังเป็น C ตัวใหญ่เห็นไหมเช็กดี ๆ นะคะ บอกแล้ว เห็นความแตกต่างหรือเปล่า ดูนะคะ เวลาตั้งค่า เงื่อนไข bgx นี่เป็น 1550 นี่ตรงนี้ตรงนี้ก็บ;กให้เท่ากันเพราะฉะนั้นเด็ก ๆ ไปเท่าไรบ้างบอกให้เท่ากันนะคะ แต่ขนาดอาจจะไม่เหมือนกันกับของแม่เองก็ได้ คือ สงสัยว่ามันเกิดก็ปรับไม่ตรงกับของตัวเองโอเคนะ คือ รูปรถใช้แค่รูปเดียวไง พอที่นี้พอเวลาไปตัด สังเกตนะคะ เพราะพื้นหลังนี้ใช้แค่รูปเดียว พอเวลาเริ่มใหม่นะ พอเริ่มใหม่ มันก็ไปเริ่มที่ตำแหน่งแรกของภาพ นึกออกไหมคะ แต่ถ้าเรามีรูปที่เหมือนมีต้นไม้ในลักษณะซ้ำ ๆ กันน่ะ แล้วเริ่มวางขนาดหรือมีช่องว่างน่ะ มันจะเห็นได้ชัดว่าภาพมันต่อกัน แต่อันนี้มันกลายเป็นเอารูปเดิมแล้วเอาภาพข้างหน้า ต้องไปเลือกภาพที่มันมีรักไม่มีลักษณะเห็นว่ามันต่างกันนะ นึกออกไหม เข้าใจนะคะ คือ ตอนนี้มันเป็นอย่างนี้ใช่ไหมแล้วตรงปลายภาพมันมืด พอหมดภาพ... พอมันสิ้นสุดภาพสุดท้าย ภาพที่มาต่อไม่มีเนียนนึกออกนะ แค่นั้นเอง วิธีการก็คือภาพพื้นหลังเองแล้วนะก็คือเหมือนว่าให้มันมีระยะห่างระหว่างรอยต่อนี่คือของต้นไม้มันไม่เนียนเห็นไหม มันเป็นต้นเดียวน่ะนึกออกหรือเปล่า ยกเว้นว่าจะไปอันนี้ทำตัวอย่างเฉย ๆ คือต้นฉบับน่ะ เขาใช้รูป 2-3 ตัวมาต่อกันโน่นนะคะ เพราะฉะนั้น ขึ้นอยู่กับพื้นหลังที่เราเอามาใช้นะคะ สมมติว่าถ้าเลือกนะคะ ถ้าเลือกภาพที่เป็นลักษณะสี... ไม่เปิดให้อีก Open หายไปแล้วหรือ สมมติให้นึกถึงนะ นึกถึงว่าภาพ Background ที่เราจะเอามาใช้ นี่ถ้าเด็กเลือกภาพที่มันมีลักษณะเหมือนตำแหน่งของภาพน่ะ เริ่มต้นนี่เห็นไหมคะ เหมือนตรงนี้ ภาพเริ่มต้นมันสว่างตรงสิ้นสุดมันมืด มันเลื่อนนี่สว่างมันก็จะมาเริ่มจากตรงนี้เสมอ มันก็เลยจะเห็นว่าภาพมันไม่เนียน แต่ถ้าเมื่อใดที่เราเลือกภาพที่มีลักษณะ... เดี๋ยวนะ เหมือนอย่างนี้สี สีต้นไม้กับสีไอ้นี่ต่อกันน่ะ อาจจะได้นะคะ ลองหาภาพที่มีลักษณะสีโดยรวม ๆ น่ะ ถ้าเอาต้นไม้สีนี้มาต่อกับตรงนี้มันก็จะเนียนอยู่เพราะภาพมันต่อ เข้าใจนะ เพราะฉะนั้น ขึ้นอยู่กับภาพที่เราเลือกเอามาใช้ด้วยนะลูกนะ ว่าแต่โดยปกติเวลาเขาทำเกมเขาจะวาดพื้นหลังเอง เพราะว่าให้พักผ่อนไหวน่ะ มันต้องเป็นภาพที่เป็นลักษณะภาพต่อเนื่อง เหมือน นั่นแหละนะคะ ของใครยังไม่ออกอีก เหมือนถ้าเลือกภาพนี้เห็นไหมลักษณะต้นไม้บนภาพกับถ่ายภาพมันตีคนละสีนี่ พอเอามาต่อกันมันก็จะไม่เนียนไงคะ นะคะ ฉะนั้น เราต้องเลือกของภาพที่จะเอามาใช้ด้วยนะคะ เหลือใครยังไม่ออก มีมิ่งน่ะออกไปแล้ว ปรากฏว่าพอไปแก้แล้วรูปหาย ติดตรงไหน ไม่ขึ้นอะไรเลย เป็นเหมือนมิ่งเลย เดี๋ยวรอแก้เคสมิ่งก่อนนะ 20... 13206 ปี 2 เอ้ย ปี 1 พูดผิด กุญแจอยู่กับไอ้เก๋ อ๋อ เพราะว่าเขามาต่อไฟ กุญแจห้องแม่อยู่ที่พี่เก๋ เขาอยู่ข้างล่างกัน เขาก็อยู่ข้างล่างกันแล้ว กุญแจอยู่กับไอ้เก๋ นั่นแหละกุญแจอยู่กับไอ้เก๋แล้ว โอเค ดูนะคะ ให้แก้ตรงนี้อีกนิดหนึ่งนะคะ เพราะว่าไม่อย่างนั้นมัน run ไปแล้วมัน Error ก็คือมันไม่มีที่สิ้นสุดนี่ แก้ตรง Loop พิมพ์ run... ขอโทษที พิมพ์ run = True อะไรนี่พิมพ์ผิด ได้อย่างไร แล้วก็ while run นะคะ แล้วก็ตรงนี้ Run: บรรทัดสุดท้ายเป็นเวลานานเท่ากับเจ้าหนี้แล้วก็กด save ที่นี่บางคนบางคนที่ยังไม่ออกเพราะอะไร เช่น ๆ ๆ รูปตัวเองไม่เคลื่อนไหวก็มีนะคะ เหมือนของบาสน่ะ ชื่อรูปมาหมดเลย แต่ภาพมันไม่เคลื่อนไหว ยังไม่ได้เปิดเข้าไปดู Detail นะคะ มีของบาสมีบรรทัดหนึ่งที่เกินมาน่ะให้ลบออก ที่ต่อจาก bg.pic น่ะมี bg.trน่ะลบออกนะคะ ลอง run ดู ไม่แน่ใจบางคนอาจจะไม่มีไอ้ update กับ flip นี่นะคะ เช็กด้วย ตัวโค้ดเราจริง ๆ จะมีประมาณเท่าไรเอง 82 บรรทัดเท่านั้นเองนะ 80 กว่าบรรทัดเท่านั้นเองนะเด็ก ๆ นะคะ เดี๋ยวสัปดาห์นี้นะคะ เราก็จะพอแค่นี้นะคะ เพราะส่วนใหญ่เหลืออุบลใช่ไหมยังไม่ออกจะไปดูให้นะคะ ส่วนใหญ่ออกหมดแล้วนะคะ โอเค ออกแล้ว Animate ไม่วิ่งก็มีนะคะ ก็มีจุดตำแหน่งผิดเล็ก ๆ น้อย ๆ นั่นแหละเหมือนที่บอกนะคะ ต้องค่อย ๆ เช็กไป โอเคค่ะ คุณพี่ล่ามค่ะ