cocos2dx
文章平均质量分 58
eclipse_c
游戏程序员
展开
-
【cocos2dx】对cocos2d 之autorelease\ratain\release的理解
一开始对autorelease的“自动释放”的印象总是挥之不去。总是往java那样的完全自动释放那方面靠,于是第一感觉就错了。以下仅针对 cocos2dx分析。前言:三种情况,引出问题new出来的对象需要释放,而释放时,如果有其他人引用了这个对象,再次使用这个对象时,则会导致无效指针报错。于是有了引用计数的施放管理机制。对于一个返回对象指针的方法。你若不看文档不转载 2014-11-30 19:13:28 · 789 阅读 · 0 评论 -
【cocos2d-x】cocos2d-x中设置颜色
原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/azhou_hui/article/details/8184695 cocos2d-x颜色层 CCLayerColor(1)[cpp] view plaincopy//背景颜色转载 2015-05-10 18:14:35 · 612 阅读 · 0 评论 -
cocos2d-x 在Mac上lua开发环境搭建
1.下载cocos2d-x引擎,解压缩2.运行setup.py(进入dos环境下运行)3.下载quick***.zip,解压缩(目前用的是2.2.6版本)4.进入到命令行,运行setup_mac.sh5.进入到quick文件夹下的player目录,找到应用程序,打开并创建新应用6.使用subline编写代码原创 2015-08-04 09:29:00 · 369 阅读 · 0 评论 -
在公司3个月的一些积累
本文不会涉及到任何公司项目等相关的内容,完全是个人平时的积累。lua相关1.pairs 和 ipairs 的区别:pairs可以遍历表中的所有元素,可以返回Nilipairs则不可以返回nil,只能返回0,遇到nil则退出,他只能遍历到表中出现的第一个不是整数的key2.lua深拷贝tablelua 除了简单类型分配内存外,table只是传递引用,所以不能用简单的”=”来copy两个表,并试图原创 2015-11-06 23:51:38 · 888 阅读 · 0 评论 -
由quick2升级到cocos2d-x3.8的一些体会
本文介绍一些大致的思路以及需要的方法,在细节层次还有很多的东西需要注意,并且要做更深基础的迁移版本,还需要修改更多的C++代码才好。 quick2中使用的东西和3.x中变化确实很大,包括命名上。 quick使用的是一套framework,新工程中都通过一个framework来连接所有的接口,若添加了自己定义的文件,只需要重新生成一个framework.zip即可,很简单。常用的如:ccp()原创 2015-11-07 00:20:00 · 906 阅读 · 0 评论 -
Ubuntu14.04 + cocos2d-x 3.8 + netBeans8.1 调试环境搭建(如何调试)
markdown 不方便插入图片,就使用了旧版的编辑器。上一篇文章地址: http://blog.csdn.net/eclipse_c/article/details/49826801 上文说道在ubuntu 14.04 中编译并运行cocos2d-x 3.8的示例程序,这个文章将介绍如何使用netbeans8.1 运行新创建的c++工程并调试。到网上搜原创 2015-11-14 01:28:32 · 781 阅读 · 0 评论 -
Ubuntu14.04 + cocos2d-x 3.8环境搭建
Ubuntu14.04 + cocos2d-x 3.8环境搭建首先下载好cocos引擎的代码,将其解压,在build文件夹下,找到install=deps-linux.sh,并在终端运行,这样就完成了安装的依赖。$cd build$./install-deps-linux.sh安装完依赖后,新建一个文件夹linux_build,执行cmake命令生成makefile文件$cd build$mkdir原创 2015-11-14 00:24:06 · 981 阅读 · 0 评论 -
cocos2d-x 3.x中Layer层触摸事件
简单实现监听layer(this)的3个触摸事件。///触摸事件的处理 this->setTouchEnabled(true); auto dispatcher = Director::getInstance()->getEventDispatcher(); auto listener = EventListenerTouchOneByOne::create()原创 2015-11-22 16:04:10 · 11491 阅读 · 0 评论 -
【C++11】Lambda表达式
文字部分来源于百度百科“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。ISO C++ 11 标准的一大亮点是引入Lambda表达原创 2014-12-30 13:46:59 · 573 阅读 · 0 评论 -
cocos2d-x lua 动作(动画)回调
最近又开始搞客户端了。```lualocal callbackFunc = function () --do something g_i3k_ui_mgr:CloseUI(eUIID_BattleShowExp)endlocal move = cc.MoveTo:create(0.8, self.needPos)local fadeOut = cc.FadeOut:c原创 2016-07-07 17:02:54 · 4400 阅读 · 0 评论 -
【cocos2dx】基于visual studio 2013 的环境搭建
参考地址:http://www.youranshare.com/blog/sid/37.html 写的很好的文章 vs2013 + cocos2dx3.0 + python 2.x 环境 +Android sdk 安装vs2013,(我已经提前安装好了vs2013),下载 cocos2dx (地址:http://cn.cocos2d-x.org/download...原创 2014-11-18 17:50:08 · 3027 阅读 · 0 评论 -
android 手游全面屏适配方案
由于原始应用是基于android4.4版本搞的,直接用android P的sdk来搞开发不现实,android P的模拟器可以实现官方刘海了模拟了,没有的可以试试。适配方案: 计算状态栏高度,如果高度为0那么就是正常比例的手机,如果高度不为0,那么就要加上这个高度。//获取状态栏高度 public static int getStatusBarHeight(Context contex...原创 2018-05-30 09:48:42 · 3390 阅读 · 0 评论 -
在mac环境下创建cocos2d-x工程出现"permission Denied"的解决方案
mac 下终端访问文件出现“Permission Denied”解决方案:一个文件有3种权限,读、写、可执行,你这个文件没有可执行权限,需要加上可执行权限。1. 终端下先 cd到该文件的目录下2. 执行命令 chmod a+x ./文件名这样就可以打开该文件了原创 2015-08-10 10:27:46 · 1460 阅读 · 0 评论 -
【cocos2d-x】cocos2d-x的内存管理
出自图书《制作自己的捕鱼达人》复杂的内存管理内存管理一直是一个不易处理的问题,开发者必须考虑分配回收的方式和时机,针对堆和栈做不同的优化处理,等等。内存管理的核心是动态分配的对象必须保证在使用完毕后有效地释放内存,即管理对象的生命周期。由于C++是一个较为底层的语言,其设计上不包含任何智能管理内存的机制。一个对象在使用完毕后必须被回收,然而在复杂的程序中,对象所有权在不同程序片转载 2015-05-18 22:47:50 · 590 阅读 · 0 评论 -
【cocos2dx】cocos2dx学习笔记
我只能说,写博客,还是用windows live writer比较舒服 2014.12.4 17:49 1.继承关系 CCNode CCScene 场景 CCLayer 层次 CCMenu 菜单 CCSpr原创 2014-12-04 18:24:02 · 507 阅读 · 0 评论 -
【cocos2dx】创建精灵的两种方法
一种为直接引用单张图片,但是这样效率不高,不推荐。第二中方法采用精灵帧的方法,通过工具TexturePacker 将纹理打包成.plist文件,然后在进行访问。详细参考:cocos2d 示例项目cpp-tests中的ZwoptexTest目录下的文件。bool Spalsh::init(){ if (!Layer::init()){ return false; }原创 2014-12-29 19:12:07 · 608 阅读 · 0 评论 -
【cocos2dx】如何实现场景的跳转
前面定义了一个SpalshScene.h,并声明了如下的函数,在SplashScene.cpp中对这些函数实现,跳转用到了CCNode类的定时器有关的函数,详细参考书,这里采用的函数为:void scheduleOnce(SEL_SCHEDULE selector, float delay)// 启动一次定时器,参数为回调函数及延时启动时间#include "SplashScen原创 2014-12-28 14:23:43 · 2183 阅读 · 0 评论 -
【cocos2dx】上下左右简单的触控分析
下面的代码在 bool Game::init(){ 中。// on Touch ;moved by 10 pix we think it moved //触控设置 auto event = EventListenerTouchOneByOne::create(); event->onTouchBegan = [&](Touch*tou, Event *eve){ m_x = to原创 2014-12-28 15:10:59 · 1176 阅读 · 0 评论 -
【cocos2dx】Ref 到底是什么鬼?
cocos2dx中所有对象都继承于Ref,或者继承于 Ref和ClonableRef中就是维护了一个计数器,用于判断该继承于Ref的对象是否应该deleteclass CC_DLL Ref{public: //计数加1 void retain(); //计数减1,如果为0,删除对象 void release(); //添加到对象池中,别忘了PoolM转载 2014-12-30 19:59:21 · 1276 阅读 · 0 评论 -
【cocos2dx】std::function与std::bind 函数指针
函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做函数原创 2014-12-30 20:23:11 · 1583 阅读 · 0 评论 -
【cocos2dx】创建简单的文字Label——BMFont
更多参考文章: http://www.cocoachina.com/bbs/read.php?tid=217183 http://bbs.9ria.com/thread-420152-1-1.html//初始化游戏标题 auto labelGame = Label::createWithBMFont("futura-48.fnt", "2048"); la原创 2015-05-02 14:36:39 · 1862 阅读 · 0 评论 -
【cocos2dx】如何创建自己定义的精灵类Sprite
C++的知识的确不用都忘了。写德州扑克想要写一个扑克类Card,继承自Spirite,并且额外添加些自己的属性,比如说牌面大小及花色。那么我在card.h中定义这个类。并且重载Sprite::create(filename)方法。//Card.h #pragma once#include "cocos2d.h"#include "define.h"USING原创 2015-05-09 17:09:24 · 3455 阅读 · 0 评论 -
【cocos2dx】添加简单的按钮 MenuItemImage
先上效果图:(为啥图片显示不出来?)在.h文件中添加 void button_touch_test(Object *); 类似的这样的回调函数的声明(自己写的回调函数)在.cpp文件中init()函数里如下写:auto giveUpMenuItem = MenuItemImage::create( "button01.png", "button02.png"原创 2015-05-10 19:47:33 · 4596 阅读 · 0 评论 -
【cocos2d-x】构造函数与初始化
出自图书《制作自己的捕鱼达人》在cocos2d-x中创建对象的方法与C++开发者的习惯不同,在C++中,我们只需要调用类的构造函数即可创建一个对象,即可直接创建一个栈上的值对象, 也可以使用new操作符创建一个指针,指向堆上的对象,而在cocos2d-x中,无论是创建对象的类型,还是创建对象的方法,都是与C++不同的。 cocos2d-x不使用传统的转载 2015-05-18 22:43:56 · 1497 阅读 · 0 评论 -
【cocos2d-x】属性设置及单例模式
出自图书《制作自己的捕鱼达人》单例:相对于前面的内容,单例(singleton)则是一个很易于理解的概念。在Cocos2d-x引擎中,我们能看到大量单例的身影,它们大部分出现在一些系统资源管理类中。单例模式保证了全局有且只有一个实例对象,保证自动地初始化该对象,使得程序在任何时候任何地方都可以访问、获取该对象。例如,Cocos2d-x的游戏流程控制器CCDirector是一转载 2015-05-18 22:45:20 · 924 阅读 · 0 评论 -
【Cocos2d-x】cocos2d-x 3.x坐标系详解
//转自: http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v3/coordinate-system/zh.mdCocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系。笛卡尔坐标系笛卡尔坐标系中转载 2015-05-01 19:26:39 · 444 阅读 · 0 评论 -
[arm64]Luajit-2.1.0-beta3 编译64位android lib
谷歌商店要求在8月之前,修改所有的应用支持64位最近就在改这些东西,然后编arm64-v8a下的so。之前改了很多的mk文件,然后修改链接库等,最后成功编译出来so了然而跑起来却有一些问题,从android studio看到的报错堆栈,是cocos2d.lua没有找到然后最后把问题定位到luajit,在编译引擎so的时候,由于没有64为的libluajit.a,所以改为使用lua64位。...原创 2019-06-18 11:52:42 · 4545 阅读 · 5 评论