博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2d-x使用CCScale9Sprite
阅读量:6904 次
发布时间:2019-06-27

本文共 3287 字,大约阅读时间需要 10 分钟。

cocos2d-x在使用CCScale9Sprite的时候需要注意,因为使用到了扩展库所以要

  • 在项目属性中的C/C++的附加包含目录中,添加$(SolutionDir)extensions,设置include路径
  • 在连接器的输入中,添加libExtensions.lib,这个库文件位于cocos2d-x编译结果目录中(Debug.win32)

接下来需要在源码中加入相应的代码,首先是添加头文件及名字空间

1 #include "cocos-ext.h" 2   3  USING_NS_CC_EXT;

交叉编译的时候要注意在Android.mk中要加

$(call import-module,extensions) \

方可编译成功

 

1         ///// 2         //添加跳转按钮 3         //正常态下按钮图片 4         CCScale9Sprite *butNormal = CCScale9Sprite::create("up2.png"); 5         //选中后按钮图片 6         CCScale9Sprite *butSelected = CCScale9Sprite::create("up1.png"); 7         //按钮标题 8         //CCLabelTTF *title = CCLabelTTF::create("Button","Arial",20); 9         //按钮可以根据标题自动调整大小,当然也可以设定10         CCControlButton *pButton = CCControlButton::create(butNormal);11         pButton->setPreferredSize(CCSizeMake(48,48));12         //设置选中后图片13         pButton->setBackgroundSpriteForState(butSelected,CCControlStateSelected);14         pButton->setPosition(ccp(size.width / 2, size.height/2));15         this->addChild(pButton);

 

按钮事件

1     /* 当鼠标处于按下并曾经点中按钮时,则触发一次 */   2         controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchDownAction), CCControlEventTouchDown);   3        4         /* 当鼠标处于按下并曾经点中按钮的状态下,鼠标进入按钮范围,则触发一次 */   5         controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchDragEnter), CCControlEventTouchDragEnter);   6        7         /* 当鼠标处于按下并曾经点中按钮的状态下,鼠标离开按钮范围,则触发一次 */   8         controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchDragExit), CCControlEventTouchDragExit);   9       10         /* 当鼠标处于按下并曾经点中按钮的状态下,鼠标进入按钮范围,则触发,只要达到条件,就不断触发 */  11         controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchDragInside), CCControlEventTouchDragInside);  12       13         /* 当鼠标处于按下并曾经点中按钮的状态下,鼠标离开按钮范围,则触发,只要达到条件,就不断触发 */  14         controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchDragOutside), CCControlEventTouchDragOutside);  15       16         /* 当鼠标处于按下并曾经点中按钮的状态下,鼠标松开且在按钮范围内,则触发一次 */  17         controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchUpInside), CCControlEventTouchUpInside);  18       19         /* 当鼠标处于按下并曾经点中按钮的状态下,鼠标松开且在按钮范围外,则触发一次 */  20         controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchUpOutside), CCControlEventTouchUpOutside);  21       22         /* 暂时没有发现能用鼠标触发这个事件的操作,看了注释,应该是由其它事件中断按钮事件而触发的 */  23         controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchCancel), CCControlEventTouchCancel);

回调函数

1     void touchDownAction(CCObject* pSender, CCControlEvent event);  2        void touchDragEnter(CCObject* pSender, CCControlEvent event);  3        void touchDragExit(CCObject* pSender, CCControlEvent event);  4        void touchDragInside(CCObject* pSender, CCControlEvent event);  5        void touchDragOutside(CCObject* pSender, CCControlEvent event);  6        void touchUpInside(CCObject* pSender, CCControlEvent event);  7        void touchUpOutside(CCObject* pSender, CCControlEvent event);  8        void touchCancel(CCObject* pSender, CCControlEvent event);

 

转载于:https://www.cnblogs.com/sambird/p/3197562.html

你可能感兴趣的文章
观察者模式(Observer Pattern)
查看>>
Java编程中的美好
查看>>
SEO思考:逆水行舟 不进则退
查看>>
螺旋方阵
查看>>
nginx 跨域。。。掉坑里了,小心
查看>>
pyextend库-merge可迭代对象合并函数
查看>>
RHEL6 配置本地YUM源
查看>>
【算法】双线性插值
查看>>
c++中冒号(:)和双冒号(::)的用法
查看>>
作用域、闭包、模拟私有属性
查看>>
http tunnel使用简介(ZT)
查看>>
CefSharp的简单应用,制作自动学习视频软件(基于Chromium)
查看>>
Wdcp Apache、NGINX支持中文URL图片、文件名的解决方法
查看>>
非模态窗口的创建方法
查看>>
ORA-00445: Background Process "xxxx" Did Not Start After 120 Seconds
查看>>
转:美团数据库运维自动化系统
查看>>
数据分析之分布式爬虫---分布式爬虫架构
查看>>
直升机的革命---鱼鹰运输机
查看>>
模式识别和机器学习中的概率知识
查看>>
windows下搭建PHP环境
查看>>