c# - 在 Unity 2D 中对多个对象使用相同的布尔值
问题描述
我有四个具有相同脚本和相同布尔值的游戏对象,当其中一个被射线击中时,布尔状态为 true,但该函数不会启动,因为其他三个游戏对象设置为 false。
我尝试了什么:
- 该代码适用于最后一个实例化的对象
- 如果我禁用了第一个对象上的脚本并再次重新启用它,则该功能仅适用于该对象
public bool selected;
void Start(){
selected = false;
}
void Update(){
showRange ();
}
public void showRange(){
if (selected == true) {
for (int i = 0; i < tileRange.Count; i++) {
tileRange [i].GetComponent<SpriteRenderer> ().enabled = true;
}
} else {
for (int i = 0; i < tileRange.Count; i++) {
tileRange [i].GetComponent<SpriteRenderer> ().enabled = false;
}
}
}
解决方案
推荐阅读
- python - 在功能级别记录
- itext - 使用页眉和页脚 iTextSharp 创建多页 PDF
- php - 在 CodeIgniter 中更改 URI 的扩展名
- c++ - 前向声明类时成员函数的行为
- awesome-wm - 在 rc.lua 中调用 beautiful.at_screen_connect() 错误
- javascript - 带有回调函数的Javascript异步方法问题
- html - 为什么固定位置在移动屏幕上不起作用?
- video-streaming - 垂直方向的 H.264 流显示损坏的视频
- android - Gradle 密度 abi APK
- java - 正多边形代码中心