cocos2dx 3.x(多个按钮button执行同一事件的区分)
//
// ATTGamePoker.hpp
// MalaGame
//
// Created by work on 2016/10/18.
//
// #ifndef ATTGamePoker_hpp
#define ATTGamePoker_hpp #include <stdio.h>
#include <cocos2d.h> class ATTGamePoker : public cocos2d::Layer
{ private: cocos2d::ui::Button * m_btnHold[];//五个按钮
cocos2d::Sprite * m_holdGlitter[];//发光特效/*按钮点下时出现,松开时消失*/ public: virtual bool init(); void holdCB(Ref *pSender, cocos2d::ui::Widget::TouchEventType type);//声明点击事件 CREATE_FUNC(ATTGamePoker); }; #endif /* ATTGamePoker_hpp */
//
// ATTGamePoker.cpp
// MalaGame39
//
// Created by work on 2016/10/18.
//
// #include "ATTGamePoker.hpp"
#include <SimpleAudioEngine.h> using namespace cocos2d;
using namespace cocos2d::ui; bool ATTGamePoker::init()
{
if (!Layer::init())
{
return false;
} for (int i=; i<; i++) {
auto soundbg=cocos2d::ui::Scale9Sprite::createWithSpriteFrameName("gobang_option_sound_off.png");
m_btnHold[i]=ControlButton::create(soundbg);
m_btnHold[i] ->setPosition(50*i, );
m_btnHold[i] -> setEnabled(false);
m_btnHold[i]->setTag(i+);//设置tag值便于区分
m_btnHold[i]->addTouchEventListener(CC_CALLBACK_2(ATTMyGameScene::holdCB, this));
m_holdGlitter[i] = static_cast<Sprite *>(m_rootNode->getChildByName(StringUtils::format("att_8_glitter_%d",i)));
m_holdGlitter[i] ->setPosition(50*i, ); m_holdGlitter[i]->setVisible(false);//设置发光体全部隐藏
m_holdGlitter[i]->setTag(i+);
}
; return true;
} //触摸事件的实现方法
void ATTMyGameScene::holdCB(Ref *pSender, cocos2d::ui::Widget::TouchEventType type)//保牌
{ if (type == Widget::TouchEventType::BEGAN)//判断点击类型,按钮按下生效
{
int tag = ((Button*)pSender)->getTag();//通过点击事件来获取当前按钮的tag值,就是这一句话来区分当前哪个button响应来此次事件 for (int i=; i<; i++) {
m_holdGlitter[i]->setVisible(false);
if (+i==tag+) {//判断通过tag值拿到发光体精灵
m_holdGlitter[i]->setVisible(true);//让其显示
}
}
}
else if (type == Widget::TouchEventType::ENDED)//按钮松开时生效
{ for (int i=; i<; i++) { m_holdGlitter[i]->setVisible(false);//送开时全部隐藏 }
} }
cocos2dx 3.x(多个按钮button执行同一事件的区分)的更多相关文章
- 消除点击连接或者按钮或者执行onclick事件时出现的边框
css中添加 *:not(input) { font-family: sans-serif; font-size-adjust: none; -webkit-user-select: none; -w ...
- ASP.NET 解决在点击Button执行服务器事件之前验证用户输入并阻塞
在网站项目开发时,为了减少用户的错误性的操作,很多时候我们都需要做一些必要的JS验证来提醒用户,比如:“输入的值不符合规则,请重新输入”.“提交后无法修改,您确定要继续吗?”友好性的提示. 这时候我们 ...
- .net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器
1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.We ...
- input 的blur事件之后button的onclick事件不执行解决方案
最近发现网页程序中有个BUG,就是在input标签输入框中输入完数据后,直接点击“取消” 按钮的时候.出现网页崩死的情况: 经过小主酸菜我,各种方法的尝试后,找到一个初步可以解决的方案,在这里分享给大 ...
- 在jQuery ajax中按钮button和submit的区别分析
在使用jQuery ajax的get方法进行页面传值,不能用submit,否则无刷新获取数据展示 点击submit提交按钮,sendPwd.php通过$_POST接收传过来的值,然后echo一段数据. ...
- 制作按钮(Button)
按钮的核心作用 1.按钮能接收单击并触发响应事件. 2.按钮被单击时能同时触发多个响应事件. 3.按钮可以有普通.悬停.单击.禁用等多个状态的不同表现. 4.广泛的说,按钮的核心在于接收事件,任何可以 ...
- 前端表单中有按钮button自动提交表单
问题描述 在设计表单时,表单内有一个按钮<button>,该按钮是用来获取其他数据或执行其他操作的.并不是让他提交表单. 解决方案 1) 设置 form 的 onsubmit='retur ...
- 按钮在执行frame动画的时候怎么响应触发事件?
按钮在执行frame动画的时候怎么响应触发事件? 代码中效果(请注意,我并没有点击到按钮,而是点击到按钮的终点frame值处): 对应的代码: // // ViewController.m // Ta ...
- button 按钮,结合onclick事件,验证和提交表单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- html5+css3
1,文件声明,<!Doctype>,不再有严格模式和混杂模式 2语意的标签 1,header 头 section中 nav导航(中上) aside侧边栏(中左) article内容(中右) ...
- hdu 1116 并查集和欧拉路径
---恢复内容开始--- 把它看成是一个图 只是需要欧拉路径就可以了 首尾能连成一条线即可 如果要判断这个图是否连通 得用并查集 在hrbust oj里面看答案学到的方法 不用各种for循环套着判断能 ...
- PHP 设计模式 笔记与总结(1)命名空间 与 类的自动载入
① PHP 面向对象高级特性 ② 11 种 PHP 设计模式 ③ PSR-0,Composer,Phar 等最流行的技术 目标是掌握 PHP 各类设计模式,以及具备设计纯面向对象框架和系统的能力 [命 ...
- typecho流程原理和插件机制浅析(第二弹)
typecho流程原理和插件机制浅析(第二弹) 兜兜 393 2014年04月02日 发布 推荐 1 推荐 收藏 14 收藏,3.7k 浏览 上一次说了 Typecho 大致的流程,今天简单说一下插件 ...
- apple-touch-icon,shortcut icon和icon的区别(手机站发送到手机桌面图标自定义)
apple-touch-icon 可以了解到这是一个类似网站favicon的图标文件,用来在iphone和ipod上创建快捷键时使用. 这个文件应当是png格式,57x57像素大小,放在网站根目录之下 ...
- Virtual Memory DEMAND PAGING - The avoidance of thrashing was a major research area in the 1970s and led to a vari- ety of complex but effective algorithms.
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION With the use of pagin ...
- Connection Management and Security
High Performance My SQL THIRD EDITION Each client connection gets its own thread within the server ...
- jsmooth 中文乱码
为了一个问题 语言国际国际化 测试了这么多回 ,真佩服自己 jsmooth 中文乱码 语言乱码 的解决办法 : 需要在“JVM” 的参数 中填入一项 : user.language=en 而不是 ...
- 【Demo】 生成二维码 和 条形码
条形码 和 二维码 对比 一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准. 在水平和垂直方向的二维空间存储信息的条形码, 称为 ...
- cookie函数
function getcookie(){ var cookie={}; var all=document.cookie; if(all===""){ alert(2); retu ...