最近在我的Unity项目中,我发现要创建一个更模块化的应用程序,它有助于在类中包含一个静态List,该类包含对所有或部分创建的对象的引用,以便可以从程序的其他部分轻松访问它们. .一个例子如下:
private static List<Canvas> availableCanvases = new List<Canvas>();
void Start () {
availableCanvases.Add(this);
}
public static void AddComponentToCanvas(Transform component) {
for (int i = 0; i < availableCanvases; i++) {
//Make sure the canvas still exists
if (availableCanvases[i] != null) {
component.SetParent(availableCanvases[i]);
return;
} else {
availableCanvases.RemoveAt(i);
i--;
}
}
//Reached if no canvas found
//Create new canvas or create error etc...
}
Run Code Online (Sandbox Code Playgroud)
这只是允许在运行时实例化的对象将自己添加到可用的画布而不需要通过findWithTag或findWithType方法访问它,如果使用太多则会损害性能.
这是不好的做法还是好的?我的同事认为这代表单例编程,但它当然不是因为它允许存在多个对象并被使用.
已经尝试了几个小时,但似乎无法弄清楚为什么调整 z-index 不会实时影响圆圈。
Javascript/Jquery:
var greenCircle = "#greenCircle";
var blackCircle = "#blackCircle";
$(greenCircle).css("z-index", "5");
$(blackCircle).css("z-index", "4");
$(greenCircle).animate({ width: '200%', height: '100%', left: '-50%', top: 0}, lockTime);
Run Code Online (Sandbox Code Playgroud)
这是 HTML 布局:
<img class = "clearCircle" id = "greenCircle" src = "Resources/Background/GreenCircle.png" alt = "Clear circle">
<img class = "clearCircle" id = "blackCircle" src = "Resources/Background/BlackCircle.png" alt = "Clear circle">
Run Code Online (Sandbox Code Playgroud)
初始 CSS
.clearCircle {
position: absolute;
height: 0;
width: 0;
Run Code Online (Sandbox Code Playgroud)
}
无论我尝试过什么,blackCircle 总是在前面,并且代码没有抛出任何错误。
在此先感谢您的帮助