原文地址:cocos2d-x学习笔记之touch分发器1
作者:zjia5
cocos2d-x学习笔记之touch分发器1
openglView的时候注册的:
1
2
3
4
5
6
7
8
9
10
11
|
//1、直接设置touch分发器
void
CCDirector::setTouchDispatcher(CCTouchDispatcher*
{
//设置touch分发器
if
(m_pTouchDispatcher
{
CC_SAFE_RETAIN(pTouchDispatcher);
CC_SAFE_RELEASE(m_pTouchDispatcher);
m_pTouchDispatcher
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
|
//2、导演类初始化的时候创建touch分发器
bool
void
)
{
......
//导演类初始化的时候生成touch分发器
m_pTouchDispatcher
new
CCTouchDispatcher();
m_pTouchDispatcher->init();
...
return
true
;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
void
CCDirector::setOpenGLView(CCEGLView
{
CCAssert(pobOpenGLView,
"opengl
);
if
(m_pobOpenGLView
{
......
//注册touch分发器到openglView中,接收view传递过来的touch事件
m_pobOpenGLView->setTouchDelegate(m_pTouchDispatcher);
m_pTouchDispatcher->setDispatchEvents(
true
);
}
}
|
1
2
3
|
int
m_nId;
CCPoint
CCPoint
|
CCTouch.cpp:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
//
CCPoint
const
{
//获取屏幕坐标
return
m_point;
}
//
CCPoint
const
{
//获取上一次的屏幕坐标
return
m_prevPoint;
}
//
CCPoint
const
{
//获取在opengl坐标系中的坐标
return
CCDirector::sharedDirector()->convertToGL(m_point);
}
//
|