การ ตั้ง โครงการ ISOS สําหรับ การ เล่า เรื่อง

ก่อนจะเขียนรหัสภาพแบบ เคลื่อนไหวบรรทัดเดียว คุณจําเป็นต้องมีโครงสร้างที่แน่นหนา เรียกใช้ XCode (เปลี่ยนหน้าที่ 15 หรือภายหลัง) และสร้างโครงการ App ใหม่ เลือก Swift เป็นภาษาและยูไอกิตสําหรับส่วนเชื่อมต่อ ชื่อโครงการของคุณ และมั่นใจได้ว่า คุณมีเป้าหมาย IS 16. 0 หรือในภายหลัง เพื่อเข้าถึง April API รุ่นใหม่

ภายในโครงการ ให้จัดการแฟ้มของคุณเป็นกลุ่ม: รุ่น (สําหรับข้อมูลเรื่อง), มุมมอง (สําหรับส่วนประกอบ UI ที่กําหนดเอง), ศูนย์ควบคุม (สําหรับตัวควบคุมมุมมอง), และตัวควบคุม (สําหรับผู้ช่วยและนามสกุล). โครงสร้างนี้ยังคงรักษารหัสไว้ขณะที่คุณขยายเรื่อง.

เพิ่ม [FLT: 0]. มารินสบอร์ด หรือเลือกวิธีการโปรแกรมโดยใช้ [FLT: 0] ชั้นย่อย. สําหรับความยืดหยุ่น นักพัฒนาหลายคนชอบกระดานนิทานสําหรับ procoting อย่างรวดเร็ว และเปลี่ยนรหัสสําหรับการควบคุมแบบดีอัลเกรน (FLT: 0).

การ ออก แบบ อินเทอร์เฟซ เรื่อง เล่า ขาน

ส่วนติดต่อผู้ใช้ควรจะสะอาด, น้อยที่สุด, และเน้นไปยังเรื่อง ราว ใช้ [FLT: 1) สําหรับข้อความยาว, สําหรับภาพประกอบ, และ (FT: 3) สําหรับตัวเลือกเพิ่มเติม ลองพิจารณาการใช้ [FLT: 0] UISctView[FLT: 1] เพื่อจัดวางตําแหน่งธาตุเหล่านี้ให้เป็นระเบียบตามขนาดหน้าจอที่แตกต่างกัน

การจัดวางข้อความ

ตัดเนื้อเรื่องใน [FLT: 4] กับ [FLT: 5] และ [FLT: 6] เพื่อป้องกันการแก้ไขโดยอุบัติเหตุ เปิดใช้งาน [FLT: 7] ด้วยการจัดวางเฉพาะเมื่อเรื่องราวเปิดเผยหน้า. สําหรับ TOFODADVANT [FLT: 8] ภายใน [FLT: 9] เพื่อความเรียบเรียง] แต่แบบร่างภาพเพิ่มเติม.

มุมมองภาพและอักขระ

วางภาพประกอบตัวอักษรหรือภาพพื้นหลังที่อุทิศให้กับ [FLT: 10] ภาพย่อย [FLT: 11] ตั้งค่า [FT: 11] และตัดขอบภาพ สําหรับลูกเล่นหรือการเคลื่อนไหวแบบค่อย ๆ ปรับใช้ [FLT: 12] กับมุมมองภาพ - นี้จะให้ความรู้สึกลึกโดยไม่ต้องกําหนดรหัสภาพ

ปุ่มเลือก

ตัวเลือกที่ออกมาคือ หัวใจของการเล่าเรื่องแบบโต้ตอบ กดปุ่มสองปุ่มหรือมากกว่าที่ด้านล่างจอ ใช้ [FLT: 13] ด้วย [FLT: 14] และสีที่สะท้อนอารมณ์ต่าง ๆ – น้ําอุ่นสําหรับตัวเลือกที่เป็นมิตร เสียงเย็นสําหรับเส้นทางปริศนา เชื่อมต่อของปุ่ม (FT: 15) กับเหตุการณ์ [FLT: 16] ที่ปรับปรุงสถานะและกระตุ้นให้มีความต่อเนื่อง

การ บุกเบิก ข้อมูล เรื่อง ราว

เก็บเรื่องราวของคุณไว้ในโมเดลแบบโครงสร้าง สร้างคลาส [FLT: 17] ที่บรรจุตัวระบุ, ข้อความ, ชื่อ, และชุดวัตถุ :

class StoryNode {
 let id: String
 let text: String
 let imageName: String?
 let choices: [Choice]
 var animationType: AnimationType = .slideIn
}
struct Choice {
 let title: String
 let destinationId: String
}

โหลดข้อมูลเรื่องราวจากแฟ้ม Json หรือฐานข้อมูลท้องถิ่น (เช่น Core Dat หรือ Realm) การเก็บข้อมูลต่าง ๆ ที่แยกออกจากมุมมองตรรกะทําให้การเพิ่มสาขาใหม่ได้ง่ายขึ้นโดยไม่ต้องมีรหัสการสัมผัส

การจัดการระบบ

รักษาพจนานุกรม [FLT: 20] เพื่อติดตามการตัดสินใจของผู้ใช้, รายการต่าง ๆ หรือธง ซึ่งจะทําให้การแบ่งสาขาในเงื่อนไขได้ในภายหลัง ตัวอย่างเช่น หากผู้ใช้ก่อนหน้านี้ได้บันทึกอักขระไว้ เรื่องนี้อาจจะปลดล็อคเส้นทางที่ซ่อนเอาไว้ ปรับปรุงสถานะเพื่อตอบสนองกับแต่ละตัวเลือก และส่งต่อไปยัง [FTT: 21] ตัวต่อไป

การ ทํา ให้ ภาพ ที่ เห็น นั้น ดู น่า ทึ่ง

การเคลื่อนไหวเปลี่ยนเรื่องเป็นประสบการณ์ที่เคลื่อนไหวไม่ได้ อูอิคิตให้กลไกสร้างน้ํา หลายแบบ เลือกอันที่เหมาะสมสําหรับแต่ละผล

พื้นฐานมุมมองเคลื่อนไหว

ใช้ [FLT: 22] สําหรับการเปลี่ยนแปลงส่วนใหญ่ ตัวอย่างเช่น การเลื่อนตัวหนังสือ:

UIView.animate(withDuration: 0.8, delay: 0.2, usingSpringWithDamping: 0.7, initialSpringVelocity: 0.5, options: .curveEaseInOut, animations: {
 characterImageView.center.x = self.view.center.x
}, completion: nil)

การ์ตูนเกี่ยวกับฤดูใบไม้ผลิรู้สึกเป็นธรรมชาติ และเหมาะสมที่สุดสําหรับตัวละครที่เข้ามา หรือข้อความจะเผยให้เห็น

โคเร อะนิเมชั่นกับคาลีเยอ

สําหรับลูกเล่นที่ซับซ้อนเช่น การไล่ข้อความหรือธาตุที่เรืองแสงได้ โดยการทํางานโดยตรงกับ [FLT: 24] และ สร้างแอนิเมชันแบบหรี่ๆ สําหรับออร่าของตัวละครหลัก:

let fadeIn = CABasicAnimation(keyPath: "opacity")
fadeIn.fromValue = 0.0
fadeIn.toValue = 1.0
fadeIn.duration = 2.0
characterLayer.add(fadeIn, forKey: "fadeIn")

การรวมแอนิเมชันหลายๆ แบบ ให้กลายเป็น [FLT: 27] เพื่อหมุน, มาตรา, และค่อย ๆ จางหายไปพร้อมกัน

การเคลื่อนไหวของกรอบกุญแจสําหรับพาธ

ถ้าตัวละครควรเดินตามเส้นทางที่หมุนไปมา (เช่น ผีเสื้อที่บินข้ามหน้าจอ) ใช้ [FLT: 28] กับ :

let path = UIBezierPath()
path.move(to: startPoint)
path.addCurve(to: endPoint, controlPoint1: cp1, controlPoint2: cp2)
let pathAnimation = CAKeyframeAnimation(keyPath: "position")
pathAnimation.path = path.cgPath
pathAnimation.duration = 3.0

เทคนิค นี้ ทํา ให้ มี การ ใช้ งาน อย่าง งดงาม สําหรับ ธาตุ ต่าง ๆ ที่ ไม่ ได้ รับ การ รักษา ซึ่ง ช่วย เสริม บรรยากาศ.

พื้นผิว:

เคลื่อนไหวข้อความที่มีอักษรย่อ [FLT: 31] และตัวจับเวลา (FLT: 31) และตัวจับเวลา (FLT:32) ใช้ กับ (ILT:33+) (IOS 17+) สําหรับผลพิมพ์ดีด) การปรับเทียบแบบมีรายละเอียดหรือเบลอเพื่อแสดงภาพแบบสรุป

ภาพ ที่ เปลี่ยน แปลง ไป

เมื่อย้ายจากโหนดหนึ่งเรื่องไปยังโหนดถัดไป ให้ใช้ตัวควบคุมมุมมองที่กําหนดเอง ปรับใช้ [FLT: 34] เพื่อกําหนดผลกระทบการผลักดันสําหรับช่วงเวลาใกล้ชิด หรือหน้า skcull สําหรับการเปลี่ยนหน้า ซึ่งเป็นการขัดเงามากกว่าการปัจจุบันหรือดิส

เพิ่มธาตุที่ตอบสนองได้

การ ทํา ท่า ทาง ที่ ไม่ ถูก ต้อง อาจ ทํา ให้ คุณ รู้สึก ว่า ยาก ที่ จะ ทํา อะไร ต่อ ไป นี้

การใช้งานระบบเสียงและเสียง

Pair Asurations with load . กระตุ้นการตอบรับแบบ hopic ผ่าน [FLT: 37] เมื่อกดปุ่ม หรือจังหวะเรื่องวิกฤตเกิดขึ้น. วิธีการหลาย ๆ วิธีนี้เพิ่มการ จุ่มตัวอย่างมีนัยสําคัญ.

ชนิดความทึบแสงและความง่ายในการเข้าถึง

รองรับชนิดของตัวอักษรแบบไม่ตายตัว โดยใช้ ( แบบปรับขนาดตัวอักษร) เพื่อให้แน่ใจว่าองค์ประกอบโต้ตอบทั้งหมดมีป้ายที่เข้าถึงได้ ใช้ [FLT: 39] เพื่อประกาศการเปลี่ยนแปลงเรื่องราวไปยังผู้ใช้แบบเสียง

การตั้งแนวร่วม

การ์ตูน ที่ เรียบ ง่าย เป็น เรื่อง สําคัญ; การ จุ่ม ตัว แบบ ไม่ มี การ ควบคุม.

  • การ วาด ภาพ: อย่า วาง บน ชั้น ที่ เต็ม ไป ด้วย ชั้น ที่ มี ชั้น ที่ มี ชั้น ที่ มี ชั้น อิเล็กตรอน ครบ.
  • การไล่สี: ลดการใช้ [FLT: 41] และ [FLT: 42] บนภาพขนาดใหญ่ แทน โดยให้ภาพก่อน หน้านี้แสดงเป็นรหัส หรือใช้มุมมองแบบบรรจุบรรจุบรรจุ
  • ขนาดของภาพขนาดใหญ่: ลดขนาดภาพเพื่อแสดงขนาดภาพ ใช้ [FLT: 43] ด้วยโหมดการแสดงผลที่เหมาะสม

ตั้งค่าพารามิเตอร์ทางเลือก [FLT: 45] เพื่อให้สัมผัสยังคงตอบสนองระหว่างแอนิเมชัน

ทดสอบอุปกรณ์จริง

The ISOS Simulator ไม่ได้ทําการจําลองการทํางานจริง (Factority). ทดสอบการทํางานกับอุปกรณ์หลายอุปกรณ์ โดยเฉพาะรุ่นเก่า (IPL 11 หรือก่อนหน้า). ให้ความสนใจต่อท่อส่งแบตเตอรี่ animations อาจจะทําให้ความร้อนและการใช้แบตเตอรีมากเกินไป ใช้ อย่างรอบคอบและชอบบล็อกแอนิเมชันแบบเวลาแบบย่อมากกว่าวงจรเวลา

เขียนผลการทดสอบหน่วยสําหรับตรรกะของรัฐ และการทดสอบ UI สําหรับผู้ใช้วิกฤต การเทกระแส A/B ทดสอบระยะเวลาการเคลื่อนไหวที่แตกต่างกัน และรูปแบบที่มีผู้ใช้น้อย เพื่อดูว่าอะไรทําให้เกิดการหมั้นที่สูงขึ้น

การ จัด พิมพ์ และ การ แจก จ่าย

เมื่อโปรแกรมของคุณถูก ขัดเงา ให้บันทึกมันไว้ใน Xcode และอัปโหลดไปยัง App Stop internects ที่แสดงภาพเคลื่อนไหวที่ดีที่สุดของคุณ โปรดเขียนคําอธิบายที่แอ็กทีฟ แจ้งให้ทราบเมื่อทําการแจ้งเหตุการณ์

สําหรับทรัพยากรภายนอก สืบค้นข้อมูล [FLT: 0] การอนุมานและข้อมูลเชิงเทคนิค และ คู่มือการเคลื่อนไหว สําหรับแรงบันดาลใจ สืบค้น[FT: 4] สืบค้นเมื่อ FOT: 4] สืบค้นเมื่อ พระธรรมไอโอเอสของสมเด็จพระจุลจอมเกล้า (FLT: 5).

รูปแบบการวน

สร้างแอพแบบโต้ตอบสําหรับ ICO ด้วยภาพเคลื่อนไหวที่กําหนดเอง เป็นการผสมผสานที่คุ้มค่าของการออกแบบเรื่องและทักษะทางเทคนิค โดยการสร้างข้อมูลของคุณ เลือกเทคนิคการเล่าเรื่องที่เหมาะสม และใช้เทคนิคการทดสอบอย่างรัดกุม

ตอน นี้ เปิด ระบบ Xcode แล้ว นํา ตัว ละคร แรก ของ คุณ มา ที่ จอ.