‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะมาดูวิธีที่เราสามารถเพิ่มข้อความไดนามิกลงในข้อความบันทึกของเราโดยใช้สตริงใน
‫C++
‫มาดำดิ่งและเรียนรู้เกี่ยวกับสตริงและ C++ กัน
‫เราได้เห็นวิธีการพิมพ์สิ่งง่ายๆ จากบันทึก UI ของเราแล้ว แต่ถ้าเราต้องการพิมพ์ข้อความเพิ่มเติม
‫เช่น ชื่อนักแสดง หรือแม้แต่สิ่งที่ซับซ้อนกว่านั้น เช่น การแสดงข้อความของ
‫เวกเตอร์?
‫โดยทั่วไปแล้วจะไม่มีตัวระบุรูปแบบเนื่องจากตัวระบุรูปแบบมาหาเราตั้งแต่อายุ
‫C ซึ่งเป็นภาษาการเขียนโปรแกรมพื้นฐานเมื่อเปรียบเทียบกับ C ++
‫และในขณะนั้นยังไม่มีความคิดบางอย่าง
‫ดังนั้นสิ่งต่าง ๆ เช่นเวกเตอร์จะไม่รวมอยู่ในวิธีที่เราจัดรูปแบบเพื่อระบุ
‫ดังนั้นเราจึงมักจะใช้สตริงเพื่อทำสิ่งนี้
‫และอย่างที่เราได้กล่าวไปแล้ว สตริงเป็นเพียงตัวแปรข้อความ
‫เป็นตัวแปรที่มีข้อความเพื่อให้เราสามารถประกาศสตริงได้
‫ใน C ++ เราใช้เวกเตอร์ F ซึ่งก่อนหน้านี้เราใช้เวกเตอร์
‫ในที่นี้เราจะใช้สตริง F เป็นประเภทสำหรับสตริงเพื่อให้เราสามารถมีสตริงได้
‫และตอนนี้ฉันจะใส่สตริงของฉันเป็นชื่อตัวแปร
‫และเราจะตั้งค่าสตริงได้อย่างไร?
‫เราเคยเห็นมาบ้างแล้วแถวๆนี้
‫อัญประกาศคู่เหล่านี้คือสิ่งที่แสดงถึงค่าสตริงใน C++
‫นิพจน์ทั้งหมดเหล่านี้ ที่นี่ ซึ่งเรามีเครื่องหมายอัญประกาศคู่ในไฟล์ส่วนหัว
‫ซึ่งเราได้อัญประกาศคู่สำหรับหมวดหมู่ที่เป็นนิพจน์สตริง
‫สิ่งที่เราสามารถทำได้คือตั้งค่าตัวแปรสตริงของฉันจากสิ่งนี้ และฉันจะบอกว่าค่าสตริงของฉันเพียงเพื่อให้แนวคิดเกี่ยวกับสิ่งนั้นและใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัด
‫แล้วเราจะแสดงใน a บันทึกคำสั่ง?
‫ผมจะลบระยะการเคลื่อนที่ออกจากตรงนี้เพื่อเป็นอาร์กิวเมนต์ของบันทึก
‫และจะเปลี่ยนข้อความในข้อความบันทึกเพื่อบอกว่า นี่คือโคลอนสตริง
‫จากนั้นแทนที่จะระบุ F เราใช้เปอร์เซ็นต์ SSE ในครั้งนี้เพื่อระบุสตริงที่เราต้องการพิมพ์
‫แล้วอาร์กิวเมนต์ที่เราส่งผ่านไปยังฟังก์ชันบันทึก E อีกครั้งระหว่างวงเล็บทั้งสองนี้จะเป็นสตริงของฉัน
‫น่าเสียดายที่มันคงจะดีถ้าเพียงแค่ทำงานด้วยตัวเอง
‫แต่น่าเสียดายที่ Unreal มีความยุ่งยากเล็กน้อยที่พวกเขาจะไม่ยอมรับสตริงที่ตรงไปตรงมาเป็นอาร์กิวเมนต์ของบันทึก
‫YUI
‫มันต้องการตัวดำเนินการแปลงเล็กน้อยที่นี่ และวิธีที่เราทำคือใส่เครื่องหมายดอกจันไว้หน้าสตริงของฉัน
‫และมันเพียงแค่แปลงจากสตริง F เป็นรูปแบบที่ค้นหาภายในในบันทึก U
‫เราไม่ต้องลงรายละเอียดมากเกินไปว่าเหตุใดจึงทำเช่นนี้
‫มันเกินระดับที่เราต้องรู้ในเวลานี้
‫ฉันคิดว่ามันสำคัญมากที่จะต้องเรียนรู้มัน เพราะเมื่อเราทำเปอร์เซ็นต์ se เราจำเป็นต้องมีดาวอยู่ข้างหน้าสตริง
‫f ของเราเสมอ
‫มาดูกันว่ามันใช้ได้ผลหรือไม่โดยเข้าไปที่ Unreal แล้วกดปุ่มคอมไพล์
‫จากนั้นเราจะปิด live coding, hit play, เปิด output log และไปที่นี่ นี่คือ string
‫ของฉัน, ค่า string ของฉัน
‫มันเลยพิมพ์ค่าในสตริงของฉัน
‫แต่แน่นอนว่าโค้ดชิ้นนี้ที่ฉันเพิ่งเขียนไปไม่ได้มีประโยชน์อะไรเป็นพิเศษ เพราะฉันสามารถเขียนสตริงนี้ไว้ที่นี่ได้
‫ทำไมต้องกังวลกับธุรกิจทดแทนทั้งหมดนี้?
‫จุดที่น่าสนใจมากขึ้นคือจุดที่เราใส่ค่าไดนามิกลงในตัวแปรนี้แทน
‫ดังนั้นเราจึงสามารถเรียกชื่อนั้นได้
‫นั่นคือฟังก์ชั่นที่มีอยู่ในตัวนักแสดงแพลตฟอร์มเคลื่อนไหวที่ได้รับชื่อของนักแสดงที่เราเห็นในซับระดับเราสามารถใส่ลงในตัวแปรได้
‫ฉันจะเรียกชื่อตัวแปรนั้นแทนสตริงและเปลี่ยนชื่อที่นี่ในบันทึกของสหรัฐอเมริกาด้วย
‫จากนั้นเราสามารถเปลี่ยนข้อความของข้อความบันทึกเป็น start play colon แล้วมันจะเป็นชื่อของนักแสดง
‫ลองกลับไปสู่สิ่งที่ไม่จริง หยุดเล่น ตี รวบรวม ไปข้างหน้าและกดเล่น และเปิดบันทึกผลลัพธ์ คุณจะเห็นว่าเราได้รับข้อความว่า
‫เริ่มเล่น แพลตฟอร์มเคลื่อนที่ หนึ่ง เริ่มเล่น เคลื่อนไหว
‫แพลตฟอร์มสามผลักดัน
‫กุ๊บสาม ดัน เก็บห้า ดัน เก็บเจ็ด
‫ดังนั้นเราจึงมีผลงานมากมายและชื่อทั้งหมดของนักแสดงที่แตกต่างกัน
‫ตอนนี้สิ่งนี้มีประโยชน์มาก เพราะในช่วงหลังๆ ที่เราพิมพ์ระยะการโอเวอร์ชูตของเรา
‫ไม่ชัดเจนเสมอไปว่าใครเป็นคนยิงเกินในกรณีนี้ เพราะพวกเขาเริ่มสับสนกันหมด
‫ดังนั้น การพิมพ์ชื่อนักแสดงที่สร้างข้อความบันทึกจึงมีประโยชน์อย่างมากในการระบุว่าปัญหาอยู่ที่ไหน
‫เกิดขึ้น
‫ดังนั้นฉันจึงขอท้าให้คุณบันทึกชื่อด้วยบันทึกการโอเวอร์ชูตนั้น เพื่อที่เราจะได้เห็นว่าใครมีโอเวอร์ช็อตและได้มากน้อยเพียงใด
‫ดังนั้นคุณจะเพิ่มตัวแปรสำหรับชื่อของนักแสดงที่จะทำเครื่องหมายเหมือนที่เราทำใน Begin Play
‫คุณจะได้รับชื่อเข้าไป และคุณจะเพิ่มเปอร์เซ็นต์ตามที่ระบุไว้ในที่ใดก็ได้ที่คุณต้องการในข้อความบันทึกของคุณ
‫ซึ่งเราจะพิมพ์ว่าเกินเลย และคุณจะเพิ่มอาร์กิวเมนต์สำหรับชื่อนั้น
‫เรายังคงต้องการตัวแปร overshoot ในรายการอาร์กิวเมนต์ แต่ก่อนหน้านั้น คุณจะต้องใส่อาร์กิวเมนต์สำหรับชื่อด้วย
‫และสิ่งสำคัญคือต้องได้ยินว่าลำดับของอาร์กิวเมนต์ตรงกับลำดับของตัวระบุในข้อความของคุณ
‫ดังนั้นหากคุณใส่เปอร์เซ็นต์ก่อนเปอร์เซ็นต์ f นั่นคือลำดับ
‫ชื่อควรมาก่อนโอเวอร์ชูตหรือคุณควรทำในทางกลับกันถ้าคุณทำอย่างอื่น
‫และอย่าลืมเพิ่มดาวก่อนชื่อตัวแปรของคุณเพื่อแปลงสตริงเป็นสิ่งที่บันทึกที่คุณใช้ได้
‫หยุดวิดีโอชั่วคราวและไปกันเลย
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫ดังนั้นเราจะเริ่มด้วยการหาตัวแปร และนี่ไม่จำเป็นอย่างยิ่ง แต่เราจะใช้ตัวแปรเพียงเพื่อความเรียบง่ายและทำให้บรรทัดนั้นสั้นลงเล็กน้อย
‫ดังนั้นเราจะมีสตริง F ที่เรียกว่าชื่อโดยใช้อักษรตัวพิมพ์ใหญ่ ซึ่งปกติแล้วจะเริ่มต้นชื่อตัวแปรของเรา
‫เราจะใช้ชื่อในตัวแปรนั้นแล้วเราจะใช้เป็นอาร์กิวเมนต์
‫แต่ฉันจะวางรูปแบบของฉันไว้ที่ใด ระบุในข้อความบันทึก
‫ฉันจะใส่มันเป็นสิ่งแรกในข้อความบันทึกของฉันเพื่อให้ชัดเจนว่านี่เป็นข้อความบันทึกที่มาจากสิ่งนี้
‫ผมจะใส่เปอร์เซ็นต์ก่อน และนั่นหมายความว่าอาร์กิวเมนต์ของผมต้องไปก่อนอาร์กิวเมนต์ที่เกินเลย
‫เราจะเอาชื่อของพวกเขามาใส่ที่นี่ และเราต้องใส่เครื่องหมายดอกจันหน้าชื่อเพื่อที่จะแปลงให้เหมาะสม
‫ตอนนี้ขอกลับไปที่บรรณาธิการ
‫หยุดเล่น Hit คอมไพล์ใหม่ ปิดเทอร์มินัล กดเล่น และเปิดบันทึกเอาต์พุต
‫และคุณจะเห็นว่าเราเริ่มได้รับข้อความติ๊กผ่านเข้ามา
‫ถูกผลักและโอเวอร์ช็อตด้วยการกดเพียงครั้งเดียวและ q11
‫ดังจะเห็นได้จากที่นี่ คุณสามารถสรุปได้ว่าเราไม่สามารถสรุปได้ก่อนหน้านี้ ซึ่งก็คือแพลตฟอร์มที่เคลื่อนที่เร็วกว่า
‫ลูกบาศก์แบบผลัก คืออันที่โอเวอร์โหลดมากกว่า ในขณะที่แพลตฟอร์มที่เคลื่อนที่ดูเหมือนจะโอเวอร์โหลดน้อยกว่า
‫ซึ่งก็คือ ฉันจะคาดหวัง
‫แต่เป็นการดีที่ได้รับการยืนยันที่นี่ในบันทึก
‫สิ่งที่ดี
‫นั่นคือทั้งหมดสำหรับการเบี่ยงเบนการบันทึกเล็กน้อยของเรา
‫หวังว่าคุณจะพบว่าสิ่งนี้น่าสนใจ แล้วพบกันใหม่ในการบรรยายครั้งต่อไป