אני בונה משחק משהו בסגנון פורטל למי שמכיר, ואני מנסה לעשות שאם נגעתי בחפץ מסויים הוא משגר אותי לקיר ומשם כל עוד הדמות לא על הרצפה הוא ייפול. עכשיו הנפילה היא לא בקו ישר למטה אלא הוא מגיע עם מהירות מסויימת ככה שהוא מתקדם בצורה של נפילה אופקית עד שהוא מגיע לרצפה. אני לא כל כך מצליח לעשות את זה שייראה נורמלי. משהו יכול לעזור לי ולתת לי הצעות? הנה הקטע שאני עשיתי והאמת שהוא דיי דפוק אבל לא ידעתי איך לעשות אחרת..:
public void XThrow(ref TimeSpan time) //זריקה אופקית
{
for (int i = 0; i < 38 * 0.5 * grav * (((double)time.Seconds + time.Milliseconds / 1000.0) * ((double)time.Seconds + time.Milliseconds / 1000.0)); i++)
{
if (!onTheFloor)
{
playerLoc.Y += speed;
}
if ((methodsIn.Collasped(playerLoc.X, playerLoc.Y + 1, new Size(playerPic.Width / 10, playerPic.Height), "player")))
{
onTheFloor = true;
}
}
for (int i = 0; i < 38 * v0 * ((double)time.Seconds + time.Milliseconds / 1000.0); i++)
{
if (!onTheFloor)
{
playerLoc.X += speed * direction;
}
if ((methodsIn.Collasped(playerLoc.X + 1, playerLoc.Y, new Size(playerPic.Width / 10, playerPic.Height), "player")))
{
onTheFloor = true;
}
}
}
משתנים:
grav=תאוצת כוח הכובד, 9.8.
speed=1.
methodsIn.Collasped-פעולה שבודקת האם הדמות התנגשה באחד הקירות.
onTheFloor-משתנה בוליאני שמראה האם הדמות על הרצפה.
המון המון המון תודה לכל מי שעוזר, אני חייב את העזרה דיי דחוף כי זה פרוייקט להגשה לבגרות לממש בקרוב. שוב תודה!



ציטוט ההודעה
