角色属性
public:可以被任意实体访问
protected:只允许子类及本类的成员函数访问
private:只允许本类的成员函数访问
public int maxHealth = 5;
定义最大血量为5,int表示整形
public class RubyController : MonoBehaviour
{
public int maxHealth = 5;
int currentHealth;
Rigidbody2D rigidbody2d;
float horizontal;
float vertical;
// 在第一次帧更新之前调用 Start
void Start()
{
rigidbody2d = GetComponent<Rigidbody2D>();
currentHealth = maxHealth;
}
// 每帧调用一次 Update
void Update()
{
horizontal = Input.GetAxis("Horizontal");
vertical = Input.GetAxis("Vertical");
}
void FixedUpdate()
{
Vector2 position = rigidbody2d.position;
position.x = position.x + 3.0f* horizontal * Time.deltaTime;
position.y = position.y + 3.0f * vertical * Time.deltaTime;
rigidbody2d.MovePosition(position);
}
void ChangeHealth(int amount)
{
currentHealth = Mathf.Clamp(currentHealth + amount, 0, maxHealth);
Debug.Log(currentHealth + "/" + maxHealth);
}
}
血量值改变
void ChangeHealth(int amount)
{
currentHealth = Mathf.Clamp(currentHealth + amount, 0, maxHealth);
Debug.Log(currentHealth + “/” + maxHealth);
}
Mathf.Clamp是一个内置函数,是用来设置当前状态量的,钳制功能 (Clamping) 可确保第一个参数(此处为 currentHealth + amount)绝不会小于第二个参数(此处为 0),也绝不会大于第三个参数 (maxHealth)。因此,Ruby 的生命值将始终保持在 0 与 maxHealth 之间。 Debug.Log 在 Console 窗口中显示当前生命值。每次生命值变化时,此脚本都会更新控制台。
可在角色的Inspector栏里更改变量