纳金网

标题: 如何用其他脚本改变这个脚本中的变量的值? [打印本页]

作者: 比巴卜    时间: 2013-6-9 15:59
标题: 如何用其他脚本改变这个脚本中的变量的值?
这是一个角色HP的脚本
如何用其他脚本改变这个脚本中的 CurrentHealth的值?
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System.Collections;
   
public class Health : MonoBehaviour {
    public float MaxHealth=100;
    public float CurrentHealth;
    public bool Invincible;
    public bool Dead;
        
        
    // Use this for initialization
    void Start () {
        //MAKE THE CURRENT HEALTH THE MAX HEALTH AT START
    CurrentHealth=MaxHealth;
    }
        
    // Update is called once per frame
    void Update () {
        
        //IF INVINCIBLE, HE CANNOT DIE..
        if(Invincible){
        CurrentHealth=MaxHealth;     
        }
        else{
        if(CurrentHealth<=0){
            CurrentHealth=0;
            Dead=true;
        }   
               
        //MAX HEALTH
            if(CurrentHealth>=MaxHealth)CurrentHealth=MaxHealth;
               
            //WHEN DEATH IS UPON HIM
        if(Dead){
                //TELL THE AI SCRIPT HE IS DEAD
            FreeAI AI=(FreeAI)GetComponent("FreeAI");
                if(AI){
            if(AI.IsDead){}
            else AI.IsDead=true;
        }
        }
        }
        
    }
}








作者: cdl51    时间: 2013-6-9 16:00
1.通过Find或者碰撞 获得该物体,然后通过GetComponent获得该脚本 然后就能获得这个变量了。
2.如果变量唯一 就直接声明全局变量  public static float CurrentHealth可以直接获得Health.CurrentHealth
作者: cdl51    时间: 2013-6-9 16:00
来顶帖  




欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5