zoukankan      html  css  js  c++  java
  • cocos2d-x使用CCScale9Sprite

    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);  
  • 相关阅读:
    【BZOJ 2820】 YY的GCD (莫比乌斯+分块)
    【BZOJ 2005】[Noi2010]能量采集 (容斥原理| 欧拉筛+ 分块)
    【HDU 4898】 The Revenge of the Princess’ Knight (后缀数组+二分+贪心+...)
    【BZOJ 3473】 字符串 (后缀数组+RMQ+二分 | 广义SAM)
    【BZOJ3439】 Kpm的MC密码 (TRIE+主席树)
    【GDOI2014 DAY2】Beyond (扩展KMP)
    【转】【最大子矩阵问题】【悬线法】 学习笔记
    【HDU4333】Revolving Digits(扩展KMP+KMP)
    【转】各种字符串算法大总结
    【poj2478-Farey Sequence】递推求欧拉函数-欧拉函数的几个性质和推论
  • 原文地址:https://www.cnblogs.com/sambird/p/3197562.html
Copyright © 2011-2022 走看看