本人cocos-js新手,不确定下面的问题是否属于回调函数,姑且写了以上标题。如有错误,请指教
var mainscene = ccs.load(res.MainScene_json);
this.addChild(mainscene.node);
var bt = ccui.helper.seekWidgetByName(mainscene.node, “Button1”);//从mainscene中获取名为Button1的组件
bt.setPosition(100, 400);
bt.addTouchEventListener(this.buttonTouchEvent,this);
buttonTouchEvent:function(sender,type){
//根据触发事件的类型进行分情况处理,从控制台输出cc.log();
switch (type) {
case ccui.Widget.TOUCH_BEGAN:
cc.log(“loginButton Touch Began”);
break;
case ccui.Widget.TOUCH_MOVED:
cc.log(“loginButton Touch Moved”);
break;
case ccui.Widget.TOUCH_ENDED:
cc.log(“loginButton Touch Ended”);
break;
case ccui.Widget.TOUCH_CANCELED:
cc.log(“loginButton Touch Canceled”);
break;
default:
break;
}
上面这段代码是从网上找到的,可以正确运行,实现了点击按钮调用buttonTouchEvent方法。根据下面buttonTouchEvent方法的定义,发现它带两个形参sender和type。那么问题来了,sender和type的实参是在什么地方被传进来的呢?我并没有给这个函数传参数啊,为什么它能正常运行

…总之func()对应的是addTouchEventListener的形参而不是实参buttonTouchEvent(),我在回去看看addTouchEventListener的定义