C#(Unity) - 如何停止函数执行?
C#(Unity) - How to stop the function execution?
我有这样的代码:
public void Interacted(){
if (GameObject.Find ("Sara").GetComponent<controls> ().isIntered) {
if (Interer.name == "sinkTop" && !sinked) {
Interer.GetComponent<SpriteRenderer> ().sprite = sinkON;
sinked = true;
}
if (Interer.name == "sinkTop" && sinked) {
Interer.GetComponent<SpriteRenderer> ().sprite = sinkOFF;
sinked = false;
}
}
}
如何停止 Interacted()
在 if (Interer.name == "sinkTop" && !sinked)
内执行?
在if
内的末尾添加return
:
if (Interer.name == "sinkTop" && !sinked)
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkON;
sinked = true;
return; //return here.
}
或在第二个if
之前添加else
:
if (Interer.name == "sinkTop" && !sinked)
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkON;
sinked = true;
}
else if (Interer.name == "sinkTop" && sinked)
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkOFF;
sinked = false;
}
此外,您可以重构代码:
if (Interer.name == "sinkTop")
{
if (sinked)
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkOFF;
sinked = false;
}
else
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkON;
sinked = true;
}
}
我有这样的代码:
public void Interacted(){
if (GameObject.Find ("Sara").GetComponent<controls> ().isIntered) {
if (Interer.name == "sinkTop" && !sinked) {
Interer.GetComponent<SpriteRenderer> ().sprite = sinkON;
sinked = true;
}
if (Interer.name == "sinkTop" && sinked) {
Interer.GetComponent<SpriteRenderer> ().sprite = sinkOFF;
sinked = false;
}
}
}
如何停止 Interacted()
在 if (Interer.name == "sinkTop" && !sinked)
内执行?
在if
内的末尾添加return
:
if (Interer.name == "sinkTop" && !sinked)
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkON;
sinked = true;
return; //return here.
}
或在第二个if
之前添加else
:
if (Interer.name == "sinkTop" && !sinked)
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkON;
sinked = true;
}
else if (Interer.name == "sinkTop" && sinked)
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkOFF;
sinked = false;
}
此外,您可以重构代码:
if (Interer.name == "sinkTop")
{
if (sinked)
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkOFF;
sinked = false;
}
else
{
Interer.GetComponent<SpriteRenderer> ().sprite = sinkON;
sinked = true;
}
}