‫ยินดีต้อนรับกลับ.
‫ในวิดีโอนี้ เราจะเพิ่มฟังก์ชันการทำงานให้กับชามของเรา เพื่อให้สามารถเคลื่อนจากซ้ายไปขวาและกระเด้งออกจากแร็กเก็ตได้
‫ซึ่งแน่นอนว่าเป็นฟังก์ชันที่เราตั้งใจไว้
‫และแน่นอนว่าเราจะต้องย้ายไม้เทนนิสของเรา
‫นั่นคือสิ่งที่เราจะทำในภายหลังในหนึ่งในวิดีโอเพิ่มเติม
‫แล้วเราก็เกือบเสร็จแล้วกับเกม
‫มาเริ่มกันด้วยการสร้างสคริปต์ใหม่สำหรับลูกบอลของเรา ซึ่งฉันจะเรียกว่าการเคลื่อนที่ของลูกบอล
‫และอย่างที่คุณเห็น สร้างโฆษณา เราสร้างสคริปต์ใหม่ และเราสามารถเปิดมันขึ้นมาได้ด้วย Visual Studio
‫เอาล่ะ ใน Visual Studio เรามีวิธีการเริ่มต้นและการอัปเดต
‫เราไม่ต้องการวิธีการอัพเดต งั้นก็กำจัดมันซะ
‫อย่างไรก็ตาม สิ่งที่เราต้องการคือวิธีการที่ระบุว่าลูกบอลสามารถเคลื่อนที่ได้เร็วแค่ไหน และนั่นควรเป็นค่าสาธารณะเพื่อที่เราจะสามารถเปลี่ยนแปลงได้ภายในความสามัคคี
‫ดังนั้นความเร็วในการเคลื่อนที่ของโฟลตสาธารณะมักจะเป็นทุ่นและสามัคคีเพราะสิ่งที่คุณต้องการใช้ความเร็วของคุณคือเวลาส่วนใหญ่ที่ฟิสิกส์และฟิสิกส์ทำงานกับทุ่น
‫สิ่งที่เราต้องการคือค่าที่บอกเราว่าลูกบอลสามารถไปต่อครั้งได้เร็วแค่ไหน
‫ดังนั้นสำหรับการโจมตีแต่ละครั้งที่ตีด้วยแร็กเกต มันควรจะเร็วขึ้นเล็กน้อยเพื่อให้เกมยากขึ้นเรื่อยๆ
‫และนั่นคือสิ่งที่เราทำได้โดยการสร้างตัวแปรตัวแปร float อีกตัวหนึ่ง ซึ่งเรียกว่าความเร็วพิเศษต่อการโจมตี
‫ดังนั้นทุกครั้งที่ตีควรเพิ่มขึ้นเล็กน้อย
‫จากนั้นเราต้องการความเร็วสูงสุดเพื่อไม่ให้ลูกบอลไปเร็วมากในจุดหนึ่งและไม่สามารถจับได้
‫แน่นอน คุณสามารถพูดได้ว่า โอเค ฉันไม่ต้องการแบบนั้น แต่เราต้องการปิดฝาไว้ที่นี่
‫ดังนั้นเราจึงสร้างแคปซึ่งเป็นความเร็วสูงสุดพิเศษของเราเพื่อให้มีความเร็วสูงสุดโดยทั่วไปและเราจะต้องได้รับความช่วยเหลือจากตัวแปรซึ่งฉันเรียกว่าตัวนับการตี
‫และจะนับจำนวนครั้งที่ตีแร็กเกตหรือตีแร็กเกตใดๆ
‫ตอนนี้สิ่งที่เราต้องการทำคือย้ายลูกบอลของเรา
‫มาสร้างวิธีการย้ายบอลของเรา โมฆะสาธารณะ ย้ายบอล
‫ผมจะเรียกมันว่าอย่างไร และมันต้องการเวกเตอร์เพื่อบอกทิศทาง ผมจะเรียกมันว่า
‫dear สำหรับทิศทางของอากาศ
‫ตอนนี้ทิศทางนั้นควรเป็นทิศทางปกติ
‫ดังนั้นวิธีย้ายลูกบอลนี้สามารถเรียกจากภายนอก ก็สามารถเรียกในอีกวิธีหนึ่ง
‫ตัวอย่างเช่น สามารถเรียกจากคลาสอื่นหรือจากสคริปต์อื่นได้เนื่องจากเป็นสาธารณะ
‫และสิ่งที่เราอยากทำคือ อย่างแรกเลย ทำให้ทิศทางที่เราได้รับเป็นมาตรฐาน เพราะมันอาจกลายเป็นค่าที่แปลกมาก
‫แต่เราต้องการให้มันเป็นมาตรฐาน
‫สิ่งที่เราทำคือเราบอกว่าทิศทางคือทิศทางเดิม แต่เป็นค่าที่ทำให้เป็นมาตรฐาน
‫มันส่งกลับเวกเตอร์นี้ด้วยขนาดหนึ่ง
‫นั่นคือสิ่งที่เราทำที่นี่
‫ตอนนี้เราสามารถไปข้างหน้าและสร้างความเร็วเพื่อให้ความเร็วของลูกของเราควรจะเป็น Now จำได้ว่ามันคืออะไร
‫อย่างแรกเลย เรามีความเร็วในการเคลื่อนที่ ดังนั้นความเร็วในการเคลื่อนที่ของดอทนี้ และจากนั้นเราต้องเพิ่มความเร็วพิเศษต่อการโจมตีหนึ่งครั้ง
‫ดังนั้นเราจึงจำเป็นต้องรู้ว่าเรามีการโจมตีกี่ครั้ง
‫นั่นหมายความว่าเราไปข้างหน้าและพูดว่าจุดชนวนนี้
‫แล้วเราเคยโดนมากี่ครั้งแล้ว?
‫คูณด้วยความเร็วพิเศษดอทนี้ต่อครั้ง
‫วิธีนี้ทำให้เราเพิ่มการเคลื่อนที่ของลูกบอลได้อย่างต่อเนื่อง
‫ในการที่จะนำความเร็วนั้นไปใช้กับลูกบอลของเรา สิ่งที่เราจำเป็นต้องเพิ่มคือแรงที่ลูกบอลของเรา และในกรณีนั้น ให้บังคับไปยังวัตถุที่แข็งกระด้าง
‫เพราะวัตถุที่แข็งกระด้างนั้นเป็นลักษณะทางฟิสิกส์ของลูกบอลของเรา
‫นั่นหมายความว่าเราต้องมีร่างกายที่แข็งแรง
‫2D ซึ่งผมเรียกว่า Rigid body 2D เท่ากับ dot game object dot get component และชื่อของส่วนประกอบควรเป็น
‫rigid body สำหรับ DX
‫ดังนั้นเราจึงนำองค์ประกอบ 2D ของร่างกายที่เข้มงวดของวัตถุเกมนี้
‫ดังนั้นวัตถุในเกมที่มีสคริปต์การเคลื่อนที่ของลูกบอล ซึ่งจะเป็นเพียงแค่ลูกบอลของเราในตอนนี้ หากเราต้องการเพิ่มลูกบอลหลายลูก
‫เราสามารถทำได้ และทั้งหมดนั้นจะต้องมีร่างกายที่แข็งแรงสำหรับส่วนประกอบ DX ที่กำหนดให้กับพวกมัน
‫ตอนนี้เมื่อเรารู้ 2D ร่างกายที่แข็งแรงแล้ว เราก็สามารถไปข้างหน้าและมีอิทธิพลต่อสิ่งนั้นได้
‫ดังนั้นเราจึงเปลี่ยนความเร็วของมัน ทิศทางของมันคูณด้วยความเร็ว
‫นั่นหมายความว่าไม่ว่าทิศทางใดก็ตามที่ได้รับให้กับวิธีการย้ายบอลของเราจะถูกคูณด้วย
‫ซึ่งเป็นความเร็วในการเคลื่อนที่บวกกับความเร็วพิเศษต่อครั้ง คูณด้วยจำนวนครั้ง
‫เพื่อให้ลูกบอลของเราเคลื่อนที่ในตอนนี้ เราต้องเรียกลูกบอลเคลื่อนที่
‫วิธีที่ดีที่สุดในการทำเช่นนั้นคือการเรียกมันว่าภายในรูทีนของ CO
‫ดังนั้นในการเริ่มต้นรหัสประจำและนั่นหมายความว่าเราไม่ได้ใช้วิธีการอัปเดตซึ่งจะไม่มีประสิทธิภาพมากเพราะเราจะเรียกใช้วิธีการอย่างต่อเนื่องและเปลี่ยนความเร็วอย่างรวดเร็วเป็นต้น
‫และวิธีที่ดีที่สุดที่จะทำคือสร้างวิธี i enumerator จริงๆ
‫ดังนั้นวิธีการที่ส่งกลับตัวแจงนับเพื่อให้เราสามารถใช้สำหรับรูทีนการโทร
‫สิ่งที่เป็นกิจวัตรการโทร
‫มันบังคับให้ทุกอย่างอื่นรอก่อนที่จะมีการกระทำใหม่เกิดขึ้นหรือไม่
‫วิธีนี้ทำให้คุณควบคุมได้ว่าการดำเนินการหนึ่งจะรอการดำเนินการอื่นแทนการเรียกใช้
‫ในขณะเดียวกัน เราจะพบวิธีที่น่าสนใจมากขึ้นในการเริ่มรูทีนโค้ดในบทช่วยสอนเพิ่มเติม แต่ตอนนี้ ลองใช้วิธีนี้เพื่อขยับลูกบอลของเรา
‫ดังนั้นสิ่งที่เราต้องการเป็นอย่างแรกคือวิธีการใหม่ที่เป็นสาธารณะ ซึ่งส่งคืน AI enumerator ซึ่งอย่างที่คุณเห็น รองรับการทำซ้ำอย่างง่ายของคอลเล็กชันที่ไม่ใช่แบบทั่วไปของเรา
‫นั่นคือสิ่งที่เราต้องการ
‫เราเรียกลูกนั้นว่าลูกเริ่มต้น
‫นั่นหมายความว่าวิธีการนี้จะถูกเรียกเมื่อใดก็ตามที่เราเริ่มการเคลื่อนไหวของลูกบอลและเราต้องการบูลีนที่นี่ซึ่งเรียกว่าเป็นผู้เล่นเริ่มต้นหนึ่งเท่ากับจริง
‫นั่นหมายความว่าเราต้องการตัวแปรซึ่งเป็นผู้เล่นเริ่มต้นของเรา และหากไม่มีค่าใด ๆ ให้ไว้ มันก็จะกลายเป็นจริง
‫นั่นหมายความว่าผู้เล่นของเราคนหนึ่งจะเป็นผู้เล่นเริ่มต้น
‫นั่นหมายความว่าลูกบอลจะวิ่งจากซ้ายไปขวา
‫ไม่เป็นไร.
‫และอันนั้นควรเรียกว่าสตาร์ทบอล
‫ตอนนี้ เรายังได้ขีดเส้นใต้สีแดง
‫นั่นหมายความว่าเรายังคงมีข้อผิดพลาดที่นี่
‫นั่นก็เพราะว่าเราไม่คืนของ
‫ไม่ใช่ว่า cold puffs ทั้งหมดจะคืนค่ากลับมา ดังนั้นลองคืนค่าบางค่า
‫สิ่งที่เราต้องการคือ อันดับแรก เราต้องรีเซ็ตตัวนับ Hit ของเรา
‫ดังนั้นเราจึงตั้งค่าให้เป็นศูนย์ที่นี่ จากนั้นเราให้ผลตอบแทนเป็นน้ำหนักใหม่ 4 วินาที
‫นั่นหมายความว่าเราสร้างเกมของเรา
‫รอ 2 วินาที
‫นั่นหมายความว่าเมื่อใดก็ตามที่เราเริ่มเกมหรือเมื่อใดก็ตามที่เราเรียกบอลเริ่มต้น เรารอ 2 วินาทีหลังจากที่เราตั้งค่าตัวนับการตีเป็นศูนย์
‫จากนั้นเราก็เริ่มการเคลื่อนไหว
‫นั่นหมายความว่าเราตรวจสอบว่าเป็นผู้เล่นคนแรกที่เริ่มต้นหรือเป็นผู้เล่นที่เริ่มต้น
‫ดังนั้นผู้เล่นคนนี้จึงเริ่มเล่นเป็นผู้เล่นคนหนึ่ง
‫หากเป็นกรณีนี้ไปข้างหน้า
‫ลูกบอลเคลื่อนที่ดอทนี้
‫เราจึงเรียกวิธีนี้ที่นี่ และให้เวกเตอร์ของเวกเตอร์ใหม่ 2 ตัวที่มีค่าลบหนึ่งกับศูนย์
‫นั่นหมายความว่าลูกบอลจะเคลื่อนที่ไปทางซ้าย มิฉะนั้น ลูกบอลควรเคลื่อนที่ไปทางขวา
‫ดอทนี้ย้ายบอลเวกเตอร์ใหม่ 2 ตอนนี้มันควรเลื่อนไปทางขวา
‫ดังนั้นหนึ่งและศูนย์
‫หนึ่งคือค่า x และศูนย์คือค่า Y อย่างที่คุณเห็น ทุ่น y
‫เอาล่ะ ตอนนี้เรามีสิ่งนั้นแล้ว เราแค่ต้องเริ่มกิจวัตร CO เท่านั้น
‫ดังนั้นเริ่มกิจวัตร CO และที่นี่เราเรียกลูกบอลดอทสตาร์ทของเรา
‫เอาล่ะตอนนี้เรามาบันทึกกันเถอะ
‫เราจะต้องเพิ่มฟังก์ชันการทำงานเพิ่มเติมให้กับเกมในภายหลัง
‫แต่สำหรับตอนนี้ มาทดสอบกันภายในความสามัคคีกัน
‫สิ่งที่ฉันต้องการตอนนี้คือเปลี่ยนมวลของลูกบอลของเรา
‫มันควรจะมีน้ำหนักเบามาก
‫ผมก็เลยใช้ 0 01 และสำหรับมาตราส่วนแรงโน้มถ่วง
‫ฉันจะไปที่ศูนย์
‫เราไม่ต้องการแรงโน้มถ่วงสำหรับลูกบอลของเราเลย
‫อย่างที่คุณเห็นที่นี่ ความเร็วในการเคลื่อนที่อยู่ที่ศูนย์ ความเร็วเพิ่มเติมต่อครั้งจะอยู่ที่ศูนย์ และความเร็วสูงสุดที่เพิ่มขึ้นของเราก็เป็นศูนย์เช่นกัน
‫และนั่นไม่ใช่สิ่งที่เราต้องการ
‫แน่นอน เราต้องการให้ลูกบอลของเราเคลื่อนที่ และค่าเริ่มต้นที่ดีคือ 400
‫ความเร็วพิเศษที่ดีต่อครั้งคือ 50 และความเร็วสูงสุดควรเป็น 1,000
‫นี่เป็นเพียงค่าที่ฉันคิดขึ้นมาหลังจากการทดสอบ
‫และมาดูกันว่าจะเกิดอะไรขึ้นหลังจาก 2 วินาที
‫ลูกบอลของเราเริ่มเคลื่อนที่ไปทางซ้ายเพราะเป็นเทิร์นของผู้เล่นและจากนั้นก็กลับไปกลับมา
‫อย่างที่คุณเห็น ความเร็วเท่ากันมาก จึงไม่เปลี่ยนแปลงจริงๆ
‫ความเร็วจะเท่ากันเสมอแม้ว่าเราจะเพิ่มความเร็วพิเศษต่อค่า Hit นี้แล้วก็ตาม
‫ไปข้างหน้าและเพิ่มความเร็วพิเศษต่อการโจมตีด้วยตัวนับจำนวนครั้ง
‫ดังนั้นเราจึงจำเป็นต้องเพิ่มวิธีการที่จะเพิ่มตัวนับจำนวนการโจมตีของเราทีละตัว
‫และฉันจะเรียกมันว่าตัวนับจำนวนการเพิ่มขึ้นที่เป็นโมฆะสาธารณะ
‫ดังนั้นสิ่งที่จะทำคือจะเพิ่ม Hit Counter ขึ้นทีละหนึ่ง
‫ดังนั้นมันจึงบอกว่าถ้าตัวนับการชนดอทนี้คูณด้วยจุดนี้ ความเร็วพิเศษจะน้อยกว่าความเร็วพิเศษสูงสุดของดอทนี้
‫จากนั้นโปรดไปข้างหน้าและเพิ่มตัวนับการโจมตีเพราะไม่เช่นนั้นเราจะมีความเร็วที่ดีที่จุดหนึ่งและความเร็วที่ไม่จำกัด
‫มันก็จะขึ้นๆ ขึ้นๆ ขึ้นๆ ขึ้นๆ ไปๆ
‫ไม่เป็นไร.
‫วิธีการนั้นไม่ได้ถูกเรียกเลยในตอนนี้ และจะไม่ถูกเรียกภายในสคริปต์การเคลื่อนที่ของลูกบอลของเรา
‫เราจะเรียกมันว่าอย่างไรก็ตามในสคริปต์สำหรับบันทึกของเรา
‫เราจะทำอย่างนั้นในวิดีโอหน้า
‫แต่จนถึงตอนนี้ คุณได้เห็นวิธีเพิ่มการเคลื่อนไหวให้กับลูกบอลของคุณแล้ว และเราจะพูดถึงเรื่องนี้ในวิดีโอหน้า
‫แล้วพบกันใหม่ในวิดีโอหน้า
‫ก่อนที่เราจะทำอย่างนั้น แน่นอนว่าเราต้องเคลียร์กันก่อน เรามาลากการเคลื่อนที่ของลูกบอลเข้าไปในสคริปต์และบันทึกฉากของเราไว้
‫แล้วพบกันใหม่ในวิดีโอหน้า