יש לי אתגר תכנות...

refish

New member
יש לי אתגר תכנות...

שלום לכולם. מכרים את המשחק סוניק 2 בסגה (ברור שיש
) , יש קטע שסוניק עולה על לופ (loop) , מישהו יודע כיצד זה עובד (מאחורי הקלעים של הקטע הלופי הזה)? נשמע מגניב לא?!, אני חשבתי עדיין לא מצאתי תשובה וטכניקות תיכנות.
תודה מראש רפי
 

Vegaro

New member
לא הבנתי לגמרי

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

freak2100

New member
ברור שהשאלה היא איך אפשר

לעשות את זה... מה זה משנה איך הם עשו את זה, ומאיפה לנו לדעת מה השיטה המדוייקת שלהם? (אפשר בטח לפרוץ את הרום בשביל לבדוק, אבל למי איכפת?
)
 

Vegaro

New member
אהמ

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

De-Panther

New member
בסוניק הקפיצה זה...|זבנג|../images/Emo23.gif../images/Emo185.gif

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

Vegaro

New member
באמצע הסיבוב

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

Vegaro

New member
תוספת-

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

Alkhimey

New member
כוח צנטריפוגלי

(mv^2)/R​
לפי דעתי צריך לתת למשחק חוקי פיזיקה. למשל סוניק יקבל מסה והכוח שימשוך אותו למטה יהי mg (כאשר g וא לא 10 אלה נקבע ע"י המתכנת) קפיצה תיתן לו זמנית מהירות לכוון מסויים (כוון הכפיצה) וכו'. אחר כך לעשות שקול כוחות לחשב תאוצה ומהירות לעדכן את המיקום בהתאם.
 

freak2100

New member
מה שאתה אומר פחות או יותר נכון

במקום:
F(R) = (mv^2)/R​
אפשר להשתמש ב:
a(R) = (v^2)/R​
ולא צריך לתת מסה... מה שצריך לחשב עם הנוסחה הזאת זה את R, כשv הוא המהירות המקסימלית, וככה כשיגיעו ללופ במהירות מקסימלית יעברו אותו, וכשיגיעו במהירות קטנה מהמהירות המקסימלית יפלו בדרך. כשקופצים, צריך לתת לו מהירות (לא לזמן מסויים, פשוט לקבוע את המהירות ולעזוב את זה) בכיוון הכח הנורמלי, זאת אומרת, בכיוון מאונך לכיוון המישור שעליו הוא עומד (בתוך הלופ זה יהיה לכיוון המרכז). כח הכובד, זאת אומרת mg, ובעצם לא צריך את m - תאוצה בגודל קבוע שפועלת תמיד כלפי מטה, צריכה להיות כל הזמן. אבל צריך להיות כח נורמלי שיבטל אותה. בתוך הלופ, הכח הנורמלי הוא זה שיגרום לשחקן לזוז בצורה מעגלית.
 

freak2100

New member
אני תמיד כזה ../images/Emo3.gif

אני לא מנסה להעליב או משהו...
 
למעלה