如何在cocos2d- x3.6中调用addEventListener到ScrollView
How to call addEventListener to ScrollView in cocos2d-x 3.6?
谁能举个例子?我尝试下面的代码,它总是显示错误"没有可行的转换从xxxxx"在addEventListener的行,而编译。
// create a scrollview and add event listener
auto scrollView = cocos2d::ui::ScrollView::create();
scrollView->addEventListener(CC_CALLBACK_2(GameMenuLayer::didScrollItemInfoPanel, this));
...
// the callback function
void GameMenuLayer::didScrollItemInfoPanel(Ref* ref, cocos2d::ui::ScrollviewEventType eventType) {
cclog("did scroll...");
}
我看到回调函数定义如下,那么我应该如何修改我的代码?
typedef std::function<void(Ref*, EventType)> ccScrollViewCallback;
我已经尝试了旧的方法,它工作得很好,但是它显示了一个警告消息,旧的方法是不赞成的。
scrollView->addEventListenerScrollView(this, SEL_ScrollViewEvent(&GameMenuLayer::didScrollItemInfoPanel));
6,3.7我使用以下代码时不带不赞成的警告。你很接近了,这里有个例子。一个演员和所有的工作。
在YOUR_CLASS.cpp中添加事件:
scrollView->addEventListener((ui::ScrollView::ccScrollViewCallback)CC_CALLBACK_2(YOUR_CLASS::scrollEvent,this));
在YOUR_CLASS.h中添加事件方法声明:
void scrollEvent(Ref* ref, ui::ScrollView::EventType EventType);
并实现事件方法
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在c++类上调用void函数
- 为什么 std::unique 不调用 std::sort?
- 调用专用模板时出错"no matching function for call to [...]"
- 选择要调用的构造函数
- C++为什么尽管我调用了void函数,它却不起作用
- 构造函数正在调用一个使用当前类类型的函数
- 变量没有改变?通过向量的函数调用
- 没有为自己的结构调用列表推回方法
- 调用'begin(int [n])'没有匹配函数
- 什么时候调用析构函数
- 如何用参数值调用函数(仅在运行时已知)
- std::cout.imbue()多重调用
- 函数何时会在c++中包含stack_Unwind_Resume调用