‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะเรียนรู้ว่าคำสั่ง if โดยพื้นฐานแล้ว C++ คือข้อความสั่งสาขา
‫และเราจะใช้มันเพื่อส่งแพลตฟอร์มของเราไปข้างหลังและข้างหน้า
‫มาดำน้ำกันเถอะ
‫จึงมีสถานที่สองสามแห่งในความคิดเห็นในขณะนี้ที่เรากล่าวว่าเราควรทำอะไรบางอย่างหากเราไปไกลเกินไป
‫เราจะทำอย่างไรถ้า
‫ก่อนหน้านี้ใน Blueprint เราทำอย่างนั้นถ้ามีโหนดสาขา
‫ตอนนี้ใน C ++ มีแนวคิดที่คล้ายกันและเรียกว่าคำสั่ง if
‫นี่คือโหนดสาขาที่เรามีเป็นตัวอย่างก่อนหน้านี้ และคุณจะเห็นว่าเรามีตัวแปรนี้
‫มันบอกว่า ฉันหิวแล้ว มันเป็นบูลีน และเราสามารถใส่มันในเงื่อนไข แล้วเราก็ได้ค่าจริง
‫สาขาการดำเนินการหรือสาขาการดำเนินการเท็จและเราสามารถเรียกใช้ฟังก์ชันโค้ดได้
‫สิ่งใดก็ตามใน Blueprint ใน C++ จะคล้ายกันมาก ยกเว้นเป็นข้อความ
‫ดังนั้นเราจึงมีตัวแปรที่เรียกว่า I'm Hungry ซึ่งเป็นบูลีน และเราสามารถบอกได้ว่ามีวงเล็บอยู่รอบ ๆ
‫นั้นหรือไม่
‫จากนั้นเราจะเปิดวงเล็บปีกกาบางส่วนหลังจากคำสั่ง if ของเราบ่อยครั้งในบรรทัดถัดไป จากนั้นภายในวงเล็บปีกกาเหล่านี้
‫เราสามารถดำเนินการสิ่งที่ควรเกิดขึ้นได้หากมันเป็นเรื่องจริง
‫เรากำลังบอกว่าถ้าฉันหิว ให้กินอาหารขยะในขณะที่ภรรยาไม่ได้ดู แล้วเราก็ปิดเหล็กดัดของเราเพื่อบอกว่า
‫โอเค นั่นคือจุดสิ้นสุดของสิ่งที่ควรเกิดขึ้นอย่างมีเงื่อนไข
‫แล้วมีตัวเลือกว่าถ้าเราต้องการใส่สาขาปลอม ถ้าเราต้องการเชื่อมต่อบางอย่างกับเท็จที่นี่
‫เราก็ใส่คีย์เวิร์ด else และเราสามารถเริ่มเครื่องมือจัดฟันชุดที่สองได้
‫และที่นี่เราสามารถเล่นวิดีโอเกมต่อจากนั้นเราก็ปิดเหล็กดัดฟันได้
‫ตอนนี้เราสามารถมีเส้นได้มากเท่าที่เราต้องการระหว่างวงเล็บปีกกาเหล่านี้
‫ไม่จำเป็นว่าจะมีเพียงบรรทัดเดียว
‫ดังนั้นคุณสามารถเพิ่มโค้ดจำนวนมากที่นี่ได้หากต้องการ หรือเพียงแค่บรรทัดเดียวก็ได้
‫และด้วยตัวแปรในนี้ด้วย มันไม่จำเป็นต้องเป็นตัวแปรที่เสียบเข้ากับคำสั่ง if
‫อาจเป็นนิพจน์ใดๆ ที่คืนค่าบูลีน
‫ดังนั้นคุณสามารถเรียกใช้ฟังก์ชันได้เล็กน้อยที่นี่
‫คุณสามารถใช้ตัวดำเนินการเพื่อให้ได้ผลลัพธ์ที่ต่างออกไป
‫เราจึงมีตัวเลือกที่แตกต่างกันเล็กน้อย
‫แต่ก่อนหน้านั้น เราจำเป็นต้องกำหนดค่าว่าแพลตฟอร์มนี้ได้รับอนุญาตให้ไปได้ไกลแค่ไหนก่อนที่มันจะกลับมา
‫และในการทำเช่นนั้น เราต้องการคุณสมบัติ U
‫ขณะนี้เราได้ย้ายระยะทางของเราเป็นที่มองเห็นได้ทุกที่
‫มาสร้างใหม่ด้านบนนี้กันเถอะ ทรัพย์สินของคุณที่ควรแก้ไขได้ทุกที่ เพราะเราต้องการกำหนดค่าในเครื่องมือแก้ไข
‫และฉันจะใช้ประเภทเดียวกันของแพลตฟอร์มการย้ายจากด้านบนและด้านล่าง
‫ตรงนี้จะเป็นประเภท float เพราะมันจะเป็นระยะทาง และผมจะเรียกมันว่าระยะเคลื่อนที่
‫เพื่อให้เราสามารถกำหนดเป็นค่าเริ่มต้นได้
‫ฉันจะให้มัน 100 หน่วยเป็นค่าเริ่มต้น แต่เห็นได้ชัดว่าเราสามารถแทนที่สิ่งนั้น
‫เปลี่ยนแปลงในโปรแกรมแก้ไข และจากนั้นเราสามารถใช้ประโยชน์จากสิ่งนี้ในไฟล์ C++
‫วิธีที่เราจะทำคือ เราได้ย้ายระยะตัวแปรไปแล้ว
‫ที่จริงฉันต้องการที่จะไม่สามารถสังเกตได้อีกต่อไป
‫ดังนั้นฉันจะลบคุณสมบัติที่มองเห็นได้ทุกที่และตัวแปรระยะทางที่ย้ายออกจากไฟล์ส่วนหัว
‫จากนั้นฉันจะกลับไปที่ C ++ และเราจะต้องประกาศเป็นตัวแปรท้องถิ่นแทน
‫วิธีง่ายๆ ในการเปลี่ยนแปลงคือติดทุ่นลอยไว้ข้างหน้าการเคลื่อนที่ระยะไกล โดยพื้นฐานแล้วประกาศว่าเป็นตัวแปรท้องถิ่นตรงนี้ในขีด
‫ซึ่งหมายความว่าเรารู้ว่ามันสดใหม่ทุกครั้งที่เราใช้
‫ตอนนี้เราจำเป็นต้องกลับทิศทางหากเราไปไกลเกินไป
‫วิธีที่เราสามารถทำได้คือ เราสามารถใช้ตัวดำเนินการน้อยกว่าหรือเท่ากับหรือเท่ากับหรือมากกว่าที่เราเคยเห็นในอดีตเป็นโหนดในพิมพ์เขียว
‫แต่ตอนนี้เราสามารถใช้มันเป็นตัวดำเนินการเหมือนที่เราบวกหรือคูณได้
‫และวิธีที่เราทำได้ก็คือ โอเค เราย้ายระยะทางได้แล้ว
‫นี้มากกว่าระยะเคลื่อนที่?
‫เราจึงสามารถใช้สัญลักษณ์มากกว่า ซึ่งก็คือบั้งนี้
‫แล้วเราก็ใส่ระยะเคลื่อนที่ได้ และดูเหมือนผมจะเรียกมันว่าระยะเคลื่อนที่ แต่ผมคิดว่ามันควรเป็นระยะเคลื่อนที่
‫ดังนั้นฉันจึงบังเอิญมี D พิเศษอยู่ในนั้น
‫ลองลบมันออกจากไฟล์ส่วนหัวแล้วคุณจะเห็นนิพจน์นี้ส่งคืนบูลีนเพื่อให้เราสามารถใช้มันในคำสั่ง
‫if ของเราได้
‫สิ่งที่เราทำได้คือเราสามารถพูดได้ว่าถ้าช่องว่างเปิดวงเล็บ แล้วผมจะตัดนิพจน์นี้และวางลงในวงเล็บเหล่านั้น
‫มันบอกว่าถ้าระยะทางที่เคลื่อนที่มากกว่าระยะเคลื่อนที่ เราก็อยากจะกลับทิศทาง
‫นั่นคือสิ่งที่เรากำลังทำความคิดเห็นนี้
‫เราต้องการย้อนกลับทิศทางของการเคลื่อนไหวและย้อนกลับทิศทางของการเคลื่อนไหว
‫เรามีความเร็วของแพลตฟอร์ม
‫ลองตั้งค่าความเร็วของแท่นเป็นค่าลบของตัวมันเอง โดยพื้นฐานแล้วจะกลับทิศทางของมัน
‫ดังนั้นความเร็วของแพลตฟอร์มจึงเท่ากับ
‫ความเร็วของแพลตฟอร์มเชิงลบ
‫นั่นคือการพลิกลูกศรของความเร็วโดยพื้นฐาน
‫ผมจะใส่เครื่องหมายอัฒภาคต่อท้ายบรรทัดนั้น และลองดูว่าคำสั่งนี้ได้ผลจริงตามที่เราตั้งใจหรือไม่
‫ไปที่ตัวแก้ไขแล้วกดคอมไพล์
‫และตอนนี้ที่ทำสำเร็จแล้ว เราก็สามารถกดเล่นได้เลย และดูว่าจะเกิดอะไรขึ้น
‫ดังนั้นฉันจึงคาดหวังว่ามันจะเดินหน้าและถอยหลังได้มากพอๆ กับที่มันทำ และนั่นก็ค่อนข้างดี
‫ทีนี้ สิ่งที่เกิดขึ้นจริงคือ มันเลยจุดเริ่มของมันไปหน่อย
‫เหตุผลที่ว่า
‫ถ้าเรามองดู นั่นคือจุดเริ่มต้น
‫และถ้าผมไปตีและมองไปด้านข้างจากมุมเดียวกันกับที่ผู้เล่นของผมยืนอยู่ คุณจะเห็นว่ามันเคลื่อนที่เป็นระยะทางเท่ากันจากจุดเริ่มต้นในแต่ละทิศทาง
‫และนั่นเป็นเพราะเมื่อเราดูสิ่งที่กำลังคำนวณที่นี่ ระยะทางที่เคลื่อนที่มาจากตำแหน่งเริ่มต้นที่ไม่เคยเปลี่ยนแปลง
‫เราไม่เคยอัปเดตตำแหน่งเริ่มต้นนั้น ดังนั้นเราจึงไปในทิศทางเชิงลบ
‫จากนั้นเราจะเดินทางผ่านมันเท่ากับที่เราเดินทางอีกทางหนึ่ง
‫นั่นไม่ใช่วิธีที่ฉันต้องการให้แพลตฟอร์มของฉันทำงาน
‫ฉันจะขอท้าให้คุณอัปเดตตำแหน่งเริ่มต้นของคุณ
‫เรากำลังจะทำสิ่งนั้นภายในคำสั่ง if
‫ดังนั้นมันจะเกิดขึ้นก็ต่อเมื่อเราถึงจุดสิ้นสุดของการเดินทาง และคุณจะต้องตั้งค่าให้อยู่ที่ตำแหน่งปัจจุบัน
‫โดยพื้นฐานแล้ว เราจะรีเซ็ตจุดเริ่มต้นของเราไปที่อีกด้านหนึ่ง จากนั้นเราก็สามารถเดินทางในทิศทางตรงกันข้ามได้
‫ดังนั้นให้ทดสอบผลลัพธ์และดูว่าได้ผลตามที่คุณคาดหวังหรือไม่
‫หยุดวิดีโอชั่วคราวแล้วเริ่มกันเลย
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫เรากำลังจะไปหลังจากที่เราย้อนความเร็วตรงนี้แล้ว ไม่สำคัญหรอกว่าจะเป็นหลังหรือก่อนเพราะมันไม่มีผลกระทบซึ่งกันและกัน
‫เราจะตั้งค่าตำแหน่งเริ่มต้นให้เท่ากับตำแหน่งปัจจุบัน ซึ่งหมายความว่าในเฟรมถัดไป ระยะทางที่เคลื่อนที่จะเป็นศูนย์
‫เพราะเรารู้ว่าระยะห่างระหว่างตำแหน่งเริ่มต้นกับตัวเองจะเป็นศูนย์
‫กลับไปที่ Unreal กดปุ่มคอมไพล์
‫และเมื่อเสร็จแล้วให้กดเล่นและดูว่าเกิดอะไรขึ้นตอนนี้
‫ดังนั้นฉันจึงคาดหวังว่าสิ่งนี้จะเดินหน้าและถอยหลัง
‫ไปเลย
‫จำนวนยูนิตที่เท่ากันจะกลับไปที่ตำแหน่งเริ่มต้นเสมอ ไม่ย้อนกลับไปอีกเลย
‫ซึ่งยอดเยี่ยมมาก
‫สิ่งที่ฉันต้องการให้เกิดขึ้น
‫สำหรับการบรรยายครั้งนี้ เราได้เรียนรู้วิธีการใช้คำสั่ง if และนิพจน์บูลีนเพื่อทำเช่นนั้น
‫และเราอนุญาตให้ส่งแพลตฟอร์มของเราไปมา
‫สิ่งที่ดี
‫เจอกันใหม่ตอนหน้าค่ะ