- 博客(23)
- 收藏
- 关注
原创 【cocos2d-x 3.0】瞬间明白std::bind与CC_CALLBACK_N
auto newCallback = bind(fun,_1,_2,1.5);int x = newCallback(10,'h'); //这句相当于:int x = callback(10,'h',1.5);
2014-05-14 14:49:53
958
转载 C++拷贝构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。
2014-03-27 10:23:10
537
原创 【Lua】自定义OOP类的声明和定义
最近在cocos2d-x引擎附带的代码中发现了这样一段extern.lua--Create an class.function class(classname, super) local superType = type(super) local cls if superType ~= "function" and superType ~= "table" the
2014-03-26 10:34:25
844
转载 【cocos2d-x】让XCode运行时自动更新资源【IOS】
用过XCode的人都知道,XCode有一个臭名昭著的bug——除非你修改了源代码造成了重新编译,否则游戏包中的资源经常无法刷新。不管怎么运行资源都是旧的。关于这个问题,业内有几位同行已经详细探讨过了。有几种解决方法,其中一种方法是,在运行时强制把资源删除,这样XCode会重新导入新的资源。要做到这一点就是写一个脚本,让这个脚本在XCode运行时自动执行。“我是妖怪”兄曾
2014-03-24 10:35:33
976
原创 【cocos2d-x 3.0】装配FMOD外部音频引擎【Android】
Cocos2d-x目前最新版本(3.0 rc0)自带的音频引擎仍然还是CocosDenshion,仅提供一些基本功能对于音效音乐方面要求较高的游戏而言难以满足要求(比如音乐游戏)所以我们可以使用强大的FMOD引擎来解决需求!它几乎支持所有游戏平台,无论Windows/Linux/Mac/ios/android/Xbox/PlayStation通通支持!废话不多说,下面up主举例说明如何
2014-03-23 17:55:09
4643
原创 【cocos2d-x 3.0】瞬间学会在Android平台读取SD卡数据包
auto searchPaths = FileUtils::getInstance()->getSearchPaths(); searchPaths.push_back("/mnt/sdcard/Android/Data/com.package.appname/"); FileUtils::getInstance()->setSearchPaths(searchPaths);只要这
2014-03-23 01:10:43
1663
转载 【Android】NDK学习之Android.mk
(传送门)http://blog.sina.com.cn/s/blog_602f8770010148ce.html
2014-03-23 00:44:01
689
原创 【cocos2d-x 3.0】关于多点触控的监听
在cocos2d-x 3.0中,我们通常使用EventListenerTouchAllAtOnce这种方式来监听多点触控例如 auto dispatcher = Director::getInstance()->getEventDispatcher(); auto listener = EventListenerTouchAllAtOnce::create(); listener-
2014-03-04 11:41:46
4057
1
原创 【cocos2d-x 3.0】新增一个自己的跨平台方法【Win/Android】
【前言】尽管cocos2d-x引擎已然非常强大,但它毕竟不是多啦A梦的口袋一样什么功能都有~比如UP主最近在做一个Windows、Android双平台的小程序,其中需要实现一个MP3播放器的功能但是目前cocos2d-x自带的SimpleAudioEngine音频引擎确实有点太Simple了,除了打开播放暂停这几个最最基本的方法之外,别的功能啥都没有(当然,想实现别的功能的话,
2014-03-01 17:44:44
1495
原创 一个简单的例子说明dynamic_cast的作用
#include #include using namespace std;// 我是父类class Tfather{public: virtual void f() { cout << "father's f()" << endl; }};// 我是子类class Tson : public Tfather{public: void f() { cout << "
2014-02-21 12:56:53
1722
转载 VS开发中的静态编译
针对现象1、 运行程序提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”2、 程序启动即发生异常,或者没反应。(具体现象跟系统设置有关)3、 客户端发布必须连带msvcr80.dll,mfc80.dll等dll和manifest文件才能正常运行问题定位出现上述现象之后可以确定是缺少程序运行所需的环境,可以通过安装相应的vcredist_x8
2014-02-19 12:47:24
1555
转载 LIB和DLL的区别与使用
共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅
2014-02-19 12:16:35
701
转载 【cocos2d-x】C++中调用JAVA的方法
CPP文件中(以HelloWorld为例):1、 首先导入h文件:#include "../platform/android/jni/JniHelper.h"2、 在需要调用JAVA方法的地方,加入如下代码:#if (CC_TARGET_PLATFORM== CC_PLATFORM_ANDROID) //判断当前是否为Android平台JniMethodInfo minfo
2014-02-16 16:28:08
1145
转载 【cocos2d-x 3.0】将项目移植到Android【codingnow.cn】
cocos2d-x 3.0版本移植起来更简单了,不需要安装cygwin,也不需要编写java代码。1. 首先编辑proj.android\jni\Android.mk,内容如下:1234567891011121314151617181920LOCAL_PATH :
2014-02-16 11:21:32
1637
原创 【cocos2d-x 3.0】入门样例《SimpleGame》源码解读【3】
下面我们来看中弹判定定时器,以及触摸发射子弹的部分我觉得先看一下发射子弹比较符合理解的逻辑:)在之前的代码中,我们设定了触摸listener的回调函数,也就是触摸屏幕之后要执行的方法是:// cpp with cocos2d-xvoid HelloWorld::onTouchesEnded(const std::vector& touches, Event* event){
2014-02-14 15:22:59
1618
原创 【cocos2d-x 3.0】入门样例《SimpleGame》源码解读【2】
上一篇我们以这个游戏为出发点,分析了引擎的启动入口和基本运作机制,回顾最后的一个重点语句auto scene = HelloWorld::scene();从这里开始,后面的工作真正交给了我们,不用太关心引擎底层的问题了!让我们进入HelloWorldScene类吧,先来看一下上面调用的这个方法Scene* HelloWorld::scene(){ Scene * scene = N
2014-02-14 12:58:29
1272
原创 【cocos2d-x 3.0】入门样例《SimpleGame》源码解读【1】
【序言】UP主若干年前独立制作过几部小游戏,如:《躲子弹之BadApple版》-- www.acfun.tv/v/ac63137《金坷垃马里奥兄弟》 -- www.bilibili.tv/video/av2556等等……但遗憾的是都没有用到什么正儿八经的游戏引擎,全部都是用C++Builder从底层开始自己设计自己实现的虽说学到了很多东西(比如消息循环啊,绘图API
2014-02-14 11:39:58
1499
转载 C++可变参数写法
#include #include void variableArgu(int argc, ...){ // 声明一个指针, 用于持有可变参数 va_list pArg; // 将 pArg 初始化为指向第一个参数 va_start(pArg, argc); // 输出参数 for(int i = 0; i != argc; ++i) { // 获取 pArg 所指向
2014-02-13 17:35:08
770
转载 cocos2d-x3.0 + vs2012环境配置【codingnow.cn】
cocosd-x 3.0版本传说做了很多优化,性能有了很大提升,支持c++ 11,目录结构和类名也改了,取消了各种类的CC前缀,比如CCSprite变成了Sprite,支持CocoStudio UI编辑器等。总之,比以前的版本效率要好,也更好用了。很久没有玩cocos2d-x了,现在重新来温习一下配置3.0版本,现在最新的版本是cocos2d-x-3.0alpha1。1. 下载安装vs2012
2014-02-13 13:37:26
1724
原创 由POJ-1383简析《树的最长链》两次DFS/BFS算法的证明
无意中看到一道水题,也就是POJ 1383题目中给出了一个无环的迷宫,求出其中最长的一条路我们知道无环图本质上可以认为就是树,所以此题完全可以使用树的最长链算法 即:随便从某个节点C开始DFS或BFS找到最远的一个点A,再从点A开始DFS或BFS找到最远的一点B,那么路径A->B必然是树上的最长路径。这个算法很多人都知道并且当做结论使用,但很少看到有人给出正确性证明所以
2014-02-13 12:36:25
2139
原创 关于KMP算法的NEXT数组解释
模式串中所有“以第i位结尾的子串(后缀子串)”显然共i个,不过我们要排除掉最长的一个即P[1~ i],剩下一共i-1个即:--------------------- 子串 长度---------------------P[i] 1P[i-1~ i] 2P[i-2 ~ i] 3...P[3 ~ i] i-2P[2 ~
2014-02-13 12:28:13
764
转载 读取UNICODE文本到wstring
#include "stdafx.h"#include #include #include #include using namespace std;void read_memo(){ FILE* pfile = fopen("D:\\memo.txt", "rb"); if (!pfile) return; fseek(pfile, 2,
2014-02-13 12:22:31
1438
原创 个人POJ解题记录【不断更新】
*关于难度(仅供参考):BASIC (Lv.1~3) - 群众喜闻乐见的简单题,适合尚未经过比赛训练的入门玩家,或享受AC乐趣的玩家ADVANCED (Lv.4~6) - 需要基本数据结构与算法功底的题目,比赛中不太难的题或程序员面试题大多居于此级别EXTREME (Lv.7~10) - 需要较高数据结构与算法技巧的题目,真正达到比赛难度或更难的题目*注:很多题目直接套AC
2014-02-13 11:47:30
954
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人