- 博客(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
原创 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
空空如也
cocos2dx 精灵 图片 的问题
2015-03-22
同样地址,内容不一样的问题
2015-01-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人