文档和脚本根本对不上,按照文档你根本别想做个东西出来
能说一下用到引擎版本和遇到的问题吗?文档哪一部分有问题?
之前有个叫@kingbook的
官方文档 这样写 传参 toggle
@ccclass("example")
export class example extends Component {
onLoad(){
const checkEventHandler = new EventHandler();
checkEventHandler.target = this.node; //这个 node 节点是你的事件处理代码组件所属的节点
checkEventHandler.component = 'example';//这个是脚本类名
checkEventHandler.handler = 'callback';
checkEventHandler.customEventData = 'foobar';
const toggle = this.node.getComponent(ToggleComponent);
toggle.checkEvents.push(checkEventHandler);
}
callback(event: Event, customEventData: string){
//这里 event 是一个 Touch Event 对象,你可以通过 event.target 取到事件的发送节点
// 这里的 customEventData 参数就等于之前设置的 'foobar'
}
}
我的
let checkEventHandler = new EventHandler();
checkEventHandler.target = t.view[`btn_carrer${i}`];
checkEventHandler.component = 'CreateRoleUICtrl';
checkEventHandler.handler = 'careerToggleCallback';
checkEventHandler.customEventData = `${i}`;
//checkEventHandler._componentId="cc.Toggle";
let toggle = t.view[`btn_carrer${i}`].getComponent(Toggle);
toggle.checkEvents.push(checkEventHandler);
源码
public emit (params: any[]) {
const target = this.target;
if (!legacyCC.isValid(target)) { return; }
this._genCompIdIfNeeded();
const compType = legacyCC.js.getClassById(this._componentId);
const comp = target!.getComponent(compType);
if (!legacyCC.isValid(comp)) { return; }
const handler = comp![this.handler];
if (typeof (handler) !== 'function') { return; }
if (this.customEventData != null && this.customEventData !== '') {
params = params.slice();
params.push(this.customEventData);
}
handler.apply(comp, params);
}
到这里 const compType = legacyCC.js.getClassById(this._componentId); 直接 return了 根本不能自定义传参 这只是个例
大哥 你贴出来的这段代码 不是有个判断才return的吗 if (!legacyCC.isValid(comp)) { return; }
你这样说我的话,怀疑他的节点上根本没有toggle
没toggle的话这行代码应该会报错 toggle.checkEvents.push(checkEventHandler);
我怀疑他脚本名或回调函数名搞错了或者target错了
toggle.node.on(Toggle.EventType.TOGGLE, callback, thisObj);
直接这样写吧,然后在回调函数里处理触发逻辑,好定位问题点
有bug就描述bug 没必要骂引擎吧。 盲猜是用法不对, 低级错误而已。 
有bug就描述bug 言语攻击就没必要了吧,又不欠你的,不好用就自己重写一个
谢谢反馈,已转发给文档同学,需要把示例进行优化或者内容补充
3.x 是不是什么时候有个里程碑版本,功能和画面表现力到一定程度以后开始完善稳定性、性能和文档之类的
更新:目前计划使用 3.8 作为稳定版。
再差也做了egret开发4年 laya2年 调试源码还是会的 你们只是没碰到复杂的应用场景
creator确实只适合策划搞搞拖拉拽的小游戏 对大型游戏 程序代码开发很不友好
demo方便传一下
那个event handler 好像是真的有bug, 我在3.6.x时如果按官方文档做是没反应的
后来我是这様写才生效, 麻烦官方查一下
const scrollViewEventHandler = new EventHandler();
scrollViewEventHandler.target = this.node; // 这个 node 节点是你的事件处理代码组件所属的节点
scrollViewEventHandler.component = 'example';// 这个是脚本类名
//======================================
//由于componet 不是一个get/set 方法,但_componentName却是,利用ta生成component id 才能绑定到EventHandler中
scrollViewEventHandler._componentName = 'example';
//======================================
scrollViewEventHandler.handler = 'callback';
scrollViewEventHandler.customEventData = 'foobar';
哪些复杂的应用场景,哪里写代码不好你倒是描述一下啊,正好@一下官方人员
官方没问题的,我试了下,是你这里写错了

这里的target不是指向这些btn,而是要指向你现在这个脚本自身节点,就是target=this.node
看来大伙应该都不会采用如此麻烦且糟糕的方式来添加事件吧 
这下打脸了