
navigator.accelerometer.getCurrentAcceleration מחזירה את התאוצה הנוכחית. היא מקבלת פונקציה להצלחה ופונקציה לכישלון.watchAcceleration דוגמת את התאוצה בקצב קבוע, והקצב נקבע באובייקט JSON.navigator.accelerometer.getCurrentAcceleration(success, error)navigator.accelerometer.watchAcceleration(success, error, { frequency: 1000 }) - דגימה כל 1000 מילישניות.הטקסט המלא של הדקות הראשונות בהרצאה «Accelerometer» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו מגיעים לשימוש ברכיב שנקרא אקסלרומטר. זהו רכיב שנמצא בטלפון הנייד, שמאפשר לגלות את התזוזה של הטלפון על ציר X, על ציר Y ועל ציר Z. אנחנו דרך הרכיב הזה יכולים לגלות את התזוזה, ולפי זה לבנות משחקים, לבנות כל מיני אפליקציות שמתבססות על התזוזה של הטלפון שלו, ואנחנו הולכים לראות איך פונגאפ בעצם מאפשרת
לנו לקבל את הנתונים האלה של התזוזה של הטלפון הנייד על ידי שימוש ברכיב האקסלרומטר. אז בואו נבנה פה דוגמה, אנחנו באקסלרומטר, ניקח כאן איזשהו לחצן, follow get movement, ובואו נקרא לאיזושהי פונקציה ב-JavaScript שאנחנו כבר הולכים לבנות, שפשוט
תיקח את הנתונים האלה מרכיב האקסלרומטר. ניקח כאן איזשהי לייבל, ניתן לה ID, נעבור ל-JavaScript ונכתוב פונקציה get movement לקבלת התזוזה.
אז איך אנחנו הולכים לקבל את התזוזה? פונים לנאביגייטור נקודה אובייקט אקסלרומטר שפונגאפ שוטלת בתוך האובייקט נאביגייטור. פונקציה שנקראת Get Current Acceleration המילה Acceleration זה באנגלית תאוצה ואנחנו רוצים עכשיו לשלוח לפונקציה הזאת שתי פונקציות אינליין שאנחנו צריכים לכתוב והפונקציה Get Current Acceleration פשוט קוראת לפונקציות
שלנו ונותנת להם את המידע לפונקציה הראשונה האמת או אם היא לא מצליחה לקבל את התזוזה אז היא קוראת לפונקציה השנייה עם הכישלון אז יש לנו פה את פונקציה הראשונה נקרא לזה פונקציית אינליין ראשונה ופונקציית אינליין שנייה.
בואו נרד פה שורה בתוך המסולסלות נרד פה שורה בתוך המסולסלות ואת כל מה שאנחנו רוצים לעשות זה להציג כאן את התאוצה הזאת בואו נסתכל על זה מה שאנחנו רוצים זה להגיע לפונקציה להגיע לרכיב שהגדרנו פה ולהכניס לתוכו ל-LPL מובמנט את הנתונים לגבי התאוצה הנוכחית של הטלפון התזוזה שלו X, Y ו-Z.
איך אנחנו עושים את זה? אז ראשית בואו ניקח משתנה DATE מפני שהמערכת נותנת לנו גם את ה-TIME סטאמפ חתימה של הזמן שזה יתבצע אז יש לנו כאן את האקסלריישן טיים סטאמפ ניקח פה איזשהו הודעה ונחשום פה נניח x-acceleration וזה יהיה acceleration x. בואו נרד בשורה ונשכפל את זה ארבע פעמים.
יש לנו פה y-acceleration כאן אנחנו הולכים להציג את התאוצה על ציר y יש לנו z-acceleration פה אנחנו הולכים להציג את התאוצה על ציר z ולבסוף יש לנו אלה רק אותיות קטנות לא להתבלבל והכל case sensitive ולבסוף יש לנו את הטיימסטאמפ שאנחנו הולכים להציג סתימה של הזמן שבה קיבלנו את הנתונים האלה.
וזה פשוט מאוד הדייט שהכנו, getHour משורשר עם getMinutes לא מיליסקנד מינטס ולבסוף getSeconds. זאת ההודעה שאנחנו רוצים להציג.
עכשיו על ידי jQuery אנחנו יכולים לפנות ל-LBLMovement ולהכניס את ההודעה על ידי פונקציית html שפשוט מכניסה את המחרובת בין הפתיחה לבין הסגירה של התגיד.
במידה וישנה שגיאה, נציג פה ערעור. אוקיי, בואו נשמור ובואו נבדוק. קונטרול F5, אנחנו מריצים את הסימולטור, יש לנו פה את הלחצן, בואו נלחץ עליו ונקבל את הנתון הבא.
אנחנו רואים שעל ציר X אנחנו באפס תזוזה, על ציר Y אנחנו ב-9.81 ועל ציר Z אנחנו באפס וזאת השעה שקיבלנו את הנתונים. אם על ציר X אנחנו באפס, זה אומר שאין תזוזה על ציר X.
ציר X זה הציר האופקי. אם אנחנו באפס תזוזה על ציר Z, זה אומר שאנחנו לא מזיזים את הטלפון הרחק מאיתנו, כלומר תזוזה כזאת היא של ציר אנכי, רחוק וקרוב אלינו.
אם אנחנו על 9.81 על ציר Y, זה אומר שאנחנו על הציר האנכי בצורה נייחת, כלומר לא זזים על הציר האנכי. והשאלה זה למה על הציר האנכי 9.81 זה אומר שאין תזוזה?
בגלל ש-9.81 זה כוח G, זה בדיוק כוח המשיכה. ולכן זה אומר שאנחנו כרגע בכוח המשיכה סטנדרטי, לא מזיזים את הטלפון למעלה ולא למטה. אבל האמולטור מאפשר לנו לדמות כאילו אנחנו מזיזים את הטלפון.
בואו ניכנס פה לתוך הטולס שקיימים באמולטור ואנחנו הולכים לראות שיש לנו פה את האקסלרומטר