הקמת פרויקט iOS שלך עבור Storytelling

לפני כתיבת שורה אחת של קוד אנימציה, אתה צריך בסיס מוצק. Launch Xcode (הגרסה 15 או מאוחר יותר מומלץ) וליצור פרויקט חדש App. בחר סוויפט כמו השפה ו- UIKit עבור הממשק.שם הפרויקט שלך ולהבטיח לך לכוון את iOS 16.0 ואילך כדי לגשת לממשקי האנימציה האחרונים.

בתוך הפרויקט, לארגן את הקבצים שלך לקבוצות: מודלים (עבור נתונים לסיפור), תצוגות (עבור רכיבים מותאמים אישית של UI), בקרים (לבקרי תצוגה), ו- Utilities (לסייעים ותוספים) מבנה מודולרי זה שומר קוד על קיום ככל שהסיפור שלך גדל.

הוסף את ה-FLT:0.CE.CECEFLT 1 או בחר גישה מתודולוגית באמצעות (FLT:0 subclasses. for גמישות, מפתחים רבים מעדיפים לוחות סיפורים עבור פשטות מהירה ולאחר מכן מעבר קוד לשליטה על בסיס עדין.

עיצוב ממשק Storytelling

(הממשק המשתמש צריך להיות נקי, מינימלי וממוקד בנרטיב. השתמש ב-1:1 עבור קטעי טקסט ארוכים, AFLT:2 עבור איורים, ו-FLT:3 מקרים עבור אפשרויות סניף.

שם הסרטון: Layout

[קרא] ויקרא י"ד:5] ו[5] , ויקרא ויקרא י"א] בפרשת תלמוד ב', ב[[1924]], ב[[1924]], ב[[1924]], ב[[1924]],]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]

תמונות ודימויים

איורים אופי מקום או תמונות רקע בתצוגה ייעודית של FLT:10 , SetFLT:11 ו קליפ לקשורים.עבור אפקטים parallax או תנועה עדינה, ליישם את מצע 12 לתצוגה התמונה - זה נותן תחושה של עומק ללא קוד אנימציה מותאם אישית.

בחירת בוטו

אפשרויות חפירה הן לב של סיפור סיפורים אינטראקטיביים.מיקום שני כפתורים או יותר בתחתית המסך. השתמש ב- 13 עם FLT:14 וצבעים tint המשקפים מצב רוח - גוונים חמים לאפשרויות ידידותיות, גוונים מגניבים עבור מסלולים מסתוריים.חבר כל אירוע FLT:15 של כל כפתור ל-FLT:16 כי מעדכן את הסיפור וגורם אנימציה מקביל.

אדריכלות: Story Data

תקנו את הסיפור שלכם במודל מובנה (בשיתוף פעולה) ו[[1924]], [[1924]], [[1924]], [[1924]]]], [[1924]], [[1924]]]]]]

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 או Realm) לשמור נתונים נפרדים מלוגיקה ראייתית עושה את זה קל להוסיף סניפים חדשים ללא קוד נוגע.

ניהול המדינה

שמור על מילון כדי לעקוב אחר החלטות משתמשים, מלאי או דגלים.זה מאפשר סניף מותנה מאוחר יותר.לדוגמה, אם המשתמש הציל בעבר אופי, הסיפור עשוי לפתוח דרך נסתרת.עדכון המדינה בתגובה לכל בחירה ולהעביר אותו ל-FLT:21 הבא.

יישום Custom Animations

האנימציה הופכת סיפור סטטי לחוויה אימרנית.ה- UIKit מספקת מספר מנגנונים בנויים; לבחור את הנכון לכל השפעה.

« « « « « « « « « « « « « « « « « « « אנימציה»

השתמש ב-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)

אנימציה האביב מרגיש טבעי והם אידיאליים עבור הכניסות אופי או טקסט מגלה.

אנימציה עם CALayer

לאפקטים מורכבים יותר כמו טקסט מחלחל או אלמנטים זוהרים, לעבוד ישירות עם (FLT:24 ו-FLT:25) ליצור אנימציה דו-אט עבור ההילה של הדמות הראשית:

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

שילוב מספר אנימציה לתוך ההרחבה של FLT:27 כדי לסובב, בקנה מידה, ולפוגע בו זמנית.

Keyframe Animations for Paths

אם יש לעקוב אחר נתיב רוח (למשל, פרפרים על פני המסך), השתמש ב-FLT:28 עם FLT:29:

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

טכניקה זו עובדת יפה עבור אלמנטים דקורטיביים אשר משפרים את האווירה.

שם מקור: Text-Specific Animations

(ב) ,לצלם (במדבר כ"ד) ו[[1924]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]] ו[[1924]], [[1924]]

אימוני מעבר בין סצנות

כאשר נעים מסיפור אחד, השתמש במעברי ראיית פנים מותאמים אישית.קונפורציה ל-FLT:34 כדי להגדיר אפקט דחיפה לרגעים אינטימיים או דף-אתר עבור הפעלת דף.זה יותר מזווית פשוטה / אי-סלאר.

הוספת יסודות אינטראקטיביים

מעבר ללחצנים, לשלב מחוות לעמקת האינטראקציה.חוות Swipe יכולות לקדם את הסיפור או לחשוף חפצים נסתרים. לונג-דכא יכול לבדוק פריט.הוספת AFLT:35 על דמות המאפשרת גרירה - ולבודד את הדמות בחזרה למצב המקורי שלו אם נשרה מחוץ לאזור היעד.

סאונד ו- Haptic Feedback

אנימציה אווירית עם אודיו באמצעות (FLT:36 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

דינמי סוג וגישה

תמיכה בטיפוס דינמי באמצעות גופנים מועדפים (ראהFLT:38 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

אופטימיזציה

אנימציה Smooth הם קריטי; טיפות מסגרת לשבור סיבולת.פרופיל היישום שלך עם Xcode של מכשירים (כלי אנימציה משותף)

  • ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • מידות תמונה גדולות: תמונות למטה כדי להציג גודל.שימוש ב-:43 עם מצבי הגשה מתאימים.

§ פרמטר אפשרויות ל-FLT:44 כך שמגעים נשארים היענות במהלך האנימציה.

בדיקות על מכשירים אמיתיים

ה-iOS Simulator אינו משכפל ביצועים בעולם האמיתי.מבחן על מכשירים מרובים, במיוחד דגמים מבוגרים (iPhone 11 או קודם לכן) לשים לב לניקוז סוללות - אנימציה מוגזמת עלולה לגרום לשימוש חום וסוללה.

כתוב בדיקות יחידה עבור סיפור שלך לוגיקה המדינה בדיקות UI עבור זרימת משתמשים קריטיים.A / B לבחון משך אנימציה שונה וסגנונות עם קבוצת משתמשים קטנה כדי לראות מי מניב מעורבות גבוהה יותר.

פרסום והפצת

כאשר האפליקציה שלך מלוטשת, ארכיון זה ב Xקוד והעלאה ל- App Store Connect. הכינו צילומי מסך המציגים את האנימציה הטובה ביותר שלך.כתב תיאור מרתק המדגיש את הנרטיב האינטראקטיבי.

למשאבים חיצוניים, עיין במדריך האנימציה הרשמי של אפל:0 ;0;0) ,התעדויות וההיפניות של ה- Hapticsתיעוד ,(FLT: 3) לקבלת השראה, לחקור את ספר האנימציה של ה-iOS של ארקסטוקו:5.

מסקנה

בניית אפליקציה סיפור אינטראקטיבית עבור iOS עם אנימציה אישית היא תערובת מתגמל של עיצוב נרטיב ומיומנות טכנית. על ידי בניית נתוני הסיפור שלך, בחירת טכניקות אנימציה נכונה, וביצועים בדיקה קפדנית, אתה יכול ליצור אפליקציה שבאמת מחלישה משתמשים.התחל עם אינטראקציות קטנות - שקופיות, עקום, זינוק - אז מורכבות עד שהעולם שלך מרגיש חי.

השילוב של עיצוב מתחשב, קוד נקי, ואנימציה מלוטשת יגדיר את אפליקציית הסיפור שלך בנפרד בשוק צפוף.עכשיו פתח Xcode ותביא את הדמות המונפשת הראשונה שלך למסך.