【发布时间】:2015-12-04 22:30:21
【问题描述】:
使用事件和委托我已经尝试过了。
public delegate void ColourChangerAction(string str);
public static event ColourChangerAction OnClicked;
void OnGUI() {
if(GUI.Button(new Rect(Screen.width/2, Screen.height-200, 50,50),texture1)){
if (OnClicked != null) {
OnClicked(string strr);///error here!!!!!!!!!!!!!!!!
}
}
但它向我显示错误 Invalide expression term string。如果我不提供字符串参数,那么它显示不需要 0 参数。
好吧,我是代表和活动的新手。我错过了什么。??
在另一个课程中,我这样做是为了获取事件调用。
EventManager.OnClicked += ColourChanger;//registering
public void ColourChanger(string colourName)
{
print("Colour Changer " + colourName);
if (colourName == "Red")
{
print(gameObject.name);
hitInfo.collider.gameObject.renderer.material.color = Color.red;
}
else if (colourName == "Green")
{
print(gameObject.name);
hitInfo.collider.gameObject.renderer.material.color = Color.green;
}
else if (colourName == "Yellow")
{
print(gameObject.name);
hitInfo.collider.gameObject.renderer.material.color = Color.yellow;
}
}
【问题讨论】: