cocos2d-x项目101次相遇:3.0 的点击事件,CCTouchDelegate已经停用了
来源:互联网 发布:网络运维需要学些什么 编辑:程序博客网 时间:2024/05/01 11:21
cocos2d-x 101次相遇 / 目录
1 安装和环境搭建 -xcode
2 Scenes , Director, Layers, Sprites
3 建立图片菜单
4 在HelloWorld上--建立新场景
5 增加一个精灵sprite
5.1 缩小sprite并使之完整显示
6 action ,移动sprite
7 3.0 的点击事件,CCTouchDelegate已经停用了
8 使用触摸事件移动 精灵
cocos2d-x 3.0 不再使用 TouchDelegate方式来将touch事件捆绑到sprite上。
新的方法是
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = CC_CALLBACK_2(CMyFirstScene::onTouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(CMyFirstScene::onTouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(CMyFirstScene::onTouchEnded, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
这段代码可以放在.cpp里面的 init里。
头文件增加:
Sprite *s;
// 初始化
bool onTouchBegan(Touch* touch, Event* event);
void onTouchMoved(Touch* touch, Event* event);
void onTouchEnded(Touch* touch, Event* event);
void selectSpriteForTouch(Point touchLocation);
s 为全局的精灵。
bool CMyFirstScene::onTouchBegan(Touch* touch, Event* event)
{
CCLOG("TouchBegan");
Point touchLocation = this->convertTouchToNodeSpace(touch);
this->selectSpriteForTouch(touchLocation);
return true;
}
void CMyFirstScene::onTouchMoved(Touch* touch, Event* event)
{
CCLOG("TouchMoved");
}
void CMyFirstScene::onTouchEnded(Touch* touch, Event* event)
{
CCLOG("TouchEnded");
}
void CMyFirstScene::selectSpriteForTouch(Point touchLocation)
{
if (s->getBoundingBox().containsPoint(touchLocation) )
{
Action* actionMove =
MoveTo::create( 2.0,
ccp(300, 200) );
s->runAction(actionMove);
}
}
这段代码,点击到精灵,精灵就会移动。
2 1
- cocos2d-x项目101次相遇:3.0 的点击事件,CCTouchDelegate已经停用了
- 3.0 的点击事件,CCTouchDelegate已经停用了
- cocos2d-x项目101次相遇:使用触摸事件移动 精灵
- cocos2d-x项目101次相遇:使用触摸事件移动 精灵
- cocos2d-x项目101次相遇: Scenes , Director, Layers, Sprites
- cocos2d-x项目101次相遇:建立图片菜单
- cocos2d-x项目101次相遇:增加一个精灵sprite
- cocos2d-x项目101次相遇:action ,移动sprite
- Cocos2d-x 触摸响应事件CCTouchDelegate
- cocos2d-x项目101次相遇-安装和环境搭建 -xcode
- cocos2d-x项目101次相遇:在HelloWorld上--建立新场景
- Cocos2d-X游戏开发之CCTouchDelegate
- cocos2d-x处理点击事件的机制
- 05.cocos2d-x点击事件
- cocos2d-x 3.0 点击button,点击事件响应两次
- Cocos2d-x结构学习(三)CCTouchDelegate、CCAccelerometerDelegate、CCKeypadDelegate
- 那次的相遇
- cocos2d-x,lua的Layer.onClick点击事件封装
- jquery学习
- 各种语言数据类型大小
- 用STC 89C52RC 做了GPS轨迹记录仪
- 黑马程序员--Java学习03--Java程序的基本成分、数据类型
- 基于P2P的流媒体技术概述
- cocos2d-x项目101次相遇:3.0 的点击事件,CCTouchDelegate已经停用了
- drawRect 中CGContextRef绘图的应用
- EMCV移植到DM6467(一)
- android 软键盘在全屏下的布局计算问题
- [IDE] Eclipse指定项目文件夹里.metadata文件夹的作用
- Maver简介
- Unable to add window --token is not valid
- Win7下FTP服务器设置
- HR的挑战:如何确定培训需求?