Cocos2d-x
发布时间:2022-05-02 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Cocos2d-x常用功能-Cocos2d-x用户交互事件处理:触摸、传感器、物理按键,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
第三阶段:常用功能3-
--Cocos2d-x常用功能-Cocos2d-x用户交互事件处理:触摸、传感器、物理按键(共6部分)
1.Cocos2d-x单点触摸
Size size = Director::geTinstance()->getVisibleSize();
auto
label = LabelTTF::create(
"Click me"
,
"Courier"
,
30
);
label->setPosition(size.width/
2
,size.height/
2
);
addChild(label);
auto
listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = [](Touch *t,Event *E){
if
(e->getCurrentTarget()->getBoundingBox().containsPoint(t->getLOCATIOn())) {
log(
"onTouchBegan"
);
}
return
true
;
};
listener->onTouchMoved = [](Touch* t,Event *E){
log(
"onTouchMoved"
);
};
listener->onTouchEnded = [](Touch *t,27)">"onTouchEnd"
);
};
Director::geTinstance()->getEventDispatcher()->addEventListenerWithSceneGraphpriority(listener,label);
2.Cocos2d-x触摸目标判断
//获取当前事件目标也就是label
3.Cocos2d-x事件传递
onTouchBegan事件
true
;之后才能执行
onTouchMoved、
onTouchEnded
listener->onTouchMoved = [](Touch* t,27)">"onTouchEnd"
);
};
4.Cocos2d-x多点触摸
安卓的DNK首先配置在环境变量里面
Size visibleSize = Director::geTinstance()->getVisibleSize();
auto
listener = EventListenerTouchAllAtOnce::create();
listener->onTouchesBegan = [](std::vector<Touch*> ts,27)">"onTouchesBegan"
);
};
listener->onTouchesMoved = [](std::vector<Touch*> ts,27)">"touches moved,and touch count is %ld"
,ts.size());
};
Director::geTinstance()->getEventDispatcher()->addEventListenerWithSceneGraphpriority(listener,this);
5.Cocos2d-x加速度
acceleration
加速度
加速 stamp
标志/
邮票;印记 double类型 %g
JAVA ADT 里面 右键import
打开proj.android,然后删除依赖项
cocos2d ▸ cocos ▸ platform ▸ android ▸ java ▸ src 放在JAVA ADT 的 src 里面 按下F11 选中Android Aplication
//加速度传感器默认处于关闭状态,需要打开
Device::setAccelerometerEnabled(
true
);
Director::geTinstance()->getEventDispatcher()->addEventListenerWithSceneGraphpriority(EventListenerAcceleration::create([](Acceleration *a,Event *E){
log(
"x:%g,y:%g,z:%g"
,a->x,a->y,a->z);
6.Cocos2d-x物理按键交互
auto
listener = EventListenerKeyboard::create();
listener->onKeyReleased = [](EventKeyboard::KeyCode code,27)">"key code : %d"
,codE);
switch
(codE) {
case
EventKeyboard::KeyCode::KEY_BACKSPACE:
Director::geTinstance()->end();
break
;
default
:
break
;
}
};
Director::geTinstance()->getEventDispatcher()->addEventListenerWithSceneGraphpriority(listener,162)">this);
大佬总结
以上是大佬教程为你收集整理的Cocos2d-x常用功能-Cocos2d-x用户交互事件处理:触摸、传感器、物理按键全部内容,希望文章能够帮你解决Cocos2d-x常用功能-Cocos2d-x用户交互事件处理:触摸、传感器、物理按键所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。