偶尔e网事

Work in Cocos2d-x Team.
私信 关注
偶尔e网事
码龄11年

折腾族:https://fusijie.github.io

  • 1,341,222
    被访问量
  • 107
    原创文章
  • 2,689
    作者排名
  • 1,697
    粉丝数量
  • 毕业院校 中南大学
  • 目前就职 触控科技
  • 于 2009-12-22 加入CSDN
获得成就
  • 获得64次点赞
  • 内容获得1,304次评论
  • 获得336次收藏
  • GitHub 获得1,809Stars
荣誉勋章
TA的专栏
  • c++
    24篇
  • 零基础学Git
    25篇
  • 玩转cocos2d-x
    34篇
  • C++ Primer
    21篇
  • 【cocos2d-x入门实战】微信飞机大战讲解
    15篇
  • cocos2d-x
    74篇
  • Git
    18篇
  • VC/MFC
    6篇
  • Android
    5篇
  • Java
    2篇
  • Others
    2篇
  • Octopress
    10篇
  • 数据结构
    10篇
  • Lua
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Anti_TexturePacker for mac.zip

功能: 将由TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。同时也可以将合成的png图裁剪为小png图保存。 使用方法: 1.将同名png和plist文件放置在同一目录下。 2.点击“导入png”按钮选择png图,或者直接拖拽png/plist/pack进对话框。 3.鼠标在png图上滑动,右上角即可显示对应的png图名字。 4.单击png图即可复制名字到剪切板。 5.双击列表选项,PNG中自动显示红框。 6.点击“裁剪PNG”,选择存放目录,即可进行剪裁。 v1.7更新 修复: 1.移除联网检测更新,避免崩溃。 作者:偶尔e网事 blog:http://blog.csdn.net/ja ckystudio/article/details/12867863 基于1.7版本,使用wine打包,mac版本
zip
发布资源于 2 年前

(译)第三部分:什么是rebase?

内容提要第一部分:commit hash是什么?第二部分:merge是什么?第三部分:rebase是什么?在第一部分中,我们讨论了什么是commit hash,其中一个很重要的特点就是commit无法被修改。hash值是根据存储在commit中的信息生成的,所以修改一个commit或者commit hash,你必须要创建一个全新的commit。我们还讨论了每一个commit存储了它的前一个c
翻译
2854阅读
0评论
2点赞
发布博客于 6 年前

(译)第二部分:什么是merge?

内容提要第一部分:commit hash是什么?第二部分:merge是什么?第三部分:rebase是什么?在第一部分我们创建了一个小的demo仓库,它拥有着一个feature1分支,而且这个分支已经准备好要merge到master分支中了。此时,我们可以选择merge或者rebase feature1分支到master分支。关于rebase将会在第三部分进行介绍。现在我们来看一下,采用mer
翻译
2274阅读
0评论
2点赞
发布博客于 6 年前

(译)第一部分:什么是commit hash?

内容提要第一部分:commit hash是什么?第二部分:merge是什么?第三部分:rebase是什么?最近一段时间我在学习如何使用Git,碰到的一个难点:如何区别merge和rebase?大部分人都能理解merge的概念,但是对于rebase就不是很清楚了。在这三篇博文中我将尽可能用最简单的方式来解释它们的异同。不过在此之前,我们需要先了解一下什么是commit hash。如果你看过自己
翻译
4407阅读
0评论
1点赞
发布博客于 6 年前

exe文件Anti_TexturePacker v1.7

功能: 将由TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。同时也可以将合成的png图裁剪为小png图保存。 使用方法: 1.将同名png和plist文件放置在同一目录下。 2.点击“导入png”按钮选择png图,或者直接拖拽png/plist/pack进对话框。 3.鼠标在png图上滑动,右上角即可显示对应的png图名字。 4.单击png图即可复制名字到剪切板。 5.双击列表选项,PNG中自动显示红框。 6.点击“裁剪PNG”,选择存放目录,即可进行剪裁。 v1.7更新 修复: 1.移除联网检测更新,避免崩溃。 作者:偶尔e网事 blog:http://blog.csdn.net/jackystudio/article/details/12867863
exe
发布资源于 6 年前

Cocos2d-x opengl shader file

http://blog.csdn.net/jackystudio/article/details/23961653
zip
发布资源于 7 年前

【玩转cocos2d-x之四十】如何在Cocos2d-x 3.0中使用opengl shader?

有小伙伴提出了这个问题,其实GLProgramCocos2d-x引擎自带了。完全可以直接拿来用。先上图吧。使用opengl前后的对比:1.在cpp中使用openGL shader。(1)添加gray.vsh和gray.fsh到资源目录(见附件)。(2)添加如下代码:bool HelloWorld::init(){ if ( !Layer::in
原创
10432阅读
9评论
1点赞
发布博客于 7 年前

【玩转cocos2d-x之三十九】Cocos2d-x 3.0截屏功能集成

3.0的截屏和2.x的截屏基本上相同,都是利用RenderTexture来处理,在渲染之前调用call函数,然后调用Cocos的场景visit函数对其进行渲染,渲染结束后调用end函数即可。只是3.0截屏需要在截完屏的下一帧才能处理RenderTexture,这点要注意。关于2.x的RenderTexture的API和demo可以参见http://blog.csdn.net/jackystudio
原创
6045阅读
0评论
2点赞
发布博客于 7 年前

【玩转cocos2d-x之三十八】如何使用NDK-STACK tool来恢复Cocos2d-x安卓错误堆栈信息

很多童鞋在纠结在Cocos2d-x中安卓项目如何调试JNI部分的C++代码,在吃完2个茶叶蛋后我决定放大招。。。本文翻译自:http://www.cocos2d-x.org/forums/6/topics/462251.安卓 NDK-STACK toolNDK-Stack 是一个非常易用的工具,它通过将信息显示到adb logcat中来辅助你分析堆栈追踪,然后用相应的值(哪篇源
原创
7426阅读
1评论
5点赞
发布博客于 7 年前

【玩转cocos2d-x之三十七】粒子系统的加载优化

Cocos2d-x的粒子系统是通过加载plist生成的。plist包含两部分内容:粒子系统属性和粒子纹理。然而每次调用create都会对plist进行读取解析,如果重复地使用同一个粒子效果,这样的调用明显是低效冗余的。所以我们要做的是,将粒子系统属性和粒子纹理分别抽出。(1)将粒子系统属性预加载并全局保存,避免每次进行读取。(2)粒子纹理可视且可以进行纹理打包,加载粒子纹理就和加载普通的图
原创
6472阅读
3评论
0点赞
发布博客于 7 年前

【玩转cocos2d-x之三十六】Flappy Bird大集结

前几天看到cocos2d-x官网论坛让各种姿势的flappy bird霸占了,矮油真受不鸟,你们够啦!!!               今天准备用一个贴来秒杀你们。准备好了么。。。放图镇楼:1.C++版先来个传统版,@OiteBoys童鞋很有爱,将flappy bird用cocos2d-x v3.0写了一遍,同时加入了新的3.0物理系统。在这一系列教
原创
6267阅读
7评论
8点赞
发布博客于 7 年前

【玩转cocos2d-x之三十五】Earth Warrior 3D大揭秘

3D游戏现在玩起来门槛还是挺高的。不过如果在Cocos2d-x引擎加入3D扩展,实现2.5D游戏效果又会怎么样?1.概述先上大会现场演示图:Apk下载:http://pan.baidu.com/s/1ntM75bV源码下载:https://github.com/chukong/EarthWarrior3D.git,给个star不费电。。。开发环境:Cocos2d-x v
原创
8491阅读
16评论
8点赞
发布博客于 7 年前

Anti_TexturePacker v1.6

功能: 将由TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。同时也可以将合成的png图裁剪为小png图保存。 使用方法: 1.将同名png和plist文件放置在同一目录下。 2.点击“导入png”按钮选择png图,或者直接拖拽png/plist/pack进对话框。 3.鼠标在png图上滑动,右上角即可显示对应的png图名字。 4.单击png图即可复制名字到剪切板。 5.双击列表选项,PNG中自动显示红框。 6.点击“裁剪PNG”,选择存放目录,即可进行剪裁。 v1.6更新 修复: 1.中文路径打开出错。 新增: 1.支持png,plist,pack中文名。 作者:偶尔e网事 blog:http://blog.csdn.net/jackystudio/article/details/12867863
exe
发布资源于 7 年前

【玩转cocos2d-x之三十四】绘图:CCDrawingPrimitives和CCDrawNode

最近忙出翔了,这年过的也揪心。好久没来更新博客了,今天就来写一写cocos2d-x中图形的绘制。1.概述其实cocos2d-x封装了大量的opengl的绘图函数,我们可以很轻松的在游戏中调用。但是实际上我们很少会这么做,因为编码绘图的方式效率实在太低了,尤其是诸如一些高阶贝塞尔曲线之类的,官方也不建议这么做,使用图像能更有效的提高绘图效率,同时也会更为的美观,也减少了一些精
原创
8501阅读
6评论
5点赞
发布博客于 7 年前

cocos2d-x 绘图

cocos2d-x v2.2 + VS2010
zip
发布资源于 7 年前

Anti_TexturePacker v1.5

功能: 将由TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。 使用方法: 1.将同名png和plist文件放置在同一目录下。 2.点击“导入png”按钮选择png图,或者直接拖拽png/plist进对话框。 3.鼠标在png图上滑动,右上角即可显示对应的png图名字。 4.单击png图即可复制名字到剪切板。 5.双击列表选项,PNG中自动显示红框。 6.点击“裁剪PNG”,选择存放目录,即可进行剪裁。 v1.5更新 新增: 1.新增对.pack文件格式的解析支持,自动识别,优先解析plist。 作者:偶尔e网事 blog:http://blog.csdn.net/jackystudio/article/details/12867863
exe
发布资源于 7 年前

Anti_TexturePacker v1.4

功能: 将由TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。 使用方法: 1.将同名png和plist文件放置在同一目录下。 2.点击“导入png”按钮选择png图,或者直接拖拽png/plist进对话框。 3.鼠标在png图上滑动,右上角即可显示对应的png图名字。 4.单击png图即可复制名字到剪切板。 5.双击列表选项,PNG中自动显示红框。 6.点击“裁剪PNG”,选择存放目录,即可进行剪裁。 v1.4更新 新增: 1.新增支持5种Plist类型的解析。 2.支持plist的UTF-8编码(主要是针对中文图片名)
exe
发布资源于 7 年前

高仿QQ右下角新闻弹窗之MFC版

由于项目需要做一个类似于QQ新闻的消息弹窗,谷歌一下,有现成的。感谢@泪闯天涯的分享。原版是Win32实现的,我把它改成MFC版,可以在代码中直接使用。1.开发环境VS2010/MFC2.源码说明保留Win32API实现自绘,支持多种风格。为区分于Win32版,更名为CMsgWindow类,继承于CWnd类。修改的内容主要有:(1)Create函数中窗口的注册使
原创
5930阅读
3评论
4点赞
发布博客于 7 年前

高仿QQ新闻右下角弹窗MFC/Win32版

高仿QQ新闻右下角弹窗MFC/Win32版 详见http://blog.csdn.net/jackystudio/article/details/18032495
zip
发布资源于 7 年前

【C++基础之二十一】菱形继承和虚继承

菱形继承是多重继承中跑不掉的,Java拿掉了多重继承,辅之于接口。C++中虽然没有明确说明接口这种东西,但是只有纯虚函数的类可以看作Java中的接口。在多重继承中建议使用“接口”,来避免多重继承中可能出现的各种问题。1.菱形继承先看一下菱形继承长什么样。B和C从A中继承,而D多重继承于B,C。那就意味着D中会有A中的两个拷贝。因为成员函数不体现在类的内存大小上,
原创
27212阅读
2评论
13点赞
发布博客于 7 年前

【玩转cocos2d-x之三十三】游戏嵌入Webview网页

手游《我叫MT》一开始会弹出一个游戏公告,有玩过的肯定都蛮熟悉的,这就是webview,就是一个网页。由于webview和平台相关,这里就介绍下cocos2d-x如何嵌入andorid的webview控件,在cocos2d-x中显示网页。1.JniJni这里我就不再多说了。可用参考wikipedia,或者微信飞机大战的移植篇。通过Jni,可以实现在cocos2d-x中调用Android的API,当然也可以进行传值。2.Android使用webview直接上代码。主要是处理布局和webview
原创
23862阅读
1评论
15点赞
发布博客于 8 年前

cocos2d-x嵌入webview

cocos2d-x嵌入webview VS2010 cocos2d-x v2.2.0 包含win32,android代码,以及生成的so和apk。
zip
发布资源于 8 年前

【C++基础之二十】可变参数的函数

C++中可变参数的函数是从C中继承而来,可变参数的函数是指函数的参数个数可变,参数类型不定的函数。我们最常见的就是printf()。1.可变参数函数实现原理指定参数的函数实现很简单,通过通过指定的参数名访问就行了。但是如果不指定的呢?函数的调用的参数会进行压栈处理,详细可见此文函数调用机制。而对参数的压栈是从右到左进行压栈。而参数和参数之间存放是连续的,也就是说,只要知道第一个参数
原创
30072阅读
2评论
13点赞
发布博客于 8 年前

【C++基础之十九】函数对象

函数指针倒是蛮常见的,这函数对象又是什么呢?什么时候会用到函数对象?1.什么是函数对象函数对象就是定义了函数调用操作符,也就是operate()的对象。因此我们可以在定义函数调用操作符的时候,实现所需的函数功能。2.示例如上,其实最主要的还是operate()的定义,这和普通运算符的重载是一样的。[cpp] view pl
原创
3374阅读
0评论
4点赞
发布博客于 8 年前

【玩转cocos2d-x之三十二】xml的解析

cocos2d-x中对xml的解析是采用的TinyXML库,而对plist的解析同时结合了CCDictionary来处理,这里简单介绍下cocos2d-x中解析xml的两种方式,也是常用的xml两个C++解析库:TinyXML和RapidXML。xml被设计用于数据存储和传输,重点是数据内容本身,而不像html,用于表现数据。1.TinyXML1.1.概况T
原创
9440阅读
12评论
8点赞
发布博客于 8 年前

cocos2d-x XML解析

cocos2d-x XML解析 VS2010 cocos2d-x v2.2.0
zip
发布资源于 8 年前

【玩转cocos2d-x之三十一】弱联网与服务器的通讯

这里采用Apache+php搭建了一个简易服务器,服务端用php语言,客户端采用cocos2d-x的CCHttpClient类通过http方式访问服务端资源。模拟了cocos2d-x提交账户和密码到服务端,服务端校验帐号密码,如果正确返回客户端成功登录,如果错误则返回错误信息,同时在服务端后台保存登录log。第一次接触php,语法上和C/C++还是蛮像的,主要是给出一个cocos2d-x网络实例,
原创
13341阅读
5评论
12点赞
发布博客于 8 年前

cocos2dx-CCHttpClient网络编程实例

cocos2dx-CCHttpClient网络编程实例 VS2010 cocos2d-x v2.2.0
zip
发布资源于 8 年前

【玩转cocos2d-x之三十】点九图和输入框的使用

登录界面一个帐号/密码输入框或者主角命名框是少不了的。这节就来了解一下点九图的输入框的使用。这里只是介绍使用的基础,并不进行平台的移植,也不处理跨平台可能出现的问题。1.点九图CCScale9Sprite1.1.概述点九图做过移动开发的肯定不会陌生。采用的是PNG点9图,PNG点9图可以自适应各种环境,同时保持伸缩不变形。移动端的UI基本上都是按这个来做的。点9图的制作很简单,
原创
8328阅读
12评论
7点赞
发布博客于 8 年前

cocos2d-x输入框

cocos2d-x输入框 点九图 VS2010 cocos2d-x v2.2.0
zip
发布资源于 8 年前

【C++基础之十八】类继承中的隐藏规则

记得以前看林锐博士的《高质量C++编程指南》一书有提到类继承中的隐藏问题,当时网上也有不同的声音,觉得并没有隐藏这个东西,后来在看C++ primer的时候确实有提到这个问题(谓之“屏蔽”),这里记下来,如果理解有误,还请指出。1.重载和覆盖在了解隐藏之前,得先分清楚重载和覆盖。(1)重载:对同一个类而言的,函数名相同,函参不同,因为是在同一个类中,所以是否是virtual并不
原创
3425阅读
6评论
6点赞
发布博客于 8 年前

Anti_TexturePacker v1.3

功能: 将由TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。 使用方法: 1.将同名png和plist文件放置在同一目录下。 2.点击“导入png”按钮选择png图,或者直接拖拽png/plist进对话框。 3.鼠标在png图上滑动,右上角即可显示对应的png图名字。 4.单击png图即可复制名字到剪切板。 5.双击列表选项,PNG中自动显示红框。 6.点击“裁剪PNG”,选择存放目录,即可进行剪裁。 v1.3更新 1.增加直接拖拽png/plist进对话框功能 作者:偶尔e网事 blog:http://blog.csdn.net/jackystudio/article/details/12867863
exe
发布资源于 8 年前

【玩转cocos2d-x之二十九】利用CCClipingNode做游戏遮罩

新手引导是游戏中必备的(除了奇葩的MT用一段动画开始),也是玩家对游戏的第一印象,重要性不言而喻。一般采用的遮罩的形式来突出引导重点,同时屏蔽其他功能。这里简单的介绍一下游戏遮罩的实现,并给出一个示例。1.CCClipingNodeCCClipingNode是一个可裁剪节点,简单理解:(1)首先它是一个节点,继承于CCNode,所以它可以像普通节点一样放入CCLayer,CCS
原创
13122阅读
12评论
10点赞
发布博客于 8 年前

CCCLipingNode游戏遮罩

CCCLipingNode游戏遮罩 VS2010 cocos2dx v2.2.0
zip
发布资源于 8 年前

【玩转cocos2d-x之二十八】cocos2d-x的消息和数据传递

如何在层间或者场景间进行消息传递,大概是每个初学者都要面对的问题吧。这里介绍cocos2d-x的一种消息/数据传递方式,内置的观察者模式,也称消息通知中心,CCNotificationCenter。1.CCNotificationCenterCCNotificationCenter是cocos2d-x提供的一个消息中心,类似于观察者模式,是一个单例类,用于辅助控制消息传递。大概工作
原创
9918阅读
7评论
7点赞
发布博客于 8 年前

CCNotificationCenter消息数据传递

CCNotificationCenter消息数据传递 VS2010 + cocos2d-x v2.2
zip
发布资源于 8 年前

【玩转cocos2d-x之二十七】CCSequence不能执行CCRepeatForever

之前在遇到这么一个问题,在CCSequence中加入CCRepeatForever,发现其他动作执行没问题,就是CCRepeatForever无法执行。代码并没有问题,很奇怪。1.示例[cpp] view plaincopyCCBlink* blink=CCBlink::create(0.5f,10);//创建闪烁动画,dur
原创
10495阅读
6评论
9点赞
发布博客于 8 年前

【C++基础之十七】抑制由构造函数定义的隐式转换

有时候构造函数的隐式转换可以帮我们不少忙,但有时候它也会帮倒忙。所以我们应该要控制它,而不是让它无脑操作。1.示例先看一段代码。#include "stdafx.h"using namespace std;class A{public: A(int v):var(v){};//带一个int型值的构造函数 bool isSame(const A& ref) cons
原创
3756阅读
0评论
5点赞
发布博客于 8 年前

【玩转cocos2d-x之二十六】数据结构CCDictionary

CCDictionary在cocos2d-x中被大量的应用,比如CCTexureCache,CCSpriteFramCache等等。1.实现原理1.1.uthashCCDictionary是使用uthash实现的,而过时的CCMutableDictionary则是使用STL实现,就效率而言CCDictionary至少提升了两倍,而且CCDictionary并没有
原创
9581阅读
4评论
17点赞
发布博客于 8 年前

【玩转cocos2d-x之二十五】数据结构CCArray

CCArray是从cocos2d中移植过来的,类似于Apple的NSMutableArray,但是比NSMutableArray更为的好用。要注意的是虽然CCArray和CCDictionary可以管理cocos2d-x中绝大多数的类,但是仍然无法替代STL库,STL库更为强有力。1.API先看一下CCArray可以帮我们做什么。1.1.创建[c
原创
9762阅读
4评论
8点赞
发布博客于 8 年前

【像黑客一样写博客之十】域名绑定

相信很多人都有自己的域名,而github帮你提供了免费的空间。让你的域名直接转到github.io是个不错的注意。假设通过之前9篇文章,你已经初步建立起一个github.io的博客了。1.CNAME1.1.增加CNAME文件我已经有了一个域名www.jackystudio.tk。如果没有请先看第2步。进入Octopress\source,运行如下命令
原创
7419阅读
14评论
5点赞
发布博客于 8 年前

【像黑客一样写博客之九】微博访客

这节介绍如何往边栏添加新浪微博和进行访客统计。1.新浪微博1.1.创建微博页面进入Octopress\source\_includes\custom\asides,创建weibo.html,添加如下代码[html] view plaincopy{% if site.weibo_uid %}  section>
原创
4619阅读
0评论
2点赞
发布博客于 8 年前

【像黑客一样写博客之八】分类标签

给文章分类和添加标签是博客必不可少的功能,方便了信息的快速攫取。1.添加分类1.1.添加分类插件进入Octopress\plugins目录,新建category_list_tag.rb文件,添加如下代码[ruby] view plaincopymodule Jekyll    class CategoryLis
原创
4051阅读
3评论
1点赞
发布博客于 8 年前

【像黑客一样写博客之七】分享功能

Octopress自带的分享代码是推特,脸书和Google+,这里改用国内的加网分享,添加方式和评论相似。1.获取分享代码进入http://www.jiathis.com,选择样式,点击获取代码。比如我这里得到[html] view plaincopy  div class="jiathis_style_32x32
原创
3363阅读
0评论
0点赞
发布博客于 8 年前

【像黑客一样写博客之六】评论功能

博客怎么能少了评论呢?虽然Octopress自带了disqus评论系统,但是登录需要使用推特,脸书,Google+等帐号登录,你懂的,所以这里会对评论进行更换。。。这里我只能降降逼格了,使用国内的多说评论系统,非软文,可以用国内大部分主流帐号登录评论即可。1.获取评论代码进入http://duoshuo.com/create-site,登录帐号,填写相关信息,点
原创
3511阅读
0评论
1点赞
发布博客于 8 年前

【像黑客一样写博客之五】博客克隆

很多情况下我们需要在不同电脑之间维护同一个Octopress博客,那应该怎么在一台新的电脑上获取你的Octopress克隆呢?1.环境配置安装msysgit,Ruby,DevKit,这里就不再重复了,请参考第一篇:环境搭建http://blog.csdn.net/jackystudio/article/details/16117585。2.克隆你的O
原创
3632阅读
3评论
7点赞
发布博客于 8 年前

【像黑客一样写博客之四】发表博文

Octopress结合Github搭建博客是很酷,但是别忘了初衷是写博文,可不要本末倒置了。1.发表博文1.1.新建博文使用如下命令新建博客文章[cpp] view plaincopyrake new_post['Hello Github Blog']  1.2.编辑博文
原创
3705阅读
2评论
3点赞
发布博客于 8 年前

【像黑客一样写博客之三】配置博客

Octopress Push到Github之后,就可以对博客进行一些个性化配置了,这里先介绍一些基本配置。1.基本配置博客的基本配置文件在Octopress目录下的_config.yml。可以对需要修改的进行修改。[cpp] view plaincopy# ----------------------- #  #
原创
14001阅读
0评论
2点赞
发布博客于 8 年前

【像黑客一样写博客之二】发布博客

本地环境配置完毕后就可以把Octopress推到Github上了。1.新建Github仓库仓库名字必须是username.github.com,其中username是你的github用户名。描述和Readme可选,创建即可。2.发布Octopress到Github2.1.建立github page打开cmd,进
原创
4071阅读
13评论
9点赞
发布博客于 8 年前

【像黑客一样写博客之一】环境搭建

原谅我又不务正业了,最近在Github上利用Octopress框架搭建了一个博客,所有的东西都可以DIY,感觉还是蛮酷的。这里把整个搭建过程分享一下。当然第一步还是环境的搭建,有没有搞错?写个博客还要搭建环境?没错,折腾族们喜欢像写代码一样去写博客。至于Octopress是什么,Google之。。。如果对git的操作不熟悉,http://blog.csdn.net/column/details
原创
6159阅读
21评论
8点赞
发布博客于 8 年前

【玩转cocos2d-x之二十四】截图保存功能的实现

官方TestCpp有这个demo了,这里还是把它单独拖出来写一下,游戏推广的一个很重要组成就是玩家分享,所以游戏截图就起到很大作用了。截图功能通过CCRenderTexture实现。1.CCRenderTextureCCRenderTexture是一个通用渲染对象,可以通过构建一个CCRenderTexture对象,进而把要渲染的东西填充进去,在渲染开始前调用call函数,调用co
原创
10144阅读
10评论
10点赞
发布博客于 8 年前

cocos2d-x屏幕截图

cocos2d-x屏幕截图保存功能 cocos2d-x v2.2.0
zip
发布资源于 8 年前

【玩转cocos2d-x之二十三】多线程和同步03-图片异步加载

cocos2d-x中和Android,Windows都一样,如果在主线程中处理一些耗时操作,那么主线程就会出现阻塞现象,表现在界面上就是卡住,未响应等情况。为了避免这种情况的出现,我们需要在后台开辟工作线程进行数据的处理,再采用消息传递或者其他形式来通知主线程进行UI变化。最常见的情况就是游戏进入前的loading。1.图片的异步加载在多线程和同步的第一篇就有介绍到使用pthrea
原创
14104阅读
11评论
17点赞
发布博客于 8 年前

cocos2d-x异步加载plist

cocos2d-x异步加载plist cocos2d-x v2.2.0
zip
发布资源于 8 年前

【玩转cocos2d-x之二十二】多线程和同步02-售票

pthread有很多不同应用,官网都有相应的API解释和Sample,这里不再重复,本文主要介绍cocos2d-x中一个多线程和同步示例。1.卖票孙鑫老师的C++和Java多线程卖票一直让我念念不忘,好吧,这里用cocos2d-x和pthread实现一个吧。总共有100张火车票,有2个售票点A和B再售票,当票卖完了就结束了。我们知道当程序一开始进程就会创建一个主线程,我们可以在主线
原创
6198阅读
5评论
12点赞
发布博客于 8 年前

cocos2d-x多线程和同步

cocos2d-x多线程和同步 cocos2d-x v2.2.0
zip
发布资源于 8 年前

【玩转cocos2d-x之二十一】多线程和同步01-pthread库

和其他框架一样,cocos2d-x允许我们使用多线程进行编程。cocos2d-x使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上。1.配置在使用pthread之前,需要把头文件和库文件链接进来。pthread的官网戳这里,当然cocos2d-x帮我们包含进引擎了。1.1.头文件pthread.h放在\cocos2d-x目录\cocos2dx\plat
原创
11584阅读
27评论
11点赞
发布博客于 8 年前

【玩转cocos2d-x之二十】从CCObject看cocos2d-x的内存管理机制

再看CCObject,剔除上节的拷贝相关,以及Lua脚本相关的属性和方法后,CCObject还剩下什么?1.剩下什么?可以看到整个CCObject就是围绕着m_uReference和m_uAutoReleaseCount在转。这两个变量的解释如下。所以CCObject剩下的其实就是对内存的管理。CCObject::CCObject(void)//构造函数: m_nLuaI
原创
6495阅读
2评论
10点赞
发布博客于 8 年前

【玩转cocos2d-x之十九】从CCObject看cocos2d-x的拷贝机制

CCObject在之前的文章中出现了N次,它扮演了一个老祖宗的角色,但是它到底是做什么的?先从它看看cocos2d-x的拷贝机制吧。1.CCCopyingCCObject从CCCopying继承而来,而CCCopying拥有唯一的虚函数copyWithZone,这个函数可以认为是拷贝的一个协议,所有继承了CCObject并且需要实现拷贝功能的子类都可以通过它来实现,它的源码很简单,
原创
7524阅读
6评论
8点赞
发布博客于 8 年前

Android 记账本源码

Android 记账本源码 Android 记账本源码
rar
发布资源于 8 年前

Android 高仿WIN8系统磁贴点击下沉倾斜效果源码

Android 高仿WIN8系统磁贴点击下沉倾斜效果源码
zip
发布资源于 8 年前

Android 翻页效果txt阅读器源码

Android 翻页效果txt阅读器源码
rar
发布资源于 8 年前

Android 等待提示动画源码

Android 等待提示 动画源码 Android 等待提示 动画源码
rar
发布资源于 8 年前

Android 百度地图API-定位周边搜索POI源码

Android 百度地图API-定位周边搜索POI源码
zip
发布资源于 8 年前

【玩转cocos2d-x之十八】仿《中国好学霸》文字拖拽和定位

现在各种猜成语猜歌名好学霸之类的游戏火的一塌糊涂。本节就介绍下文字的拖拽和定位。1.基本原理其实这只是精灵的简单拖拽和坐标的识别而已。当触摸点在精灵的范围内,精灵可以感应拖动,当触摸结束进行位置判断,如果在有效范围内就进行自动定位。2.实现2.1.背景加入和文字精灵的加入这里是采用这一节http://blog.csdn.net/jackystudio/artic
原创
6636阅读
13评论
15点赞
发布博客于 8 年前

文字的拖拽和定位

仿《中国好学霸》文字的拖拽和定位 cocos2d-x v2.2.0
zip
发布资源于 8 年前

【玩转cocos2d-x之十七】cocos2d-x中文显示

cocos2d-x的中文显示其实就是一个UTF-8编码在作怪而已,一种简单的方法就是把文本保存为UTF-8编码即可(注意不是UTF-8 + BOM),建议使用UE,Sublime Text或者EditPlus之类的本文编辑器。这里介绍另一种方法:通过读取xml文件显示中文,这种方法更利于软件的国际化,demo顺便实现了中英文切换。1.xml文件先写好一个xml文件(CHN_
原创
8619阅读
5评论
14点赞
发布博客于 8 年前

【玩转cocos2d-x之十六】滚动字幕和公告

滚动字幕和公告是游戏中经常使用到的元素,本文大致写一下实现方法,至于例子中具体的坐标值,请不要纠结。。。这和美工关系还是蛮大的。我PS技术太搓了。。。1.原理其实它们的实现都是简单的通过调用update来更新位置达到的移动效果,和背景滚动有点类似,一旦滚动结束就重置为起点,开始新的滚动。只是为了达到在某个区域内滚动而不至于超出这个区域,有时候会用一些前景图来做遮盖,所以这个
原创
9026阅读
4评论
13点赞
发布博客于 8 年前

cocos2d-x中文显示

cocos2d-x中文显示 cocos2d-x v2.2.0
zip
发布资源于 8 年前

【数据结构之排序11】各种内部排序方法的比较和选择

按平均时间将排序分为四类:(1)平方阶(O(n2))排序     一般称为简单排序,例如直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlgn))排序     如快速、堆和归并排序;(3)O(n1+£)阶排序     £是介于0和1之间的常数,即0(4)线性阶(O(n))排序     如桶、箱和基数排序。各种排序方法比较简单
转载
2863阅读
0评论
0点赞
发布博客于 8 年前

Anti_TexturePacker v1.2

功能: 将由TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。 使用方法: 1.将同名png和plist文件放置在同一目录下。 2.点击“导入png”按钮选择png图。 3.鼠标在png图上滑动,右上角即可显示对应的png图名字。 4.单击png图即可复制名字到剪切板。 5.双击列表选项,PNG中自动显示红框。 6.点击“裁剪PNG”,选择存放目录,即可进行剪裁。 v1.2更新 1.增加PNG剪裁为小PNG功能 3.修正列表显示 作者:偶尔e网事 blog:http://blog.csdn.net/jackystudio/article/details/12867863
exe
发布资源于 8 年前

【玩转cocos2d-x之十五】关卡选择的设计

这节介绍一下游戏中帮助界面和关卡选择的设计,其实都是一样的,关键在于美工。这里采用自定义TableView层来实现。1.导入头文件和设定空间因为TableView相关的类是在扩展包里面,所以必须先声明[cpp] view plaincopy#include "cocos-ext.h"  USING_NS_CC_EX
原创
8028阅读
15评论
15点赞
发布博客于 8 年前

【数据结构之排序10】基数排序

基数排序(Radix Sort)是对箱排序的改进和推广。1、单关键字和多关键字文件中任一记录R[i]的关键字均由d个分量                      构成。若这d个分量中每个分量都是一个独立的关键字,则文件是多关键字的(如扑克牌有两个关键字:点数和花色);否则文件是单关键字的,                (0≤j多关键字中的每个关键字的取值范围一般
转载
1842阅读
0评论
0点赞
发布博客于 8 年前

【数据结构之排序9】箱排序

分配排序的基本思想:排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n)。本节介绍第一种分配排序方法:箱排序。1、箱排序的基本思想箱排序也称桶排序(Bucket Sort),其基本思想是:设置若干个箱子,依次扫描待排序的记录R[0],R[1],…,R[n-1],把关键字等于k的记录全都装入到第k个箱子里(分配),然后按序号依次
转载
1714阅读
0评论
0点赞
发布博客于 8 年前

【数据结构之排序8】归并排序

归并排序(Merge Sort)是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。两路归并算法1、算法基本思路设两个有序的子文件(相当于输入堆)放在同一向量中相邻的位置上:R[low..m],R[m+1..high],先将它们合并到一个局部的暂存向量R1(相当于输出堆)中,待合并完成后将R1复制回R[low..high]中。(1)
转载
2050阅读
0评论
0点赞
发布博客于 8 年前

cocos2d-x 滚动字幕和公告

cocos2d-x 滚动字幕和公告 cocos2d-x v2.2.0
zip
发布资源于 8 年前

【玩转cocos2d-x之十四】菜单选项卡的实现

有时候,我们希望实现一个选项卡功能,就是切换tab选项,场景中的内容会跟着改变,但是tab选项卡不动。这是用切换场景的方式没办法做到的。这里我们就可以使用CCLayerMutiComplex来实现这个功能。1.创建布景这里创建3个布景来做示范。分别是Laye1,Layer2和Layer3。代码就不贴了,布景内容可以直接使用HelloWorld的代码。
原创
7280阅读
8评论
24点赞
发布博客于 8 年前

【数据结构之排序7】堆排序

本节介绍第二种选择排序:直接选择排序。1、 堆排序定义n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质):若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。【例】关键字序列(10,15,56,25,30,70
转载
1998阅读
0评论
0点赞
发布博客于 8 年前

【数据结构之排序6】直接选择排序

选择排序(Selection Sort)的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。常用的选择排序方法有直接选择排序和堆排序。本节介绍第一种选择排序:直接选择排序。1、直接选择排序的基本思想n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:无序区为R[1..n],有序区为空。
转载
1541阅读
0评论
0点赞
发布博客于 8 年前

【数据结构之排序5】快速排序

1、算法思想快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。(1)分治法的基本思想分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。(2)快速排序的基本思想设当前待排序的无序
转载
2481阅读
0评论
0点赞
发布博客于 8 年前

【数据结构之排序4】冒泡排序

交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。本文介绍第一种交换排序方法:冒泡排序。1、排序方法将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本
转载
1562阅读
0评论
0点赞
发布博客于 8 年前

【数据结构之排序3】希尔排序

希尔排序(Shell Sort)是插入排序的一种。因D.L.Shell于1959年提出而得名。希尔排序基本思想基本思想:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2该方法实质上是一种分组插入方法。给定实例的shell排序的排序过程
转载
1929阅读
0评论
0点赞
发布博客于 8 年前

【数据结构之排序2】直接插入排序

插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。本节介绍两种插入排序方法:直接插入排序和希尔排序。直接插入排序基本思想1.基本思想假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次
转载
2289阅读
0评论
0点赞
发布博客于 8 年前

【数据结构之排序1】排序的基本概念

排序(sort)或分类所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下:输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。1.被排序对象--文件被排序的对象--文件由一组记录组成。记录则由若干个数
转载
2514阅读
0评论
0点赞
发布博客于 8 年前

【玩转cocos2d-x之十三】CCMenu的布局

前两天写个游戏,发现CCMenu的布局还是比较有意思的,这里总结一下,以便后用。1.概况CCMenu是cocos2d-x的菜单类,但它本身并不具备菜单具体属性,而是作为一个父节点,将一些具体类型的菜单添加进去来达到菜单目的的。我们正常会这么使用它:先创建子菜单项CCMenuItem,然后将子菜单项CCMenuItem加入菜单CCMenu,最后把CCMenu加入当前层CCLa
原创
9618阅读
2评论
12点赞
发布博客于 8 年前

Anti_TexturePacker v1.1

功能: 将由TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。 使用方法: 1.将同名png和plist文件放置在同一目录下。 2.点击“导入png”按钮选择png图。 3.鼠标在png图上滑动,右上角即可显示对应的png图名字。 4.单击png图即可复制名字到剪切板。 5.双击列表选项,PNG中自动显示红框。 v1.1更新 1.修复旋转属性显示错误bug 2.修复png相对路径无法显示bug 3.增加双击列表显示红框功能 4.简化操作 5.修改icon 作者:偶尔e网事 blog:http://blog.csdn.net/jackystudio/article/details/12867863
exe
发布资源于 8 年前

Anti_TexurePacker

Anti_TexurePacker 功能:将由TexturePacker打包的png文件和plist文件解析出对应位置并显示名字,方便查看。 使用方法:1.将同名png和plist文件放置在同一目录下。 2.点击“导入png”按钮选择png图。 3.点击“显示图像”按钮。 4.鼠标在png图上滑动,左上角即可显示对应的png图名字。 5.单击png图即可复制名字到剪切板。 6.双击列表选项,PNG中自动显示红框。 作者:偶尔e网事 博客:http://blog.csdn.net/jackystudio/article/details/12867863
exe
发布资源于 8 年前

cocos2d-x 游戏关卡选择的设计

cocos2d-x 游戏关卡选择的设计 cocos2s-x v2.2.0
zip
发布资源于 8 年前

cocos2d-x 游戏菜单选项卡的实现

cocos2d-x 游戏菜单选项卡的实现! cocos2d-x v2.2.0
zip
发布资源于 8 年前

【玩转cocos2d-x之十二】plist解析工具:Anti_TexturePacker

原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12867863之前拿了一些别人的图片素材,是用TexturePacker打包合成的,结果写程序的时候不知道每个合成前小png图的名字是什么,只能一个一个从plist文件中找,然后猜测对应的名字,再进行显示,如果不对,还要继续猜。。。坑爹啊,效率大大降低了,时间都耗在找...
原创
28627阅读
140评论
47点赞
发布博客于 8 年前

【玩转cocos2d-x之十一】定时器schedule

如果我们想定时执行一个动作怎么办?CCScheduler帮了我们一个大忙。1.概况CCNode内部封装了一个[cpp] view plaincopyCCScheduler *m_pScheduler;  正是通过它我们可以很轻松地完成一些定时功能,所以定时器是节点所具备的功能。定时器分为2种
原创
21136阅读
3评论
19点赞
发布博客于 8 年前

【玩转cocos2d-x之十】cocos2d-x坐标系

cocos2d-x采用的是笛卡尔平面坐标系,也就是平面上两条垂直线构成的坐标系,平面上任意一点都可以用(x,y)来表示。(1)就坐标系方向而言,cocos2d-x分为屏幕坐标系和OpenGL坐标系。(2)就节点本身而言,cocos2d-x分为绝对坐标系和相对坐标系。1.屏幕坐标系屏幕坐标系,也叫UIKit坐标系,原点在屏幕左上,x轴向右,y轴向下。cocos
原创
13835阅读
12评论
18点赞
发布博客于 8 年前

【玩转cocos2d-x之九】动作类CCAction

精灵也出来了,但是不会动的精灵是木有用的。。。CCAction就是负责来解决精灵运动的问题。1.概况CCAction直接从CCObject继承而来,注意它代表的是一个动作,是动词。精灵执行了这个动作,而不是名词。CCAction本身并没有什么功能,主要是定义了一些通用函数和虚函数让子类实现多态性。2.接口[cpp] vie
原创
8627阅读
4评论
13点赞
发布博客于 8 年前

【玩转cocos2d-x之八】精灵类CCSprite

精灵类CCSprite可以说是游戏的主角了,也是我们平时最常用到的类。1.概况CCSprite本质上就是一个二维图片,是静态的。游戏中的动画只不过是让一张张静态图片快速更换达到的动态效果。CCSprite继承于CCNodeRGBA,并实现了CCTextureProtocol的接口。因此CCNodeRGBA所具有的RGB和透明值这些属性和接口CCSprite都有,
原创
9874阅读
0评论
9点赞
发布博客于 8 年前

【玩转cocos2d-x之七】场景类CCScene和布景类CCLayer

场景类CCScene和布景类CCLayer都是作为一个容器来使用,这里简单地看下它们的实现:1.场景类:CCSceneCCScene类继承于CCNode,它的实现很简单,就是基本上没添加什么内容。。。它只是作为一个容器(父节点)的抽象概念存在。对比CCNode差别有:(1)构造函数中设置了不使用锚点定位,而是使用了坐标原点,即使设置了锚点也不起作用。
原创
9200阅读
2评论
8点赞
发布博客于 8 年前

【玩转cocos2d-x之六】节点类CCNode

节点类CCNode可以说是游戏元素的祖宗了,基本上我们看得到的游戏元素都是以它为原型进行扩展的。像CCScene,CCLayer,CCSprite,CCMenu,CCSpriteBatchNode等等都是从CCNode继承而来。另外如果我们要自定义精灵,那么从CCNode继承也是一个很不错的选择。1.概况CCNode直接从CCObject继承而来,有如下几个特点:(1)
原创
9921阅读
6评论
14点赞
发布博客于 8 年前

【玩转cocos2d-x之五】导演类CCDirector

既然cocos2d-x都帮我们封装好了,使得开发与平台无关,那接下来我们就单纯地开始好好玩游戏吧!这几篇是对cocos2d-x一些基本且重要的元素进行解释和API介绍,之前没有系统的看过API,有时候某些功能引擎都已经提供好了,不知道还是会自己去写。所以全面地了解一下是必须的。1.概况导演类CCDirector是cocos2d-x引擎中非常重要的一个类,它是一个抽象
原创
9734阅读
2评论
21点赞
发布博客于 8 年前

【玩转cocos2d-x之四】cocos2d-x怎么实现跨平台

cocos2d-x到底是这样实现跨平台的呢?这里以Win32和Android为例。1.跨平台项目目录结构先看一下一个项目创建后的目录结构吧!这还是以HelloCpp为例。 从左边目录可以看到,Classes和Resource已经平台无关了,而Classes中包含了AppDelegate类,因此我们可以认为AppDelegate是与
原创
14500阅读
2评论
16点赞
发布博客于 8 年前

【玩转cocos2d-x之三】cocos2d-x游戏是怎么跑起来的

虽然cocos2d-x v3.0 alpha版已经出来了,也改进了不少,有兴趣的可以去尝尝鲜。因为后面可能还会配合cocoStudio写一下博客,而现在v1.0.0.0版本需要配合cocos2d-x v2.2.0使用。所以这里选择了V2.2.0版的cocos2d-x。一个新的东西,从头开始吧!从HelloWorld出发看一下一个cocos2d-x游戏是怎么跑起来的。先看看它的结
原创
10839阅读
6评论
20点赞
发布博客于 8 年前

【玩转cocos2d-x之二】游戏和引擎构成

1.游戏构成我们以超级马里奥游戏作为蓝本来描述一下一个游戏的构成。1.首先我们需要一个容器来放置游戏元素,每一个关卡都是一个容器,这叫场景。2.蓝天白云,各种板砖水管,这些是布景,放置在关卡中,通过布景的叠加,构成了游戏的主要背景。3.主角马里奥兄弟和各种小怪兽,这些叫精灵。这是游戏互动的主要元素。4.马里奥可以走路,可以跳跃,可以发射子弹。这些是精灵的动作。5.过关了,要
原创
7212阅读
2评论
24点赞
发布博客于 8 年前