自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (6)
  • 收藏
  • 关注

原创 CocosCreator 3.x热更新学习

最近学习了一下CocosCreator的热更新相关知识,记录下学习过程。

2022-11-17 19:53:06 2017 1

原创 Go语言学习:二进制数据拷贝到结构体中出错

Go语言学习:二进制数据拷贝到结构体中出错panic: reflect: reflect.Value.SetUint using value obtained using unexported field

2022-08-24 16:12:05 346

原创 Go语言学习:编译成windows和linux上可执行文件

Go语言学习:编译成windows和linux上可执行文件

2022-08-15 20:53:59 4709

原创 Go语言学习:搭建简易的websocket服务器

Go语言学习:搭建简易的websocket服务器

2022-08-14 13:55:09 2756

原创 Mysql命令行常用基本操作

Mysql命令行常用基本操作

2022-08-11 20:46:32 305

原创 CocosCreator JSB学习:JavaScript/TypeScript调用C++函数

CocosCreator版本:v2.3.3VS2015:编写C++程序,并且在win32平台验证结果。Android Studio v3.5.2:在安卓平台验证结果官方学习文档:https://docs.cocos.com/creator/manual/zh/advanced-topics/JSB2.0-learning.html想要系统的学习,还是需要认真去看官方学习文档(尽管一两次不一定看得懂)。1:新建一个Demo空项目,然后选择Android平台构建,构建成功之后,项目根目录中就

2020-09-22 17:53:27 3508 3

原创 CocosCreator Shader学习(五):图片圆形裁剪

圆形裁剪效果顶点着色器代码不用修改。片元着色器代码如下:CCProgram fs %{ precision highp float; #include <alpha-test> #include <texture> in vec4 v_color; #if USE_TEXTURE in vec2 v_uv0; uniform sampler2D texture; #endif uniform InputData{

2020-07-30 15:26:26 2316

原创 cocos2dx 使用shader实现圆形裁剪

最近在做联网象棋游戏,需要将在线获取的图形裁剪成圆形图片,由于之前了解过shader相关知识,所以就想试试用shader来实现圆形裁剪,代码如下:顶点着色器代码:attribute vec4 a_position;attribute vec2 a_texCoord;attribute vec4 a_color;#ifdef GL_ESvarying mediump vec2 v_texCoord;varying lowp vec4 v_fragmentColor;#elsevary

2020-07-19 22:46:00 1049

原创 CocosCreator Websocket简单使用

最近在官方文档里看到网络模块相关内容,于是自己写了一个用websocket实现的聊天室Demo,分享一下。服务端:基于node.js的websocket模块实现。WebsocketServer.jslet ws = require("nodejs-websocket");let server = ws.createServer((connection)=>{ console.log("服务器启动成功!"); connection.on("text", (data)

2020-06-25 11:02:40 7273

原创 CocosCreator 常用优化点

一、包体优化1:资源压缩(图片,音效,音乐),使用图集。2:不需要使用代码动态加载的资源不要放到resources目录里面,因为会影响settings.js的大小。3:项目->项目设置->模块设置,把没有用到的模块取消勾选。比如:纯2D游戏,就可以把3D相关模块取消。二、加载速度优化1:场景优化,当场景元素过多时,可以合理利用预制体prefab异步构建场景。2:预制体加载优化,拆分较大的预制体可以大大减少加载时间。3:制作loading界面,提前加载场景所需资源,提升

2020-06-19 19:17:12 1698

原创 TypeScript(JavaScript)二维数组深拷贝

最近遇到一个二维数组深拷贝的问题,原以为和一维数组深拷贝一样,实际上被打脸了。代码如下: //一维数组深拷贝 let num1: number[] = [1,2,3,4]; let num2...

2020-05-07 18:11:19 5037 1

原创 cocos2dx C++工程中使用lua脚本(三):C++调用lua脚本(二)

本节介绍给节点加组件(其实就是一个lua脚本)的方式。C++代码如下:#include "CCComponentLua.h"bool HelloWorld::init(){ if ( !Scene::init() ) { return false; } auto visibleSize = Director::getInstance(...

2020-04-21 09:07:53 647

原创 cocos2dx C++工程中使用lua脚本(二):C++调用lua脚本(一)

首先在使用Lua脚本之前,先讨论下什么样的情况下需要用到C++和lua混合开发。cocos2dx有C++版本、Lua版本、JS版本(使用这部分的开发者估计现在都转向cocos creator了吧)。纯C++开发:优点:由于cocos2dx使用c++编写的开源引擎,若是C++开发,更容易接触到引擎底层,可以根据实际需求修改引擎;同时也可以学习引擎组大佬们的优质代码。缺点:1、无法热更...

2020-04-18 20:42:24 853 1

原创 cocos2dx C++工程中使用lua脚本(一):环境搭建

不知不觉已经做了5年的cocos2dx开发了,其中绝大多数时间都是纯C++做休闲类游戏(工作需要),当然闲下来也抽时间撸过cocos的新宠CocosCreator。一次无意中在cocos2dx的官方文档中看到了使用lua或者js脚本来扩展C++节点,难道这就是传说中的C++和lua混合开发的姿势?不过官方介绍的很简单很简单,几乎可以说就是提了一下,貌似不愿多说一样。官方链接:https...

2020-04-18 18:14:02 954 1

原创 CocosCreator Shader学习(四):花草摆动效果

花草摆动效果原理:根据时间的推移计算出x轴方向上的偏移量,然后把纹理中的每个点的颜色修改成发生偏移之后点的颜色。先放一张静止状态的画草图顶点着色器代码不用修改。片元着色器代码如下:CCProgram fs %{ precision highp float; #include <alpha-test> in vec4 v_color; ...

2020-04-09 22:18:45 2951 1

原创 CocosCreator Shader学习(三):放大镜缩小镜效果

定点缩放效果原理:根据缩放比例,判断镜面范围内的点实际应该显示哪个点的颜色值,问题就变成怎么根据缩放比例进行坐标转换!顶点着色器代码不用修改。片元着色器代码如下:CCProgram fs %{ precision highp float; #include <alpha-test> in vec4 v_color; #if USE_TEXTU...

2020-04-08 20:47:45 2259

原创 CocosCreator Shader学习(二):流光效果

流光效果原理:在以图片左下角为原点的坐标系中, 假设流光就是一条直线(斜截式:y=kx+b),那么只需要把直线和图片所在矩形的交点全部找出来即可。顶点着色器代码不用修改。片元着色器代码如下:CCProgram fs %{ precision highp float; #include <alpha-test> in vec4 v_color; ...

2020-04-08 20:28:00 3742 6

原创 CocosCreator Shader学习(一):描边效果

最近研究了一下CocosCreator的shader使用方法,并把自己学习期间写的一些效果分享出来。CocosCreator版本:v2.3.2官方学习链接:Material 材质介绍、Effect介绍(官方文档是最好的学习文档,一定要反复多看)描边效果原理:1.判断图片中的某个点周围8个点的alpha值。2.判断某点是否处于图片边缘。如上3图就是给精灵换材质并选定自...

2020-04-07 21:46:05 9757 4

原创 CocosCreator横版格斗游戏Demo(三):添加敌人到场景

本节主要内容就是在场景中创建一个机器人。如上图所示,机器人节点Robot是一个空节点,其中RobotBody子节点来显示身体,BloodBg和Blood来显示机器人的血条。另外一个需要注意的就是,CocosCreator引擎里面Sprite控件默认会自动裁剪图片的区域,而我拿到的这套资源的序列帧图片自动裁剪之后,会导致动画位置发生偏移。所以这里要关闭自动裁剪功能。官方解释:...

2019-12-20 19:18:04 2659 1

原创 CocosCreator横版格斗游戏Demo(二):环游地图

首先给主角做了三个基本动画,站立动画、行走动画、攻击动画。如上图所示,给Player加上动画组件,并把创建的3个动画文件分别拖拽到动画组件中。给Player添加脚本组件,并把PlayerControl.ts脚本拖拽到脚本组件中。在PlayerControl.ts脚本中添加上图所示代码。效果如下图:接下来就是监听键盘上下左右是个方向键让主角在地图中行走,并且监听X键让玩家...

2019-11-19 09:11:27 2473 1

原创 CocosCreator横版格斗游戏Demo(一):创建游戏地图和主角

小时候在小霸王游戏机上玩过很多种横版格斗类游戏(比如:快打旋风),自从进入游戏开发行业,一直都有个梦想就是自己写一个(虽然工作都是做休闲类、消除类、棋牌类游戏,但是此梦想从未放弃过!!!)。本系列课程由于资源都是网上找的(不全,还是非常感谢分享的原作者),所以只能算一个小Demo。进入正题:游戏下载的资源尺寸都比较小,为了适应960x640的分辨率,我选择TiledMap和Player...

2019-11-13 21:03:45 2615 2

原创 cocos2dx拆分textpackture工具合成的plist大图集

分享一段利用cocos2dx中RenderTexture截图功能来拆分plist大图集的源代码。函数声明: //解析plist大图集,imgPath:png大图。plistPath:plist文件 void DecodePlist(const std::string &imgPath, const std::string &plistPath);函数实现:#i...

2019-11-12 16:53:55 1167

原创 cocos2dx中定时器Scheduler浅析

cocos2dx中常用的定时器大致可分为三种。第一种:update(float delta)函数,这个函数是Node节点的成员函数,所以所有继承Node节点的控件都有这个成员函数。这个定时器启用方式是调用本节点的scheduleUpdate()函数。用法示例:第二种:自定义定时器,根据需求自己定义一个间隔多久调用一次的定时器。用法示例:第三种:自定义运行一次的定时器,...

2019-10-24 20:48:40 505

原创 CocosCreator入门学习《FlappyBird》(十一):添加背景音乐、音效

官方音乐音效深入学习:https://docs.cocos.com/creator/manual/zh/audio/首先创建空节点AudioSource,然后创建ts脚本AudioSourceControl.ts,并且把脚本挂载到AudioSource节点上。修改AudioSourceControl.ts然后回到IDE中把音乐音效资源挂载到脚本上:保存代码和场景,运行起...

2019-09-16 23:11:12 3625

原创 CocosCreator入门学习《FlappyBird》(十):添加计分、飞出屏幕处理

添加计分:创建Lable文字节点LableScore,设置Y坐标,并挂载到MainControl脚本上。在MainControl脚本中添加如下代码:保存代码和场景,运行起来就可以看到效果了。游戏中我们可以发现,小鸟可以在竖直方向飞出屏幕或者落到屏幕下方,下面我们来做一下限制,超出屏幕就算游戏结束。修改BirdControl脚本:因为我们的屏幕的高...

2019-09-12 20:03:39 1250 2

原创 CocosCreator入门学习《FlappyBird》(九):给游戏增加状态,更好的控制游戏逻辑

首先先在场景中添加一个开始按钮:点击按钮的时候,把效果改成缩放效果。给按钮添加背景图。把按钮上面的文字去掉。这样我们就创建了一个BtnStart按钮,并且加在了Canvas节点上。修改MainControl.ts在MainControl.ts中添加如上代码。保存代码和场景运行,我们会发现还没点开始小鸟就掉下去了。这时因为小鸟的脚本里面,我们还...

2019-09-11 23:34:56 949 2

原创 CocosCreator入门学习《FlappyBird》(八):模块引用

TypeScript模块化相关介绍:https://www.tslang.cn/docs/handbook/modules.html上一节,我们已经能在控制台输出知道游戏结束,本节继续完善结束后的逻辑。首先,先在场景中添加一个Sprite节点,这个节点来显示gameOver的图片。修改MainControl.ts脚本文件1:修改类名为MainControl。2:声明一个...

2019-09-10 22:26:52 1267

原创 CocosCreator入门学习《FlappyBird》(七):添加碰撞检测

Creator内置了物理系统,本游戏只简单的用到了物理系统里面的碰撞组件中的Collider 组件。深入学习请前往:https://docs.cocos.com/creator/manual/zh/physics/collision/给小鸟添加Collider 组件:直接使用BoxCollider组件,Editing选项默认是没有勾选的,如果勾选上了,我们就可以看到小鸟的四周的...

2019-09-09 22:49:02 1559

原创 CocosCreator入门学习《FlappyBird》(六):预制体

给游戏世界添加障碍物,本节是把障碍物做成预制体资源,然后在MainControl脚本中实例化并控制障碍物移动。官方预制体介绍链接:https://docs.cocos.com/creator/manual/zh/asset-workflow/prefab.html创建Pipe空节点,然后在Pipe上面创建两个Sprite子节点,如下图所示:根据上两图所标记的重点完成障碍物Pip...

2019-09-08 22:26:47 6798

原创 CocosCreator入门学习《FlappyBird》(五):添加触摸响应

在CocosCreator中触摸监听事件(其实所有的内置事件都是)是加在节点(cc.Node)上,当该节点被操作,就会触发该事件的回调函数,这时我们就可以在回调函数里面做相应的处理,以此来完成一次界面交互。那么本游戏应该把触摸响应加到什么节点上呢?首先,我们这个游戏是需要全屏响应触摸事件的,那么我们需要找到一个覆盖整个界面的节点,很显然Canvas节点就符合要求。创建一个BirdCon...

2019-09-08 17:04:28 1453 3

原创 CocosCreator入门学习《FlappyBird》(四):开始写代码

这节开始,要开始写代码了。工欲善其事必先利其器,首先我们先要有一个好用的代码编辑器,推荐大家使用Visual Studio Code,简称VS code。进入正题,上一节加入了背景,这一节我们利用代码让背景滚动起来。首先一张背景图肯定是不够的,我们需要创建两张背景图循环在屏幕里面滚动,这样才不会穿帮。首先,我们创建一个空节点Background,然后把我们上一节创建的Bg节点放到Bac...

2019-09-07 23:38:07 1531

原创 CocosCreator入门学习《FlappyBird》(三):让小鸟摆脱黑暗的世界

前面的两节,我们的主角小鸟一直生活在黑暗的世界里面,这一节的任务就是给游戏世界添加背景图。首先,点击Canvas节点,在右侧的属性检查器里面把Canvas的Design Resolution属性改成288和512。上面这个操作就是把我们游戏的设计分辨率改成288x512,为什么是这个尺寸?因为我们的资源背景图是这个尺寸。Canvas节点是一个非常重要的节点,大家一定要去官方文档里面搞清...

2019-09-07 21:52:39 1215

原创 CocosCreator入门学习《FlappyBird》(二):动画系统让小鸟动过来

显然不是真的让小鸟活过来,而是通过帧动画让小鸟翅膀动起来,看起来就像是在飞翔一样。在层级管理器里面找到Bird节点并点击,然后在右边的属性检查器中最下方找到“添加组件”的按钮,这里我们选择添加Animation组件。如图: 然后选中资源管理器中的assets目录,右键创建一个Animation文件夹(用来存放动画文件)。并且点击控制台旁边的动画编辑器,这样我们就可以看到...

2019-09-06 23:25:24 1686

原创 CocosCreator入门学习《FlappyBird》(一):主角小鸟创建

准备工作:下载CocosCreator IDE,我使用的版本是2.0.10,是目前比较稳定的版本。下载地址:https://www.cocos.com/creator本游戏资源下载地址:https://download.csdn.net/download/u012987441/11685339安装完成之后打开,会看到如下界面:CocosCreator支持JavaScript...

2019-09-06 20:53:32 3123 2

原创 cocos2dx判断两条线段是否相交以及点到线段的距离

由于工作需要,通过网上大量的资料查找以及自己的理解,现在总结一下实现的方法。一、判断两条线段是否相交主要依据是通过矢量的叉积(行列式)的性质: /* 设矢量 P = (x1, y1),Q = ( x2, y2 ),则矢量叉积(行列式)定义为:P × Q = x1*y2 - x2*y1 叉积的一个非常重要性质是可以通过它的符号判断两矢量相互之间的顺逆时针关系:...

2019-07-09 15:34:51 1108

原创 cocos2dx判断一个点是否在一个三角形内

最近在用cocos2dx开发游戏的过程中需要判断一个点是否在一个三角形内,网上找了一遍没有找到很简单的方法。于是我就想着仿造cocos2dx种的Rect矩形类写一个Trilateral三角形类,主要功能就是用来判断点是否在三角形内。首先说一下我的思路:要判断一个点在不在三角形内,只需判断这个点是否在三角形三个顶角内就行了。那么问题就直接转化成如何判断一个点是否在一个角内?假设有:点P和∠ABC...

2019-04-08 10:33:45 448 1

原创 cocos2dx抖动动作

由于工作需要,所以自己写了一个抖动动作类通过头文件可以知道,抖动类是继承于ActionInterval类,cocos2dx中很多动作类都是继承的这个类(比如:MoveBy等)。下面我们接着看实现:提供了两种创建方式的接口,在initWithDuration函数里面把m_strengthX和m_strengthY记录下来。通过头文件我们可以知道,update、startWithTarget和stop...

2018-05-15 16:57:59 2568

原创 连连看判断消除算法

最近在编程之美这本书上面看到了关于连连看的算法,书上讲解了算法原理,于是我就想着自己动手试试写出这个算法。首先,我们要知道连连看这个算法是判断两个图片之间是否能够消除,如果可以消除,显示两个图片之间的最短路径。例如:现在要判断A,B两个点所在的图片能不能消除步骤:1:判断两张图片是否一样 2:A,B两点连接起来,最多不能出现大于2个拐点,也就是说最多只能出现2个拐点

2016-09-24 10:02:08 4304

原创 五子棋简易AI算法

由于工作需要接触到了五子棋,所以就想自己写写五子棋的算法,于是在查了很多资料,找到了一种比较简单的思路,用评分表给当前所有还没有落子的地方评分,然后找出评分最高的点。那么如何给某点评分呢?五子棋最终是要五个子练成一条线,那么我们姑且把五个点的集合称作一个单元。首先就是要找出所有包含某个点的所有单元(包括水平方向,竖直方向,斜方向)然后给每个单元打分,最终加起来的总分就是最后

2016-09-22 21:18:20 1460

原创 vs2012主题颜色改变以及代码编辑区颜色设置

记得前一段时间安装vs2012时候,为了把主题颜色改成自己的喜欢的颜色到网上找了很多帖子才改好。昨天重新装系统之后重新装vs2012,发现设置过程全忘了又要重新到网上找方法,崩溃。。。于是决定写个帖子把设置过程记录下来。1:在vs2012界面,工具->选项->环境->常规默认的是浅色,有的人喜欢把界面调成黑色,那么直接把这里改成深色,然后点ok就行了2:浅色的太亮了,深

2016-09-20 14:22:11 23179 3

FlappyBirdRes.zip

FlappyBird图片资源和音效资源

2019-09-05

cocos2dx判断点是否在三角形内、点到线段的距离、线段和线段是否相交.zip

cocos2dx判断点是否在三角形内、点到线段的距离、线段和线段是否相交

2019-07-09

org.apache.http.legacy.jar

cocos2dx安卓打包提示错误缺少org.apache.http程序包,把这个jar包放到cocos2d\cocos\platform\android\java\libs下就可以了

2019-04-05

cocos2dx3.x游戏开发之旅1-17章源代码

cocos2dx3.x源代码资源

2017-08-04

连连看算法

连连看算法,主要是实现了算法逻辑,亲测,逻辑正确,注释很清楚

2016-09-24

五子棋AI算法

该算法的主要思路就是某个时刻遍历所有棋盘上面没有落子的点,给每一个点打分,得分最高的点就是最佳着法。只有AI的实现,供大家参考。

2016-09-21

空空如也

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

TA关注的人

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