- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在一个简单的场景中拖放一个 Sprite 。 onTouchBegan 和 onTouchEnded 事件正常触发,但 onTouchMove 事件没有触发,为什么?
这是我的代码:
class Test: public cocos2d::Layer
{
public:
static cocos2d::Scene* createScene();
virtual bool init();
CREATE_FUNC(Test);
bool onTouchBegan(cocos2d::Touch *touch, cocos2d::Event *event);
void onTouchMove(cocos2d::Touch *touch, cocos2d::Event *event);
void onTouchEnded(cocos2d::Touch *touch, cocos2d::Event *event);
cocos2d::Sprite *catSprite;
cocos2d::Vec2 touchPosition;
};
对于 Cpp:
Scene* Test::createScene()
{
auto scene = Scene::create();
auto layer = Test::create();
scene->addChild(layer);
return scene;
}
bool Test::init()
{
if ( !Layer::init() )
{
return false;
}
auto origin = Director::getInstance()->getVisibleOrigin();
auto windowSize = Director::getInstance()->getVisibleSize();
auto background = DrawNode::create();
background->drawSolidRect(origin, windowSize, Color4F(0.6, 0.6, 0.6, 1.0));
this->addChild(background, -1);
auto releaseArea = DrawNode::create();
releaseArea->drawSolidRect(windowSize*0.8,windowSize, Color4F(1.0,0.0,0.0,1.0));
this->addChild(releaseArea);
auto pinfo = AutoPolygon::generatePolygon("cat.png");
catSprite = Sprite::create(pinfo);
catSprite->setPosition(Vec2(windowSize.width*0.1, windowSize.height*0.1));
this->addChild(catSprite,1);
touchPosition.set(0,0);
auto dispatcher = Director::getInstance()->getEventDispatcher();
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = CC_CALLBACK_2(Test::onTouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(Test::onTouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(Test::onTouchEnded, this);
dispatcher->addEventListenerWithSceneGraphPriority(listener, this);
return true;
}
bool Test::onTouchBegan(cocos2d::Touch *touch, cocos2d::Event *event) {
cocos2d::log("touch began");
touchPosition = touch->getLocation();
if(catSprite->getBoundingBox().containsPoint(touchPosition))
{
return true;
}
return false;
}
void Test::onTouchMove(cocos2d::Touch *touch, cocos2d::Event *event) {
cocos2d::log("touch moved");
catSprite->setPosition(catSprite->getPosition() + touch->getDelta());
}
void Test::onTouchEnded(cocos2d::Touch *touch, cocos2d::Event *event) {
cocos2d::log("touch ended");
}
我从 cocos2d::log 得到了关于开始和结束事件的正确反馈,但是当我测试它时,移动事件似乎永远不会发生。
最佳答案
该事件称为 onTouchMoved 而不是 onTouchMove。
问候。我自己。
关于c++ - OnTouchMove 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34518489/
我目前正在尝试使用 HTML5 构建一个移动网络应用程序,并且想知道是否有人可以为我指明正确的方向。 我想使用 javascript 模拟 iphone/ipad 中的 A-Z 部分索引功能。这是一个
我正在尝试在一个简单的场景中拖放一个 Sprite 。 onTouchBegan 和 onTouchEnded 事件正常触发,但 onTouchMove 事件没有触发,为什么? 这是我的代码: cla
我正在尝试创建一些功能以允许用户滑动表格行以检查我数据库中的所述人员,我在使用滑动库时遇到了问题,因为我的导入出于某种未知原因被我的项目拒绝了.我决定尝试使用内置的 ontouchmove 函数做一些
我有一个单词框,用户可以在其中拖动触摸并拖动来选择单词。 我正在使用 touchmove 事件监听器来更改 wordBox 中单词的背景/颜色。但是 touchmove 仅从文本开始处更改文本的颜色/
我正在编写一个 cocos2d-x 3.71 跨平台应用程序(ios、android、windows10),我在实现触摸和按住检测时遇到了问题仅在 Android 上(ios 和 windows 工作
我正在使用 HTML5 Canvas ,并遇到了一些我认为是 Android 浏览器(和/或 JavaScript 实现)上的性能问题的问题。 我正在实现一个手绘草图 Web 应用程序,用户可以使用手
我正在移动触摸项目 我想更改图像在触摸点的透明度或可见性(尽可能)。让我们说取消隐藏图像的特定点.. PS 我已经知道如何删除图像。我正在寻找 unerase 最佳答案 我认为这个项目完全符合您的要求
我以前试过问这个问题,但我问的方式太困惑了,我没有得到任何帮助。我最初认为是 React 导致我的 touchmove 事件在更新子组件时停火。我现在很确定是 Chartist.js 库,或者可能是我
我最近遇到了一个问题,以防止浏览器上的触摸移动事件。 我已经通过 document.ontouchmove 完成了 但我无法对 document.addEventListener("touchmove
我正在尝试让触摸事件在我的游戏中正常工作,而 onTouchDown 工作得很好。我的问题出现在 onTouchMoved 上,因为尽管它在编译过程中没有给我任何错误,但它似乎不起作用。 我似乎找不到
我试图阻止仅在 x 轴上使用默认的 iPhone 滚动功能。我有一个画廊,可以通过 onTouchMove 事件从左到右滑动照片。目前它使用阻止默认功能,如下所示: function onTouchM
iOS 5 为 JavaScript/Web 应用程序带来了许多美好的东西。其中之一是改进的滚动。如果你添加 -webkit-overflow-scroll:touch; 对于 textarea 元素
我正在触摸设备上的 Chromium 上运行我的网络应用程序。它是工业控制面板,而不是消费平板电脑。 当用户想要单击(点击)按钮,但他们的手指移动了一点,从而导致“ontouchmove”事件触发时,
据我所知,移动版 Safari 中由 ontouchmove 触发的事件仅包含有关触摸开始于哪个元素的信息。例如,假设我将手指放在元素 .firstElement 上,然后将它拖过页面直到它超过 .s
我是一名优秀的程序员,十分优秀!