Cocos2dx项目启程二 之 封装属于我的按钮类

cocos2dx项目中接入FairyGUI 一、参考链接 本篇文章参考链接 二、新建cocos2dx项目 1、找到cocos2dx的项目创建脚本文件: 以官方的cocos2d-x-3.17.2为例,项目创建的脚本文件在该目录下:cocos2d-x-3.17.2\tools\cocos2d-console\bin, 名为cocos.py的脚本,在命令行窗口运行该脚本,创建cocos2d项目,如下图所示: new:项目名称 -l:用什么语言,cpp表示使用C++语言 -d:表示项目的存放目录 创建结果如下: 三、接入FGUI 1、libfai 阅读详情

不知道为什么,很讨厌cocos2dx的 各菜单类,比如按钮:如果一张图片上就已经有按钮的几个状态了,我还是要创建多张资源图片,

最起码要指定这张图片上哪块区域是这个普通状态,哪块区域是那个选中状态。。。。于是,在这里,做了点加工,在一张图片上

如果有几个按钮状态,来实现多种按钮状态:在用我自己的按钮类的话只只需要 1 个函数就可以实现:


CMySpriteButton *pGameMainMenuBt= CMySpriteButton::create(“bt.png”,DIR_VERTICAL,2,this, menu_selector(SceneManger::menuCallback));//

#ifndef MY_SPRITE_BUTTON_H
#define MY_SPRITE_BUTTON_H

#include "common.h"
#include "MySprite.h"

#define MYBUTTON_ZORDER				3


//按钮状态枚举
enum eButtonState
{
	//普通状态
	STATE_NORMAL,
	//按下
	STATE_DOWN,
	//已选中状态
	STATE_SELECTED,
	//禁用该按钮
	STATE_DISABLE,
	//
	STATE_MAX
};
//资源切割方向
enum eImageDir
{
	//水平
	DIR_HORIZONTAL,
	//垂直
	DIR_VERTICAL
};


//@单图切割换帧 按钮
class CMySpriteButton : public CCLayer
{
private:
	//精灵资源
	CMySprite				m_sprImage;
	//调用
	CCNode*					m_pTarget;
	//回调
	SEL_MenuHandler			m_pfnCallBack;


private:
	CMySpriteButton(void);
	~CMySpriteButton(void);

	//接口
public:
	//create
	static CMySpriteButton* create( const char* pszResourceName, eImageDir eDir, unsigned char byStates, CCNode* pTarget, SEL_MenuHandler pfnCallBack );

	void setPositionX( float x );
	void setPositionY( float y );
	void setPosition(float x, float y);
	float getPositionY();
	float getPositionX();
	cocos2d::CCPoint& getPosition();

	bool init( const char* pszResourceName, eImageDir eDir, unsigned char byStates, CCNode* pTarget, SEL_MenuHandler pfnCallBack );

	void SetState(eButtonState eState);

	//重载
protected:
	void onEnter();
	bool ccTouchBegan( CCTouch *pTouch, CCEvent *pEvent );
	void ccTouchEnded( CCTouch *pTouch, CCEvent *pEvent );
	void ccTouchesBegan( CCSet *pTouches, CCEvent *pEvent );
	void ccTouchesEnded( CCSet *pTouches, CCEvent *pEvent );

};

#endif




android studio开发Android项目嵌入cocos2dx项目     使用cocos2dx开发的项目,嵌入到android原生项目中    要实现的功能,点击按钮打开cocos2dx编写的demo应用,当然这个cocos2dx是嵌入到android原生项目中的。    前提:    1,环境什么的这里就不说了,没有环境的自己上网搜一搜。(这里附上官网地址:如何在Windows 7平台搭建Android Cocos2d-x3.2alpha0开发环境)    2... 阅读详情

相关推荐

VS下配置的cocos2dx项目

VS下配置自己的cocos2dx项目        直接用官方包中的SimpleGame示例做示范吧,那个包里面正好没有proj.win32文件。 位置为:\cocos2d-x-2.2.0\samples\Cpp\SimpleGame 初始目录中没有proj.win32表示官方在2.20中还没有配置win32版本的项目,正好可以自己试试。   我的版本: VS2013 C

Catold不学无术 2819

简单封装一个button组件

Github地址:https://github.com/ElsonJe/Simple-ui.git 阿里矢量图标库:https://www.iconfont.cn/ 一、效果    二、封装 <template> <button @click="ClickHandler()" :class="styles" :disabled="dis...

weixin_30314793的博客 1452

COCOS2DX在Android Studio环境下的部署-迁移及开发

COCOS2DX在Android Studio环境下的部署-迁移及开发 概述:          COCOS2DX是一款非常流行的游戏开发引擎。其基于MIT开源协议,将OpenGL ES进行了封装,使得开发者能够非常方便地上手使用,大大缩短了游戏开发的时间。而且,凭借这免费易用,灵活高效的特性,吸引着大量开发者。          相信如何在移动开发中,嵌入COCOS2DX引擎是很多游戏开发

liboqq123的博客 5902

cocos2dx之lua 继承、重新定义

每次require之后都是最新的lua文件local require_ = require require = function(fileName) package.loaded[fileName] = nil return require_(fileName) end ccui.Button_ = ccui.Button –保存原来的ccui.Button, ccui.Button

xi_mi_的专栏 490

手把手教你swift项目添加cocos2dx-lua

本文所用各版本信息: Xcode9.2 + swift4版本 cocos2d-x v3.17 中文官方网站 集成思路 首先网上给出一个C系的思路,本人未亲测,并且以C调用lua,绕过了cocos2d-x的调用思路,不觉得这种方式很好,所以弃之; 本文思路如图: 首先swift与objective-c的互相调用非常方便,其次oc只需要将.m文件写成.mm就可以在实...

听风轻咛 1140

cocos2dx lua 加密

cocos2dx lua 加密

缥缈的云 专栏 1万+

cocos lua之cc.Button的使用

最新项目里要对之前同时写的自定义Button优化,查了下资料,发现cocos本身自带的Button就能达到想要的效果使用代码如下: local closeBtn = ccui.Button:create(); closeBtn:loadTextures("mainscene_infodlg_close.png","mainscene_infodlg_close.png","",1);...

qq_33335724的博客 1282

Cocos2dx-lua ScrollView[二]进阶篇

本文介绍sv的一种封装类库,来实现快速创建sv

ellis1970的博客 867

cocos2dx 基础触碰效果封装(通用于具有触碰效果的节点或精灵,类似按钮,方便扩展),很久以前的代码

/* * @note :基础触碰效果封装(通用于具有触碰效果的节点或精灵,类似按钮,方便扩展) * @author :Andy.Ro * @email :Qwuloo@qq.com */ #ifndef _XBASETOUCH_SPRITE_H_INCLUDE_ #define _XBASETOUCH_SPRITE_H_INCLUDE_ #include "cocos2d.h" #includ

853

玄机-Linux权限维持-后门

玄机-Linux权限维持-后门

m0_46439803的博客 764

麒麟信安3.3-6C电网版虚拟机安装避坑指南:从ISO下载到SSH配置全流程

本文提供麒麟信安3.3-6C电网版虚拟机的详细安装与配置指南。针对电力行业仿真测试需求,重点解析从ISO镜像获取、虚拟机环境准备、安装过程中的三大“雷区”(如多管理员密码逻辑、分区方案、网络配置)到首次启动后的网络、SSH及root策略配置的全流程避坑要点,帮助技术人员高效、安全地完成部署。

rainy的博客 855

【一】Android MediaPlayer整体架构源码分析 -【初始化和创建】

本系列文章分析的安卓源码版本:【Android 10.0 版本】 一、MediaPlayer的简单调用关键流程 【这只是一个简单使用过程示例】 // 此处变量声明省略 private void play() { // 先获取SurfaceHolder mSurfaceView = findViewById(R.id.surface_view); mSurfaceHolder = mSurfaceView.getHolder(); mSurfac

CloverLHao的博客 4347

Cocos2dx 之 ButtonSprite

Cocos2dx下,自己封装的一个按钮 typedef void (CCObject::*ButtonClick_Func)(); typedef void (CCObject::*ButtonClick_FuncN)(CCObject* obj); typedef void (CCObject::*ButtonClick_FuncND)(CCObject* obj,void* pa

ym19860303的专栏 5649

手把手教你用XC7A35T FPGA搭建低成本机器视觉系统(含开发板选型指南)

本文详细介绍了如何利用AMD(原Xilinx)Artix-7系列中的XC7A35T FPGA芯片,搭建一套低成本的机器视觉系统。内容涵盖从芯片选型深度剖析、开发板(如黑金AX7035B)对比指南,到使用Vivado创建工程、编写图像处理模块(如RGB转灰度),以及资源优化和与上位机(如OpenCV)协同工作的完整流程,旨在为开发者提供一套可实践的高性价比硬件加速视觉解决方案。

beta5的博客 353

VMware Converter 6.2.0保姆级教程:从物理机到ESXi主机的完整迁移指南(含常见错误排查)

本文提供VMware Converter 6.2.0从物理机迁移至ESXi主机的完整保姆级教程。详细解析了迁移前的环境规划、核心转换过程步骤、版本差异对比,并重点针对代理安装失败、任务卡顿、虚拟机无法启动等常见错误提供了实战排查与解决方案,确保P2V迁移顺利进行。

sam99的博客 380

Cocos2dx项目启程一 之 封装属于我的精灵类

Cocos2dx项目启程一 之 封装属于自己的精灵类

幻想无价值! 1764

全网最详细教程,手把书教你使用YOLOv10训练自己的数据集和推理(附YOLOv10网络结构图)

YOLOv10,由清华大学多媒体智能组只开发,是一款亳秒级实时端到端目标检测的开源模型。该模型在保持性能不变的情况下,与YOLOv9相比,延迟减少了46%,参数减少了25%,非常适合需要快速检测物体的应用,如实时视频分析、自动驾驶和智能医疗等领域。这些改进使得YOLOv10在实时物体检测领域达到了新的技术水平。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1万+

cocos2dx 4.0 创建项目

cocos2dx 4.0 创建项目 安装python环境 安装Visual Studio 2017 工具集版本是141 winsdk版本没有要求 clone cocos的git源码 cd your project dir git clone https://github.com/cocos2d/cocos2d-x.git cd cocos2d-x-4.0 运行setup.py 安装cocos宏命令 cd cocos2d-x-4.0 ./setup.py 安装成功运存cocos 命令 进入想保存自己游

baidu_38766085的博客 3775

uniapp - 实现 App 端 “半屏幕“ 连续扫码功能,页面只有半个屏幕是扫码框并且可持续连续扫码获取数据(不使用官方 uni.scanCode API,因为无法连续扫码!)详细示例源码插件教程

uniapp app端实现半屏幕扫码,uniapp 扫一扫半个屏幕,uniapp 扫一扫,uniapp持续扫码实现,uniapp怎么自定义扫码和连续扫码,uni-app App端半屏连续扫码,uniapp 扫一扫半个屏幕,uniapp自定义扫码页面样式,实现连续扫码功能(uniapp),uniapp - 实现 App 端 "半屏幕" 连续扫码功能,页面只有半个屏幕是扫码框并且可持续连续扫码获取数据(不使用官方 uni.scanCode API,因为无法连续扫码!)详细示例源码插件教程。

✅ 精选推荐文章 1万+

飞腾平台(FT2000/4 D2000/8)配置GPIO引脚

飞腾平台配置CPU的引脚为GPIO工作模式的方式有永久型和暂时型: - 永久型是通过UEFI中的MmioWrite32函数来实现的,该方法可以在UEFI阶段就对复用引脚的工作模式配置为GPIO,并且在进入操作系统后仍然不会发生便会; - 临时型是通过rw工具,在系统下手动修改复用引脚的工作模式,该方法在系统重启后会失效,所以是暂时型的。

qq_30135687的博客 5616

Cocos2dx项目启程三 之 架构项目之切换场景

大致看了下cocos2dx自带的例子testcpp,发现切换场景有2种,1是:普通场景,直接create即可,2是: CCDirector::sharedDirector()->replaceScene(pScene);(过渡场景) 第二种点击到replaceScene函数定义看,我们知道里面参数是CCScene对象,对于CCScene的子类CCTransitionScene下的,大都是切换场景

幻想无价值! 1625

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python创建cocos2dx项目

最近为了做一个Android游戏,学习了cocos2dx,但是在创建cocos2dx项目上就出现了问题。本来只向在Eclipse上复制HelloWorld项目改改就好,但是心里总是不舒服。上网百度了也没有好的方法。总算接受了Eclipse+cocos2dx开发游戏,但是运行时候总是太慢,于是又转向了visual studio 2010,用vs来编写程序并测试,最后在移植到Android上,这也许是

snow_1216的专栏 1215

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Cocos2dx 怎样在Mac上创建项目

Cocos2dx 怎样在Mac上创建项目 准备工作 首先下载Cocos2dx 3.6到你的Mac上,解压之后把它保存在一个你喜欢的位置。你可以在这里下载Cocos2dx 3.6:http://www.cocos2d-x.org/download 然后,查看一下你的Mac上有没有安装Python 2.7.5 或者更高版本。查看方法:打开终端并输入命令python。如果已经安装了的话,会有下面的

vivi_12的博客 3107

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

cocos2dx eclipse项目迁移到 Androidstudio项目中

从事Android开发已经有一段时间了,自己的开发IDE也从Eclipse转到了Android Studio。但是,需求上要求我把自己的Android Studio项目集成到一个Eclipse 下的ndk 项目上,在集成的过程中,我有了一些值得分享的体验,在这里记录下来。 项目需求 在自己从事Android开发之前,自己做的是Cocos2dx-lua项目的开发工作。Cocos2dx-lua是一...

哲学天空的博客 1097

eclipse导入cocos2dx项目后,CDT无法编译

继上一篇文章: eclipse导入cocos2dx项目,CDT无法工作解决方法 导入后,虽然CDT可识别项目,但是无法调用CDT buidler 来编译项目 查找.project 文件后发现在下缺少CDT builder的命令,故需加上如下标签,重新打开项目即可 org.eclipse.cdt.managedbuilder.core.genmakebuilder cl

chen3286822的专栏 1355
上一篇: Cocos2dx项目启程一 之 封装属于我的精灵类
下一篇: Cocos2dx项目启程三 之 架构项目之切换场景
DesDestroy
博客等级 码龄14年 84粉丝 78原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值