- 博客(94)
- 资源 (12)
- 问答 (1)
- 收藏
- 关注
转载 _stdcall_cdecl fastcall 调用方式详解
在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参
2017-03-07 18:37:40
1131
原创 cocos2dx 通用性能优化方案
关于游戏的优化的文章已经非常多和详尽了,包体大小、合图压缩、音频压缩等,所有的优化都是围绕着cpu和gpu开展。目前的硬件水平足以支持大部分非3D游戏,drawcall的场景基本上不会有超过一百的情况,2D游戏的顶点数基本上可以忽略。一.内存优化1.内存泄漏在最近的项目中使用了C11的智能指针,经过一年的使用证明这是不是一个成功的选择。虽然已经没了自己管理的烦躁,但是增加了
2017-01-24 12:02:16
6829
原创 cocos2dx使用TiledMap模拟3D地图场景----斜45度2D地图的靠墙直线移动
基于cocos2dx引擎的第三人称射击游戏,角色使用3D模型,地图采用2.5D。 定制地图编辑系统抛开不谈,这里最大可能的挖掘现有工具TiledMap的潜力,完成超2.5D地图的实现。 使用2D地图高度模拟3D场景,主要有两个要点需要解决: 1.地图和角色的层级问题,类似3D场景的深度。 在某些障碍物附近,角色可以被障碍物遮挡,也可以遮挡住障碍物。 2.
2017-01-24 11:10:23
8428
1
原创 cocos2dx 高性能高斯模糊(包含lua接口)
根据官方的帖子实现的高斯模糊当前屏幕内容 点击打开链接1.截屏缩小压缩,减小像素采样的优化算法。默认截屏后缩小到原来的1/4。2.C++代码进行一次性高斯模糊。避免使用shader造成的渲染掉帧以下是C++部分代码: /* * 高斯模糊接口 缩放因子:iScale,截图会把全屏压缩为1/iScale大 */ static void gaussianBlur
2016-12-07 10:15:49
4440
原创 cocos2dx 3.10如何把cocosstudio中的散图合图并且能在程序中加载plist使用
在项目收尾阶段,所有工程使用的还都是散图,这个时候为了降低加载和drawcall就必须要合图了,但是我们使用texturepacker合成的plist即使加载后,cocosstudio也读取不到纹理,因为我们在拼UI的阶段仍然使用的散图。这里cocosstudio有一个合图的功能,非常好用。比如要把warControl下的所有的图片合并1.新建一个合图文件。2.拖动
2016-11-29 20:59:10
8127
原创 cocos2dx 3.1从零学习(一)——入门篇(一天学会打飞机)
我们有C++基础,学习引擎总是急于求成,想立马做出一款简单的游戏给朋友玩。但是我们往往看了很多资料却一直不知道如何下手去写,有时候只要能走出第一步我们就会游刃有余,但是眼高手低的我们不是大神,需要有人指引一下。这里我就写一下我是如何学习cocos2dx3.1的,给大家参考一下。
2016-11-25 11:14:39
62643
11
原创 C++11智能指针内存泄漏查找方法
可以在XCODE中先查看是否存在内存泄漏,如果有就一步一步查。1.析构函数打断点,查看退出场景时某类的析构函数是否调用。2.强引用的地方查看是否有循环引用。如果有,使用weak_ptr 如可以,最好保证只有一个最必要的地方对其持有强引用并管理。3.查看基类是否是虚析构函数。 如果不是就改正。4.lambda表达式[pointer]中的引用指针是永久持有,所以不
2016-10-24 09:55:45
2058
原创 cocos2dx-js 集成google play service和admob--------错误处理
官方解决方案在这里 去google但是有很多细节上面没有提起。如何导入 google service lib首先将google-play-services_lib拷贝到自己的android工程目录下。 千万不要第一步就import,即使是选择copy选项。因为有可能工程目录跟android工程目录不一致。然后,import拷贝过来的这个库工程。打包报
2015-06-07 16:46:23
1516
转载 cocos2dx lua在sublime下的插件安装及查看定义
sublime 插件:点击打开链接开发工具sublime text及其强力插件QuickXDevQuickXDev设置:
2015-01-28 14:24:57
1399
原创 cocos2dx下C++11正则表达式和android下C语言正则表达式的使用--------案例密码校验
cocos2dx下C++11正则表达式和android下C语言正则表达式的使用--------案例密码校验
2015-01-11 19:03:12
2778
原创 quick-cocos2dx 学习篇(一) -------WINDOWS IDE断点调试搭建
windows下quick-cocos2dx的IDE中的断点调试
2014-12-30 00:13:08
2817
原创 使用cocos2dx 3.2和cocosstudio屏幕适配总结----相对布局
使用cocos2dx和cocosstudio做屏幕适配! 没有最完美的适配方案,只有最合适的解决办法。
2014-11-15 22:33:46
4592
转载 深度剖析OpenGL ES中的多线程和多窗口渲染技术
移动设备中的CPU和GPU已经变得很强大,到处都是配备一个或多个高分辨率屏幕的设备,需要使用带有图形驱动器的复杂交互也日益增加。在这篇博客文章中,我将讨论多线程和多窗口渲染对开发人员来讲意味着什么,同时我将介绍将这些技术应用您设计当中的条件和时机。什么是多线程渲染?传统上,OpenGL ES应用程序只从一个线程渲染到一个图层。然而,由于3D渲染引擎的复杂性有所增加,图形API操作的CP
2014-08-23 21:54:08
15002
2
转载 手机游戏开发如何选择和优化图像素材?
回答的前提是:使用OpenGL来渲染。分几个点来回答。1. RGBA4444真的比RGBA8888占用的RAM要少其实这里说的RAM,是指的显存而非内存。OpenGL支持以这几种形式来使用纹理资源(viahttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexImage2D.xml):GL_UNSIGNED_B
2014-08-23 20:57:38
1640
转载 Lua学习笔记(一) vs2013如何在C++中调用Lua(修正版)
最近Cocos2dx的学习卡壳了,一般的照抄代码我不想写上来,但想示例也想得我头晕...为了放松大脑调整状态于是开始学习Lua。Lua的语法学习还是比较简单的,学过javascript或者vbscript的应该很容易就能上手,那些Lua独有的特性也是比较有趣,例如不定数目的多参数函数和随意的参数返回值等。这里想要吐槽一下最近用来学习Lua的书籍《XX开发实践指南》(虽然没有写全名不过搜索过
2014-08-08 17:22:29
1430
转载 cocos2dx reorderChild的使用
1. reorderChild有两个参数如下图Child 是准备添加的节点,zOrder 是cocos2d 里面的 z 值2.这个函数什么意思呢?这个函数意思就是根据新的 zOrder 重新排序 child 优先级3.这个函数在什么情况下使用呢?例如我在一个 layer(场景)里面添加了一个图片,已经设置好了这个图片的绘制优先级,由于某种
2014-07-17 09:42:36
3377
原创 cocos2dx Texture、SpriteFrame、Sprite的区别
Tex保存在GPU缓冲中的一张纹理。SpriteFrame是Texture+Rect,过程是这样的,Texture是通过指定图片得到的,然后,指定用这个Texture指定具体的Rect就是SpriteFrame,SpriteFrame就是用户可以看到的CCSprite
2014-07-10 12:21:17
13647
原创 cocos2dx3.0 超级马里奥开发笔记(一)——loadingbar、TableView和pageview的使用
cocos2dx3.0小项目从头开始—— 超级玛丽。
2014-07-09 21:33:23
7089
1
转载 cocos2dx 3.0 物理引擎概述
概述在游戏中模拟真实的物理世界是个比较麻烦的,通常都是交给物理引擎来做。比较知名的有Box2D了,它几乎能模拟所有的物理效果,而chipmunk则是个更轻量的引擎等。在Cocos2d-x 2.0中,游戏直接使用物理引擎,引擎提供了一个简单的CCPhysicsSprite,处理了物理引擎的body与CCSprite的关系,而物理引擎的其他要素并没有和引擎对应起来,游戏需要选择直接调用chip
2014-07-07 16:25:25
2898
转载 C++代码注释规范
1 源文件头部注释Ø 列出:版权、作者、编写日期和描述。Ø 示例:/*************************************************Copyright:buptAuthor:Date:2010-08-25Description:描述主要实现的功能****************************
2014-07-05 10:07:48
4053
转载 cocos2dx sqlite3封装使用
/* * DB.h * * Created on: 2013-6-8 * Author: zhuang */#ifndef _DB_H_#define _DB_H_#include "cocos2d.h"// DB#include "sqlite3.h"using namespace cocos2d;using namespace std;class
2014-07-05 10:03:39
1628
原创 vs引入新lib-----附cocos2dx3.0 http通信lib库添加
先说说普通的两种方法(请直接只用方法3来添加):方法1: 通过设置工程配置来添加lib库.转自网上:A、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。B、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。C
2014-07-04 10:57:45
2219
原创 cocos2dx 3.1从零学习(六)——CocosStudio(VS2013工程导入及环境设置)
cocos2dx 3.1从零学习(六)——CocosStudio(VS2013工程导入及环境设置)
2014-06-25 18:03:26
10450
原创 cocos2dx 3.1从零学习(五)——动画
动画是游戏中最重要的表现部分,本篇只是初步学习大部分动画的使用方法,没有什么原理性的东西,没有太多的干活,但是例子有很多,如果有不熟的地方要练一下。 特别是Spawn和Sequence的组合使用,什么时候使用Spawn,什么使用使用Sequence,怎么在它们之间相互嵌套对方。用光你的脑细胞尽力的去折磨这几个函数吧!做出尽可能多的绚丽的组合!
2014-06-25 11:31:08
3740
原创 cocos2dx 3.1从零学习(三)——Touch事件(回调,反向传值)
本篇将讲解cocos2dx中很重要的touch回调机制。研究CC_CALLBACK_的本质写法。学习反向传值等。
2014-06-21 16:11:58
7988
1
原创 cocos2dx 3.1从零学习(二)——菜单、场景切换、场景传值
回顾一下上一篇的内容,我们已经学会了创建一个新的场景scene,添加sprite和label到层中,掌握了定时事件schedule。我们可以顺利的写出打飞机的主场景框架。上一篇的内容我练习了七个新场景,每一个场景都展示不同的东西,像背景定时切换、各种字体的随机颜色和位置等。每次要切换一个场景都要修改AppDelegate中的调用代码,非常的不方便查看,这一篇我们写场景的切换。每当我们创建一个新
2014-06-21 10:19:26
12125
4
转载 memcached windows安装失败问题
原因是因为没有使用管理员身份打开cmd安装:以管理员身分运行cmd,进入memcached.exe所在路径,运行memcached.exe -d install -m 500 即可安装完毕,你可以去windows服务里查看是否有memcached服务;启动:memcached.exe -d start停止:memcached.exe -d stopmemcach
2014-06-13 14:53:12
1648
1
原创 cocos2dx3.0如何在windows下创建工程并简单调试
首先要安装vs2012或者vs2013,别逼我废话。首次打开vs,肯定要选择VC++。
2014-06-12 21:09:50
2543
1
转载 static_cast, dynamic_cast, const_cast探讨
首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;
2014-06-12 16:00:13
733
转载 开发进阶----阅读篇
列一下我所认为的,你面试微软前必须要读的十本书:Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)Computer System: A Programmer’s Perspective (《深入理解计算机系统》) / Windows via C/C++ (《Windows核心编程》 / 《程序员的自我修
2014-06-10 21:17:19
785
在cocos2d-x3.0里面如何使用拖拽精灵
2014-05-20
网上电子投票系统服务器端的实现
2010-07-01
字符图形程序的设计与实现
2010-06-29
简单银行管理系统(VC++开户存取款,修改密码等)
2010-06-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人