自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奔跑的香蕉

奔跑的骚年在奔跑中......

  • 博客(53)
  • 问答 (2)
  • 收藏
  • 关注

原创 cocos-creator官方教程进阶-联网对战(TypeScript+Golang+帧同步)

最近打算学习creator,跟着官方教程做了遍发现和u3d有些相似,用着还算顺手,就是实在无法习惯js,后来改成ts终于有些感觉,所以决定继续优化这个ts版的官方教程。前段时间学习go的时候写了个服务端框架(DrillServer:https://github.com/BAN1993/DrillServerGo.git),正好拿来和这个项目结合,做个联网对战的游戏。先上源码:ht...

2020-05-07 21:55:30 5406 1

原创 1.Redis学习--本地Redis实现之内存池

最近在学习redis源码,想着光看不如自己动动手,于是写了个localRedis如名字所示,这是个本地数据库,有着与redis类似的命令接口,但内部实现比较简单,只提取了一些主要逻辑如有错误或不合理的地方,恳请指出!谢谢!源码地址: https://github.com/BAN1993/localRedis(这篇文章主要是内存池的实现,与redis关系不大~)目的...

2019-09-18 00:05:21 817 1

原创 cocos2d-x 3.3 之黑白棋设计 NO.6 移植Android

[以前的文章,重新发布]移植安卓花了很长时间,看了很多博客问了很多人,后来一次意外才知道自己成功了。一:配置环境现在看看需要下载的东西:(这里假设cocos2d-x已经配置好,现在只需要配置Android环境)JDKAndroid NDK r9ADT(eclipse,sdk)然后是设置系统变量:ANDROID_SDK_ROOT D:\adt-bundle-windo...

2019-09-02 21:19:04 701

原创 cocos2d-x 3.3 之黑白棋设计 NO.5 AI

[以前的文章,重新发布]第一次写AI,从最开始随便就能赢到最后仔细下都不一定能赢,这中间花费了很长一段时间,代码量也超过了之前很多。每次改进和修复BUG都是对自己的一个提升。我的AI是基于优先级设计的,另外加了一些其他判断,现在先看看棋盘:红色:这四个点不需要特别说明,占的越多胜利的几率越大蓝色:这些点是略低于角点的最优点黄色:这几个点无关优先级,但是需要特别注意,棋...

2019-09-02 21:18:47 1277 2

原创 cocos2d-x 3.3 之黑白棋设计 NO.4 动画效果

[以前的文章,重新发布] (NO.3被无缘无故删除了) (吐槽一下CSDN,删除文章没有解释没有通知,直接就没了)这篇文章介绍一下动画效果,我先拿棋子翻动效果举个例子1.生成精灵表这是我在3dmax渲染出来的棋子翻动动画,一共有11张图(其他图是后面加的),每张图下面都加了棋面(这里偷了懒)再用TexturePackerGUI.exe这个软...

2019-09-02 21:18:17 811

原创 cocos2d-x 3.3 之黑白棋设计 NO.2 搜索

[以前的文章,重新发布]网上存在很多黑白棋的算法,但是最好自己先做然后再去看别人的.一:玩家操作根据玩家点击的屏幕坐标转换为棋盘坐标:Point Game::locationcon(int col,int row){ Point point; point.x=(int)(col-50)/60; point.y=(int)(row-50)/60; return po...

2019-09-02 21:17:33 798

原创 cocos2d-x 3.3 之黑白棋设计 NO.1 初步设计

[以前的文章,重新发布]接触cocos2d-x还不久,之前跟着教学视频做了贪吃蛇和微信飞机大战,学到了一些基础的东西.后来得到任务要做一个黑白棋.这个算是完全自己动手,没有参考网上的内容(所以导致我的棋盘是10*10的,好像应该是8*8的).....文章是项目基本完成后才写的,目的是复习一下学习的内容,一:界面设计从图片可以看出游戏有4个区域:区域1,棋盘区域...

2019-09-02 21:14:39 983

原创 c/c++ 之宏的黑魔法

基础用法类的设计#、#@、##应用-日志

2017-07-19 20:50:32 774

原创 centos 安装 redis3.2.9

目前线上使用2.8.4版本的,一直很稳定,但是数据量越来越大,所以想升级到支持集群的3.X版本特此记录安装过程下载安装cd /soft (我习惯放在这个目录下)wget http://download.redis.io/releases/redis-3.2.9.tar.gztar xzf redis-3.2.9.tar.gzcd redis-3.2.9m

2017-06-13 22:11:48 2877

转载 C++静态成员函数访问非静态成员的几种方法

转自:点击打开链接大家都知道C++中类的成员函数默认都提供了this指针,在非静态成员函数中当你调用函数的时候,编译器都会“自动”帮你把这个this指针加到函数形参里去。当然在C++灵活性下面,类还具备了静态成员和静态函数,即class A{public: static void test() { m_staticA += 1; }

2017-05-29 19:23:19 623

转载 std::move和std::forward

通过了解std::move和std::forward不做什么来理解它们很有用。std::move不移动任何东西,std::forward也不转移任何东西。在运行时(runtime),他们什么都不做,一行代码也不产生。std::move和std::forward仅仅是进行类型转换的函数(实际上是函数模板)。std::move无条件的将其参数转换为右值,而std::forward只在必要情况下进行

2017-03-07 12:09:17 391

转载 addr2line命令

在Linux下写C/C++程序的程序员,时常与Core Dump相见。在内存越界访问,收到不能处理的信号,除零等错误出现时,我们精心或不精心写就的程序就直接一命呜呼了,Core Dump是Linux仁慈地留下的程序的尸体,帮助程序员们解决了一个又一个问题。有时配置不给力,Linux直接毁尸灭迹,没有了Core文件;又有时,刚好磁盘空间不足,Core文件写不下了。没有Core文件的时候,如何知道

2017-03-05 14:28:19 415

转载 Linux strace命令

简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strac

2016-12-15 20:30:19 238

转载 通过load值查服务器问题

转载自:http://zyslovely.iteye.com/blog/1440609几乎每个接触类 Unix 操作系统的工程师都知道如何查看系统负载。但这东西的工作机理到底是怎样的,可能没有多少能说清楚。对比了一些相关信息,加上自己的理解,做一下笔记。 什么是 Load ? 什么是 Load Average ? Load 就是对计算机干活多少的度量(WikiPedia: th

2016-07-23 16:51:23 968

原创 linux 多线程学习一:互斥

#include#includeusing namespace std;pthread_t pt[2];pthread_mutex_t mtx;int num = 100;void *func_thread(void* input){ while(1) { pthread_mutex_lock(&mtx);

2016-05-17 20:51:53 383

原创 base64加密解密c++的简单实现

与其说是加密解密,还不如说是编码和解码吧,这种加密方式只能防止人一眼看穿。但是把它拿来学习位操作还是不错的。const char myBase64Table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";const char myBase64Map[256] ={ 255, 255,

2016-04-23 17:54:43 4261 1

原创 简单的收发协议服务器

协议头文件:#ifndef __PACKAGE_H__#define __PACKAGE_H__enum{ PACK_TYPE_LOGIN, PACK_TYPE_ACTION, PACK_TYPE_QUIT,};struct pack_s{ int type;};struct pack_login{ int type = PACK_TYPE_LOGIN; i

2016-04-21 13:49:19 428

原创 lua读取xml

现有的数据库结构无法满足新需求,暂时得用脚本实现一下数据库的功能首先得把数据取出来,当然不能手动,所以用了这个简单的方法 1392 10000 0 0 0 91014 9 1391 10000 0 0 0 91013 9这是其中两条,现在就需要写脚本来处理了require("LuaXml")local file = xml.load("config

2015-12-11 17:22:32 6080

原创 cocos2dx android 实现应用重启

由于本身对java一点也不了解,所以我不知道这种做法是否会造成什么问题,但至少实现了重启的功能。在AppActivity.java中加入如下代码://自动启动public static void restartApp(){ AppActivity.sContext.restart();}public void restart(){ finish(); Inten

2015-11-20 20:05:13 3114

转载 gdb调试命令

用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更

2015-11-09 20:59:43 355

转载 svn命令在linux下的使用

转载本站文章请注明,转载自:扶凯[[url]http://www.php-oa.com[/url]]本文链接: [url]http://www.php-oa.com/2008/03/12/svnminglingzailinuxxiadeshiyong.html[/url]1、将文件checkout到本地目录svn checkout path(path是服务器上的目录) 

2015-11-05 20:07:46 331

原创 Lua学习笔记--简单的时间操作

暂时抛弃所学的客户端知识,从零开始做服务器,一个月加油吧--其中.......["TimeBegin"]={10,1},["TimeEnd"]={10,8}function actJudgeActivityVisible(tReq) --local infotable = stringToTable(tReq.data) --local timebegin = infotabl

2015-10-13 12:58:32 1216

原创 makefile简单介绍

网上搜了很多“makefile”的教程,都是非常详细的长篇,看的晕乎乎的,估计不磕个几天是学不到什么的。所以我还是写一个简单的笔记,适合初学者另外介绍一个详细的网站 跟我一起写Makefiletarget ... : prerequisites ... command ... ...这是基本的句式】。target是目标文件(可以是可执行文件,可以是标签)pre

2015-09-20 14:47:10 439

原创 排序算法之——冒泡排序

排序算法中冒泡应该算是比较简单的,但是效率比较低,不适合大规模的数据排序。先上代码:void prinary(int *a,int n);inline unsigned __int64 GetCycleCount();void Bubble1(int *a,int n);void Bubble2(int *a,int n);int counts=0;int _tmain(int

2015-09-10 15:16:20 435

原创 收集的一些c++知识点与题目一

收集的知识点都是之前没有接触过或者不太明白的,题目自己都有做过,如果有错误请提出~//可变参数的函数#include int count_f(int num, ...);int main() { int a = count_f(5,1,2,3,4); cout<<a<<endl; return 0;} int count_f(int num, ...){

2015-09-09 17:03:54 419

原创 Lua学习笔记之——类与继承的简单实现

刚刚接触Lua,跟c++比起来简直是太让人舒服了,比如函数可以返回多个值......现在记录一下如何用Lua实现一个简单的类和简单的继承。function MyClass(name,id) local object = { name = name , id = id } function object:SetName(name) self.name = name

2015-09-04 17:07:17 649

转载 C++堆内存和栈内存详解

堆:顺序随意栈:先进后出堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵

2015-08-18 11:24:52 1349

转载 深入解析C语言声明

如果说C语言声明很简单的人不是牛人就是还没入门。本文来讲解C语言的声明的一些基本内容,很多内容参考《c专家编程》。首先由一个最简单的问题引入,你知道 int * p[5] 和 int (*p)[5] 的区别在哪里吗?把后面的答案遮到,想想。也许你知道反正一个是含有五个指向整型的指针元素的指针数组,另一个是指向一个拥有5个整型元素的数组的指针,具体呢?int *p[5]是一个含有五个整型指针

2015-08-03 17:07:45 481

转载 c/c++笔试题目

原文地址:http://blog.csdn.net/hackbuteer1/article/details/79265921、以下程序的运行结果是()[cpp] view plaincopyint main(void)  {      printf("%s , %5.3s\n","computer","computer");  

2015-08-01 11:16:14 2051

原创 技术分享会之——智能指针

由于之前也只是了解智能指针,要我说估计只能说个它是干什么的,用不了几分钟。昨天花了一天时间各种百度,算是对智能指针有了一点了解,这篇文章基本就是这次分享会的PPT的copy,没有底层的东西,多是概念。我觉得理解智能指针需要了解它发展的三个过程:起因,经过,结果。这篇文章主要讲述的是起因,经过和结果等以后工作了,实际接触了再说吧。起因:1.为什么需要智能指针我们先看两个例

2015-07-22 17:32:40 612 1

原创 cocos2dx 获取网络图片

这次准备做一些网络的功能,账号注册登录的功能已经完成了,现在需要完成玩家头像的功能,首先是获取网络图片。为此在网上看了很多博客和文章,终于尝试成功了,原帖在http://www.cnblogs.com/leehongee/p/4038311.html但是现在只完成了在win32上获取图片,还没有尝试android平台,下次尝试获取联网权限。在.h里包含头文件#include

2015-07-20 12:06:29 3578

原创 cocos2dx 使用spine制作骨骼动画

刚刚接触骨骼动画,所以写一篇文章记录.1.首先先画好人物的每个部件:哈哈,比较挫我用的是spine1.7.03版本,比网上很多教程使用的版本都低,所以操作方法貌似有点不一样,也比较麻烦.2.打开spine,加载每个部件的图片:选择好路径后,spine会自动帮我们加载每张图.3.在setup模式下摆放好位置如果要改变叠放层序

2015-07-18 11:24:01 2661

原创 c++ 动态创建二维数组

为了做一个东西需要用到动态创建二维数组,特此记录.#include #include "time.h"using namespace std;int main(){ srand((unsigned)time(NULL)); int x_num; int y_num; cout<<"please input x_num:"; cin>>x_num; cout<<"p

2015-07-08 18:04:30 1406

原创 cocos2dx 几个精灵按照顺序播放动画解决方法

我先描述一下这个问题:拿之前做的卡牌游戏来说,如果一方场上有3张牌,那么肯定要以一种顺序来播放攻击动画,我是以从左到右的方式。我的解决方式是向每张牌都传递一个延时参数,然后在runAction的时候使用DelyTime,但是这种方法太麻烦!现在说说更好的方法吧:基本思路是vector与callfunc相结合。一:先在类里定义数据和函数std::v

2015-07-03 14:38:50 3293

原创 cocos2d-x 3.3 之卡牌设计 NO.6 Loading界面(异步加载图片,plist)

刚开始做卡牌的时候没有想到要做loading,因为小游戏资源不多。但是后来不断的加图片,直到在真机上发现卡顿的问题,我才知道该需要加loading了......首先,我们先定义类:class Loading : public Layer{public: bool init(); CREATE_FUNC( Loading); static Scene* CreateSc

2015-07-02 17:15:11 987 5

原创 cocos2d-x 3.3 之卡牌设计 NO.5 设置界面(透明层和屏蔽下层触控)

经过一段时间奋战,卡牌游戏总算完成的差不多,本想着做出一个效果就写一篇博文,但是不知不觉中已经有那么多坑没有填了暑假加紧学习,最后再写一个游戏做这个卡牌也是个学习的过程,有好多效果都是效仿网上大神的,先看看效果:在头文件中加:enum BtnPos{ Pos_Bottom = 1, Pos_Left, Pos_Top, Po

2015-07-01 17:44:44 777

原创 汉诺塔递归算法拙见

逛C++吧的时候看到一个人说看不懂汉诺塔递归算法,我去玩了下发现就是小时候学习机上的一个游戏啊,那时候觉得相当有难度,4个就弄不出来了之后仔细分析了一下,发现还挺有意思的。先看看大致的步骤:1个盘1       a       c 2个盘1      a       b2       a       c1       b       c 3个

2015-06-29 10:42:18 712

原创 cocos2dx-3.3 网络编程(CURL+PHP) NO.2 登陆功能

(提前声明一下,以下内容中passward是错误的,应该是password)首先应该在头文件加以下内容:#include "curl/include/win32/curl/curl.h"//网络连接-1#pragma comment ( lib, "libcurl_imp.lib" )#pragma comment ( lib, "ws2_32.lib" )#pragma c

2015-06-27 14:55:42 667

原创 cocos2dx-3.3 网络编程(CURL+PHP) NO.1 写好PHP代码

为了尝试网络编程,看了很多大神的博客,现在将此记录以防忘记。在写连接代码前,我们必须先做几件事情:1.搭建WAMP2.创建数据库3.写好PHP代码4.测试一:搭建WAMPWAMP搭建非常方便,下载安装就可以了二:创建数据库(不好意思password打错了,在 此说明一下,以下的password都是错的!)三:写好PHP

2015-06-27 14:25:23 1020 1

原创 cocos2dx-3.3 使用编辑框(EditBox)

头文件要包含:#include "cocos-ext.h"USING_NS_CC_EXT;类要继承于class HelloWorld : public cocos2d::Layer ,public EditBoxDelegate这里有个问题,我这样写之后会报错,提示:EditBoxDeletgate不是类名或者结构名,这个纠结了很久,后来在网上看到别人用ScoreView的时候也

2015-06-24 17:25:13 11368

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除