ניצחון או הפסד
חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 32 מתוך 63.
אתגר
בינוניהשלב האחרון: דרך לנצח. השאר את כל מה שהוספת בשלבים הקודמים, והוסף ל־Ball:
public int target = 10;(הערך ב־Inspector הוא 8).- המשחק פעיל כל עוד
timeLeftגדול מ־0 ו־scoreקטן מ־target. כתוב זאת כשיטה,bool IsPlaying(), והשתמש בה: השעון סופר לאחור, החצים דוחפים והמטבעות מוסיפים לניקוד רק כשהמשחק פעיל. - כשמטבע מעלה את
scoreל־targetאו יותר, כתוב ביומןYou win!אחרי שורת הניקוד. - כשהזמן נגמר קודם, כתוב ביומן
You lose!אחרי השורהTime's up!.
לחץ על Play והשג 8 נקודות לפני שהזמן נגמר, ואז לחץ על Check.
נסו בעצמכם
using UnityEngine;
public class Ball : MonoBehaviour
{
public float force = 10f;
public int score;
public float timeLimit = 60f;
public float timeLeft;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
timeLeft = timeLimit;
}
void Update()
{
if (timeLeft > 0f)
{
timeLeft -= Time.deltaTime;
if (timeLeft <= 0f)
{
timeLeft = 0f;
Debug.Log("Time's up! Score: " + score);
}
}
}
void FixedUpdate()
{
if (timeLeft > 0f)
{
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
rb.AddForce(new Vector3(x, 0f, z) * force);
}
}
public void AddScore(int points)
{
score += points;
Debug.Log("Score: " + score);
}
}
כל השיעורים ביחידה פיזיקה ומשחקיות
1גוף קשיח
כוח הכבידה והמסהדחיפה באמצעות AddForceקפיצה באמצעות מתקףFixedUpdate לפיזיקהמהירותגופים קינמטייםחזרה: משטח שיגור2התנגשויות
OnCollisionEnterבמה פגעתי?להישבר בעת פגיעהלעמוד על הקרקעניתור וחיכוךצורות Colliderסיכום: קיר שביר5פרויקט: מרוץ המטבעות
הכדור המתגלגלמטבעות לאיסוף