Unity3d 如果多个游戏对象使用同一脚本,如何访问特定游戏对象上的变量?
当进度条被填满时,我试图进行径向进度填充,这允许按下按钮,按下按钮后,它会执行一些操作并重置径向进度条。我想在不同的图像(径向进度条{Green Circle})和GamesObject(按钮)上多次使用此功能 由于以下原因,我目前有多个使用相同脚本的游戏对象: 硬币填充文字Unity3d 如果多个游戏对象使用同一脚本,如何访问特定游戏对象上的变量?,unity3d,Unity3d,当进度条被填满时,我试图进行径向进度填充,这允许按下按钮,按下按钮后,它会执行一些操作并重置径向进度条。我想在不同的图像(径向进度条{Green Circle})和GamesObject(按钮)上多次使用此功能 由于以下原因,我目前有多个使用相同脚本的游戏对象: 硬币填充文字 public class CoinFill : MonoBehaviour { public Image coinFill; //This is a green circle public float fillCoi
public class CoinFill : MonoBehaviour {
public Image coinFill; //This is a green circle
public float fillCoinSpeed;
public float maxCoinFill = 100f;
public float minCoinFill = 0f;
public float currentCoinFill;
public float coinValue;
// Use this for initialization
void Start()
{
currentCoinFill = minCoinFill;
}
void Update()
{
if (currentCoinFill < maxCoinFill)
{
currentCoinFill += fillCoinSpeed * Time.deltaTime;
}
coinFill.fillAmount = currentCoinFill / maxCoinFill;
}
public class CoinPush : MonoBehaviour {
//this is used on a button that looks like a coin and is suppose to reset the green circle Image
public CoinFill cf;
OnClick(){
if (cf.coinFill.fillAmount == maxCoinFill)
{
cf.currentCoinFill = cf.minCoinFill;
}
}
}
为了在CoinFill脚本上设置图像,我必须将其公开
为了使OnClick()成为公共的,所以我可以使用它,我制作了一个CoinClickManager空的游戏对象,但是这暴露了一个公共的CoinFill图像变量,这就是脚本崩溃的地方
这是一张我想画的硬币和绿色圆圈的图片
我的最终目标是,当通过脚本而不是检查器按下按钮时,也能够更改这个特定硬币和圆圈上的变量以及结果
以下是CoinFillManager:
这会让我把一个图像拖到这里,但它无法进入硬币上的绿色圆圈。那么这里有什么问题?您只需将“CoinFill”组件拖到“CoinPush”组件的“Cf”字段中,这就是问题所在。我有多个硬币。每个新硬币都有自己的硬币填充您的“硬币推送”组件连接到什么对象?在上图中,它连接到作为UI按钮的镍币上。我也会有多个这样的。因此,我希望整个系统能够独立运行。在硬币上方我有一枚硬币(图中未显示),它们将有不同的计时器,并添加不同的金额。那么你是说它与“硬币填充”在同一个物体上?那么这里有什么问题?您只需将“CoinFill”组件拖到“CoinPush”组件的“Cf”字段中,这就是问题所在。我有多个硬币。每个新硬币都有自己的硬币填充您的“硬币推送”组件连接到什么对象?在上图中,它连接到作为UI按钮的镍币上。我也会有多个这样的。因此,我希望整个系统能够独立运行。在镍币上方我有一枚硬币(图中未显示),它们将有不同的计时器,并添加不同的金额。那么你是说它与“硬币填充”的位置在同一个物体上?