cocos2dx中用触摸机制实现在一个方向上拖动精灵。
2014-07-29 20:01
459 查看
bool
AwardDailyLayer::onTouchBegan(Touch* touch,Event* event)
{
pointBegin = touch->getLocation();
Sprite * sprite = (Sprite*)m_RegisterBox;
Rect rect = sprite->boundingBox();
if(rect.containsPoint(pointBegin))
{
return true;
}
return
false;
}
void
AwardDailyLayer::onTouchMoved(Touch* touch,Event* event)
{
Point point = touch->getLocation();
Point pointPre = touch->getPreviousLocation();
Point direction =
ccpSub(point,pointPre);
Sprite * sprite = (Sprite*)m_RegisterBox;
Point spritePoint = sprite->getPosition();
Point spriteDirection =
ccpAdd(spritePoint,direction);
CCLOG("spriteDirection.X is %f",spriteDirection.x);
//限制在一定的范围之类
if(spriteDirection.x <= -610)
{
spriteDirection.x = -610;
}
else if(spriteDirection.x >=
0)
{
spriteDirection.x =
0;
}
sprite->setPosition(Point(spriteDirection.x,sprite->getPosition().y));
}
void
AwardDailyLayer::onTouchEnded(Touch* touch,Event* event)
{
}
此段代码很清晰,就不做过多的解释了!
AwardDailyLayer::onTouchBegan(Touch* touch,Event* event)
{
pointBegin = touch->getLocation();
Sprite * sprite = (Sprite*)m_RegisterBox;
Rect rect = sprite->boundingBox();
if(rect.containsPoint(pointBegin))
{
return true;
}
return
false;
}
void
AwardDailyLayer::onTouchMoved(Touch* touch,Event* event)
{
Point point = touch->getLocation();
Point pointPre = touch->getPreviousLocation();
Point direction =
ccpSub(point,pointPre);
Sprite * sprite = (Sprite*)m_RegisterBox;
Point spritePoint = sprite->getPosition();
Point spriteDirection =
ccpAdd(spritePoint,direction);
CCLOG("spriteDirection.X is %f",spriteDirection.x);
//限制在一定的范围之类
if(spriteDirection.x <= -610)
{
spriteDirection.x = -610;
}
else if(spriteDirection.x >=
0)
{
spriteDirection.x =
0;
}
sprite->setPosition(Point(spriteDirection.x,sprite->getPosition().y));
}
void
AwardDailyLayer::onTouchEnded(Touch* touch,Event* event)
{
}
此段代码很清晰,就不做过多的解释了!
相关文章推荐
- cocos2dx 3.x(点击屏幕移动精灵,拖动精灵)不需要写回调函数直接实现
- cocos2dx 3.2 实现鼠标拖动精灵移动的效果!
- 简单的实现一个类似于Cocos2dx的游戏框架——导演、场景、层、精灵(已填坑5%)
- 纯CSS实现圆角、可拖动的一个DIV弹出层
- 拖动一个div,动态改变其td宽度的实现
- 一个新的对象创建机制的思考--C++下实现类似于Java的对象管理机制及反射
- 拖动效果的一个实现方案
- Castle AOP 系列(四):实现一个简单的基于上下文调用的权限校验机制
- 转载一个js实现div拖动效果
- 拖动效果的一个实现方案
- 今天实现了一个功能就是,树结点的拖动
- 一个简单观察者模式的实现 cocos2dx
- 一个在程序中实现plugin机制的简单例子
- java 程序里如何实现从一个列表中拖动一个元素到另一个列表中?
- 一个简单观察者模式的实现 cocos2dx
- 如何实现,根据屏幕的拖动方向,进行前后的滚屏
- 最近由于要用到分隔条,找到了一篇讲原理的, 实现了一个。可以双击缩到左边,可以左右拖动
- 一个实现鼠标拖动层移动的JS实例
- 4.VC(ui)-拖动效果的一个实现方案
- VC MFC 对话框,如何实现鼠标拖动显示一个框,松开鼠标框就消失