统一控制场景中具有相同脚本c#的多个相同对象中的一个对象和UI按钮

本文关键字:对象 一个对象 按钮 UI 控制 脚本 | 更新日期: 2023-09-27 18:24:48

我在场景中有三个相同的对象和相同的脚本,我还有一个按钮用于升级对象脚本的变量,我选择了

下面是我尝试过的,但仍然升级了所有的对象变量,而不是我选择的

我想要的是当我选择场景中的一个对象并点击按钮时,然后只选择升级的对象脚本变量,而不是所有的对象脚本可变

public int lv;
public float hp;
public float damage;
public float atkSpeed;
public GameObject objBtnUpgrade;
public Button btnUpgrade;
void Start () {
    objBtnUpgrade = GameObject.Find ("BtnUpgrade");
    objBtnUpgrade.GetComponent<Button> ().onClick.AddListener(() => { UpgradeSummonLevel(); }); 
}
public void UpgradeSummonLevel(){
    lv = lv + 1;
    hp = hp + ((hp / 100) * 10);
    atkSpeed = atkSpeed + ((atkSpeed / 100) * 10);
    damage = damage + ((damage / 100) * 10);
}

统一控制场景中具有相同脚本c#的多个相同对象中的一个对象和UI按钮

您是否在问为什么每个对象都在升级?

但据我所知,要回答你的问题,最有可能的问题是你有所有你试图影响的对象,称为"BtnUpgrade"。它们应该有不同的名称,这样你就可以通过名称找到一个。