cocos2d-x

在这里插入图片描述

cocos2d-x 4.0 学习之路(一)环境搭建 Mac版

我的Mac系统:MacOS Catalina 10.15.3,Xcode 11.3.1 (MacOS上的环境搭建,请参考我的另一篇博客,环境搭建Windows版) 准备工作: 1.检查Python版本: python –version 配置这个库需要Python2,官方推荐的是Python2.7。注意:Python3是不行的! 你要是安装过Python3以后的版本,也可以再装2.7(去... »

Win7上搭建Cocos2d-x 3.1.1开发环境

开发工具的准备 搭建开发环境需要安装工具包括 Visual Studio python ———(本教程以python2.7.3版本为例),下载地址:http://www.python.org/download/releases/2.7.3/。 Cocos2d-x ———(本教程以cocos2d-x-3.0版本为例),下载地址:http://www.cocos2d-x.org/download/ve... »

使用C++进行Cocos2d-x游戏开发入门过程中的要点解析

总结了下,新手引导的要点有以下几个: 画面的变化. 触摸和按钮响应. 逻辑处理及代码组织. 下面我们就详细讲述这几个要点: 一.画面的变化. 对个这个不同的游戏的做法不尽相同,归结起来大概有这么几种: 1.画面整体变暗 这个比较简单,cocos2d就有现成接口: CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize... »

Cocos2d-x UI开发之CCControlColourPicker控件类使用实例

Cocos2d-x UI开发之CCControlColourPicker控件类使用实例

CCControlColourPicker实现颜色拾取器的功能。关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton。下边来看源代码。 bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); //设置一个显示字符串的label CCLabelTTF * ti... »

用于cocos2d-x引擎(ndk)中为android项目生成编译文件列表

用于cocos2d-x引擎(ndk)中为android项目生成编译文件列表

  代码如下:package com.leeass.generate; import java.io.File;import java.io.FileFilter;import java.io.FileNotFoundException; /** * 用于cocos2d-x引擎中android项目编译文件列表生成 * @author leeassamite ... »

C++基础入门教程(五):new和delete

)没错,今天木头来带大家走进科学,走进世界,一起来探讨C++的new和delete。只要你new了一个变量,那就必须有对应的delete。所以,retain和release诞生了。 »

Cocos2d-x UI开发之CCControlSlider控件类使用实例

关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton。这里只写出源代码,里边的注释对控件的用法有详细的介绍。 bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); //设置一个显示字符串的label CCLabelTTF * title = CCLabel... »

Cocos2d-x入门教程(详细的实例和讲解)

智能终端上的游戏目前风头正劲,试问哪个智能手机上没有几款企鹅公司出品的游戏呢!之前从未涉猎过游戏开发,但知道游戏开发前要挑选一款合适的游戏引擎,自己从头开始敲代码的时代已经out了。在寻觅游戏引擎之前,我需要回答三道摆在我面前的选择题:     1、2D引擎还是3D引擎?    2、平台专用引擎还是跨平台引擎?  &n... »

Cocos2d-x 3.x入门教程(二):Node节点类

千里之行,始于足下上一篇文章《菜鸟学习Cocos2d-x 3.x——基础概念》中介绍了以下Cocos2d-x的基本结构和一些重要的类,而这里开始对这些重要的类进行单独的介绍与分析。Node类在Cocos2d-x中有多重要呢? »

Cocos2d-x UI开发之CCControlButton控件类实例

在应用的开发中,无论是Android操作系统还是iOS操作系统,其开发框架都提供了控件,包括按键、拖动滑块等,这样提高了开发效率。对于游戏的开发,UI的开发同样需要控件来提高开发效率。对Cocos2D-x来说,从2.0版本开始提供了很多控件类来帮助我们更好地开发UI。 在HelloWorld.h中加入如下俩句代码 //需要包含如下的头文件和命名空间的申明 #include "cocos-ext.h... »

Cocos2d-x的内存管理总结

Cocos2d-x引擎的核心是用C++编写的,那对于所有使用该引擎的游戏开发人员来说,内存管理是一道绕不过去的坎。 关于Cocos2d-x内存管理,网上已经有了许多参考资料,有些资料写的颇为详实,因为在内存管理这块我不想多费笔墨,只是更多的将思路描述清楚。 一、对象内存引用计数 Cocos2d-x内存管理的基本原理就是对象内存引用计数,Cocos2d-x将内存引用计数的实现放在了顶层父类CCObj... »

Cocos2d-x 3.x入门教程(一):基础概念

从今天起,正式开始Cocos2d-X的学习之旅。基础架构在Cocos2d-x中,主要的概念包括Director、Scene、Layer和Sprite这几个重要的概念,它们之间的关系如下。Scene(场景)Scene场景是Cocos2d-x 3.x中必不可少的元素,游戏中我们需要构建不同的场景,游戏里关卡、板块的切换就是一个个场景之间的切换。Cocos2d-x 3.x中的Sprite由Texure、... »

Cocos2d-x UI开发之场景切换代码实例

cocos2d-x中的场景切换是通过导演类调用相应的方法完成的,可以通过CCDirector::sharedDirector()->replaceScene()方法切换场景,参数是要切换的新场景,这种方法会释放掉旧的场景。通过pushScene()切换则是将旧的场景压入到栈中,以便通过popScene()函数出栈,继续运行原场景。刚开始程序启动的时候通过runWithScene()运行一个新... »

ShareSDK造成App崩溃的一个BUG原因分析以及Fix方法

近期研究了一下Game App做社交分享,最后选择了ShareSDK来集成,不仅是因为ShareSDK支持国内外主流社交平台,更重要的是ShareSDK提供了专门的 cocos2d-x集成方案,有专门的文档和代码Demo供开发者参考。 文档中提到了三种集成方式:纯Java方式、plugin-x方式以及Cocos2d-x专用组件方式,这里选择了ShareSDK Cocos2d-x专用组件(v2.3.... »

C++基础入门教程(一):基础知识大杂烩

我很郁闷,这本书果然讲得很详细,我在看第二章,看完要深呼吸,实在太详(lao)细(dao)了。 不过这很好,后面难一些的内容应该会不错~   那么,这章只是作为预览的章节,我抽出一些稍微比较有营养的内容记录一下吧~   注意:本系列教程不适合无任何编程语言基础的朋友,只是作为C++基础的一种补充。 教程内容基于《C++ Primer Plus》一书,适合初学者,熟手请直接忽略。... »

Cocos2d-x UI开发之菜单类使用实例

菜单是我们在开发中经常用到的元素,cocos2d-x中的菜单基本上是分装了文本类和精灵类,代码注释有详细的说明,看代码吧!   bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); CCLabelTTF * ttf = CCLabelTTF::create("cocos2d","... »

从Cocos2d-x2迁移到Cocos2d-x3的过程分享

不过好景不长,我又尝试将GameDemo在genymotion 2.3.7 Android上运行,这回得到的结果却是:黑屏。又将Cocos2d-x 3.0rc0自带的cpp-empty-test编译后放到模拟器上运行,得到了同样的黑屏结果,显然这可能是rc0的一个问题。在Cocos2d-x forum上粗略搜到的结果是:升级到最新版本可以解决黑屏问题。于是到官方下载目前最新发布版Cocos2d-x... »

Cocos2d-x中CCEditBox文本输入框的使用实例

Cocos2d-x中CCEditBox文本输入框的使用实例

文本输入框这个东西相信大家不论做什么游戏总会用到吧,今天我们就来看看这个东西如何使用。文本输入框同样属于扩展库中的内容,所以你知道怎么做了吧。当用户要在文本框中输入内容,这一系列的过程我们需要一些函数的调用来获得我们想要的东西,包含这些函数的类需要实现CCEditBoxDelegate这个接口,下面我们来看看具体如何使用吧。 #ifndef __HELLOWORLD_SCENE_H__ #defi... »

Cocos2d-x UI开发之文本类使用实例

cocos2d-x中有三个文本类,用来在屏幕上显示文字,这三个类分别是CCLabelTTF、CCLabelBMFont、CCLabelAtlas。这三个类都继承自抽象类CCLabelProtocol,所以具有了setString()改变文本信息的方法和getString()获得文本信息的方法。 bool HelloWorld::init() { bool bRet = false; do { CC... »

Cocos2d-x 3.0中集成社交分享ShareSDK的详细步骤和常见问题解决

国内这方面的第三方插件有不少,比如ShareSDK、友 盟分享组件、Baidu分享组件等,之前在研究2.2.2版本时,集成了ShareSDK这个组件,这次迁移到Cocos2d-x 3.0rc2依旧选择集成ShareSDK,这里就来说说集成的过程,遇到的一些问题以及解决方法。由于Cocos2d-x 3.0rc2的类命名发生了变化,我们需要对C2DXShareSDK中使用到的引擎中的类名以及方法名进行... »

Cocos2d-x中使用CCScrollView来实现关卡选择实例

类似关卡选择的这种功能游戏中经常看到,比如帮助场景,选择关卡,通过滑动的方式选择一些其他的东西等等。今天我们实现关卡的选择是使用CCScrollView这个类。当然还有一些其他的方法,比如使用cocostudio的page view也可以。我先说下整体的思路,CCScrollView这个类是继承自CCLayer的,本身的触摸事件有些bug,所以网上一般将这个层的touch事件处理为false,而使... »

Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验

结论:实践证明这三个东西的默认坐标都是0,0 默认锚点都是0.5,0.5。 bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); CCSprite * sprite = CCSprite::create("image1.png"); this->addChild(sprite); /... »

Cocos2d-x 3.0多线程异步加载资源实例

Cocos2d-x从2.x版本到上周刚刚才发布的Cocos2d-x 3.0 Final版,其引擎驱动核心依旧是一个单线程的“死循环”,一旦某一帧遇到了“大活儿”,比如Size很大的纹理资源加载或网络IO或大量计算,画面将 不可避免出现卡顿以及响应迟缓的现象。从古老的Win32 GUI编程那时起,Guru们就告诉我们:别阻塞主线程(UI线程),让Worker线程去做那些“大活儿”吧。 手机游戏,即便... »

Cocos2d-x保存用户游戏数据之XML文件是否存在问题判断方法

之前有写过一篇博客介绍了游戏数据保存类CCUserDefault,主要介绍了几个函数的使用,很是简单,不了解的先看这篇文章。但是在实际做项目的时候发现如何判断XML文件存在是个问题,试想一下用户结束了游戏以后想打开APP继续玩,却发现还得重头玩起,是不是会很失望啊,所以我们必须把用户的数据保存起来,比如最高分、声音的设置什么的。在这个过程中如何判断XML文件就是一个问题,进过我的调试发现使用引擎提... »

Cocos2d-x学习笔记之CCLayerColor层的使用实例

CCLayerColor层的使用方法,写的详细了一些,和上篇文章基本差不多的(查看CCLayer的更多介绍),只不过这次HelloWorld继承自CCLayerColor。 bool HelloWorld::init() { bool bRet = false; do { //ccc4这个宏的参数分别为R,G,B,A最后一个是透明度,设置成255就是不透明的,设置成0是透明的 CC_BREAK_I... »

Page 1 of 212