自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (3)
  • 收藏
  • 关注

原创 cocos2dx游戏开发系列 目录

整个系列会告诉你从0到1的游戏开发所需要的所有细节,因为本人是在边开发,边发文,虽然不会贴出逻辑内容源码,但是框架内容,与开发思路都会分享出来.有任何问题或者建议,都可以直接评论,我会尽快回复.一. 服务器环境搭建二. 客户端环境搭建三. 客户端MVC框架四. 客户端lua端调用c++五. IO操作模块(配置表读取)六. 待定......

2020-05-02 01:23:21 751 2

原创 XML图集拆分

最近找了套老游戏的资源图集,合图生成的文件是xml的,没有找到拆图的工具,所以自己写了个可以通过修改拆分任何格式配置的图集,代码如下,vs粘上可以直接使用using System;using System.Drawing;using System.Drawing.Imaging;using System.Xml;namespace xmlpng{ class Program { static void Main(string[] args) ...

2021-06-25 10:55:39 454

原创 csv2js csv转成js代码

开发目的:同事比较喜欢使用js文件,所以写了个工具将配置表转成js文件上代码:using System;using System.Collections.Generic;using System.Data;using System.IO;using System.Text;namespace CSV2JS{ class Program { static void Main(string[] args) { .

2020-12-16 10:25:27 467

原创 分享自己常用的周边工具

本篇会持续分享出来好用的工具与官方地址,如果你有同样好用的工具,可以评论分享给我哈,万分感谢!!注:防止中毒最好的习惯就是从源头下载。0.CSDN程序员的一小步,人类的一大步1. notepad++ &Sublime Text文本编辑,个人比较喜欢notepad++,mac上的没有就使用 sublimeText2.Everything本地文件定位软件,快!快!快!3.TortoiseSVN ,TortoiseGitsvn & git GUI工具。因为本..

2020-07-21 15:31:06 808

原创 Unity 远程弹道预测

最近在做一个射击预判,具体需求如下:当我方单位瞄准了一个敌方目标,在已知我方子弹速度,敌方运行速度,运行方向求出:在敌方参数不变的情况下,我预判射击的目标点。贴出计算代码:float bulletSpeed = 35f;Vector3 posA = tank_top.transform.position; //posAVector3 posB = nearestTarget.transform.position; //posBVector3 dirB = tb.curDir; /

2020-07-21 13:52:53 1055

原创 MGOBE - unity3d 集成-使用-实例

MGOBE(Mini Game Online Battle Engine)本篇整体介绍下这个实时对战引擎对于unity的使用注:文章会把实际使用中需要的细节做说明(以帧同步为例)一、为何使用他由于io游戏的流行,大部分开发io游戏的团队都需要实现一套帧同步的服务端和客户端的逻辑,开发成本较大,而且由于是实时对战,对网络要求也高,腾讯云对这方面有针对性的优化,可以满足国内绝大多数网络下的玩家。对于客户端程序来讲,可以无需搭建这部分服务器内容,而且不用考虑网络,并发等情况,即可搭建起一个帧同步.

2020-07-03 19:15:57 3762 23

原创 游戏开发(十六) 之 性能优化 实例项目优化过程

目前这个塔防游戏没有做任何性能方面的优化,包括游戏内的合图,和子弹一类的缓存池都没有加,所以本篇以实战项目为例,进行逐步优化的工作.每一个步骤都会有详细的说明和帧率、dc的变化,基础的事情就不在叙述,很容易查到.先来说说性能优化,后面说说内存优化.先来张效果图.真机跑,基本上满屏幕炮塔和怪物的时候,最低帧率有10帧,可以说目前是根本无法进行游戏的程度.先看下设备情况:cpu是麒麟659,目前市场价1500,基本属于中端偏下机型.看看目前的情况能优化到什么程度当前:draw_c

2020-06-14 20:15:22 686

原创 游戏开发(十五) 之 任务系统 成就系统

结合目前的塔防项目,介绍一下游戏开发中的 任务系统先简单介绍下要讲的任务系统,因为游戏内容不多,所以目前的任务都比较简单,与其说是任务系统,不如叫成就系统.但是就算复杂的MMORPG游戏的任务系统,也可以按照此思路来做.这次我只实现了两大类任务(成就任务、每日任务)先看下任务系统的配置表任务ID 描述 父类型 子类型 目标值 前置任务 奖励ID 奖励数量 ID Txt P_Type S_Type Value Pre_

2020-06-10 20:20:08 4072 3

原创 游戏开发(十四) 之 塔防项目完结篇

第一个项目算是基本完成.基础玩法确定,玩法功能实现,服务端接口联通,记录下过程,后面会说具体功能点:除去前期框架搭建时间,整个项目玩法功能0-1的实现基本用了半个月时间,都是业余时间搞的,总时长没有记录.速度自己还算满意,代码都是从头写的,项目难度也不大,cocos-lua这块也基本捡起来了整体功能如下:客户端1.主场景 2.炮塔 3.子弹 4.怪物 5.其他 炮台摆放 A*寻路 战斗控制 UI 更新 自动.

2020-06-06 04:07:28 891

原创 游戏开发(十三) 之 塔防 炮塔技能设计思路

继续上一篇内容,这次说塔防类型游戏的炮塔设计思路图片压缩gif的时候有问题..但是可以将就看.这里我一共实现了5种炮塔的攻击:单体暴击 范围群攻 毒液 减速 整排攻击先说下我之前见过的这类游戏的源码,然后再说下我的做法.看过的几个源码,基本上实现的思路就是:炮塔选中目标 炮塔发射子弹 炮塔控制子弹 子弹打中目标 炮塔根据自身攻击计算损失血量,或者怪物收到炮塔攻击事件,计算血量这种做法看起来还是蛮流畅的,但实际上拓展性不是很好.设计上来讲,这种做法把炮塔与子弹.

2020-05-28 01:28:06 1734

原创 游戏开发(十二) 之 塔防 程序设计思路

最近工作较忙,没有大块时间弄,东拼西凑出来点时间,昨天把基础游戏流程做完了,大概说下其中的开发重点.1.数据驱动显示.这点一定记得,很重要.之前看过很多人写塔防的战斗逻辑,几乎都是用moveto,moveby去做,单纯跑起来好像没什么问题,但是这类的实现方式,后期可拓展性太差.打几个比方:策划说,战斗太精彩了,想做个回放功能,你一想没啥难度,做完发现 回放内容跟战斗的时候效果不一样. 老板说,战斗太精彩了,咱们做个联机对战功能吧. *******第一个情况倒是有解决方案,就是去源码修

2020-05-24 17:54:27 3527

原创 游戏开发(十一) 之 前面mvc框架的补充 子view与子model 的管理

补充一下我之前写的关于mvc的东西,之前是边做边写,还没涉及到战斗的逻辑,所以还有一些纰漏1.子 view之前框架内只提供了场景view的讲解,这里说下子view,适用于各类战斗中小单位的使用. 其实代码是没有修改的,这里只说下管理的问题,mvc的核心其实就是解耦,之前的东西将 mvc 3块全部解耦,各做个的事情,在做战斗逻辑的时候,里面的小兵,炮塔,子弹.这类单位,也是使用之前的XXView,但是这个view的管理者我给归为上层view,就是场景view, view只管view ,不会跟其他.

2020-05-24 17:54:18 301

原创 游戏开发(十) 之 lua 150行代码 实现A*寻路

因为游戏初步定为塔防类型,所以这里需要个简单的寻路算法,玩法对寻路效率要求并不高,所以就实现了个最简单的寻路算法1.只能上下左右走2.未做任何优化,可优化空间较大3.初步测试, 15*15格子 什么都不摆 耗时 2 毫秒 (a*算法在没有障碍物的情况下基本上要遍历所有的路径,所以在这种情况下是最耗时的)(蓝:start 绿:end 红:障碍 黄:路径)代码如下,注释较多,有问题可以留言,代码文件可以直接拿到自己工程里使用XXAStar = {}local function

2020-05-17 06:57:23 1099

原创 cocos2dx lua 读取图片数据 点击非透明区域 getColorAt

由于要做个斜45度的塔防游戏,涉及到选择地块摆放建筑,地图又是类似tilemap拼凑的,所以在正方形的精灵图片下,会有大部分地方为透明的,拼在一起的时候,无法正确选中,所以就弄了这个,不得不说,cocos引擎文档还是差很多,getColorAt,开始还不知道这个方法,本想自己导出个lua的对应接口,结果在看源码的时候发现了这个方法,网上直接搜确收不到,包括cocos自己的api文档,哎一言难尽原理:1.读取图片流数据2.转换坐标3.读取rgba代码如下: local s.

2020-05-17 02:01:06 1089

原创 游戏开发(九) 之 纯 lua 版 热更新 方案

大概看了cocos和quick的更新方案,也挺不错的,但是感觉不太适合自己使用,所以就自己写一套最早做的时候,我使用的是在c++端完全控制,把需要下载的资源以及lua文件下载完成后再调用engine->executeScriptFile("src/main.lua") lua端完全不用处理任何事情然后这次因为重新开发,索性选了纯lua的热更方案,与c++不同的是,你要考虑到代码引用的问题,在更新之前,加载最基础的lua更新文件,然后进行更新,更新结束后再继续走lua的逻辑流程.为了方便平时使用

2020-05-11 01:29:40 1230

原创 对文件生成MD5文件配置表

开发目的: 用于游戏开发热更新中对于游戏文件的版本比对 使用.net core (vs2019)class Program { static string currentVersion = "1.0"; static void Main(string[] args) { Console.WriteLine("Start"); string path = System.En...

2020-05-11 00:49:01 672

原创 在cpp文件中加入垃圾代码

有的项目因为是二次开发,有一定概率会被ios审核为重复的换皮项目,因而被拒绝.在程序结尾加入垃圾代码,可改变输出的二进制文件,不是很确定c++在编译的时候,这类没有调用的方法以及声明的变量,会不会加入编译,之前一个被拒的项目,后面使用这个方法提交过两次,但是中间自己做过代码混淆代码是c#写的,直接在vs新建控制台程序,替换类即可使用:class Program { ...

2020-05-06 17:26:06 1164

原创 游戏开发(八) 之 cocos2dx终极屏幕适配方案(实战讲解)

简单说下之前我使用的适配方案,也让大家了解下发展史,后面会贴出具体的操作设置,以及lua代码2013年左右那基本属于很早期cocos了,那个时候我经历过3种关于适配的方法纯代码写界面,刚入行的时候,算是纯苦力输出了 使用cocosbuild,布局ui,虽然少打了不少UI代码,但还是需要手动调整ui 使用cocosstudio,同一个场景,导出3份配置文件,根据不同宽高比,代码调用不...

2020-05-06 02:10:59 3365

原创 游戏开发(七) 之 quick-cocos2dx-lua 封装 network.createHTTPRequest

结合我之前的写的cocos2dx中protobuf的使用(游戏开发六),加上这篇文章,可以完美的解决和服务器在http通讯上的所有问题.这里直接封装 quick 提供的network.createHTTPRequest先看代码XXHttp = {}--状态枚举XXHttp.Failed = "Failed" --链接失败XXHttp.Error = "Error" -...

2020-05-04 04:25:04 789

原创 protoc protogen 一键生成各版本

由于项目需要,需要 c# 和 lua 版本的 protobuf, 所以自己整合了下文件,写了个批处理,可以一键生成:目录:output : 生成的文件proto: .proto的源文件点击一键build.bat 进行生成C# lua pb 3个文件下载地址...

2020-05-03 18:19:39 2151

原创 游戏开发(六) 之 quick-cocos2dx-lua使用Protobuf

继续开发基础功能:此博客之后的cocos2dx 统一改成Quick-Cocos2dx-Community, 官方网址这两天一直在搞 protobuf 的lua使用, 集成了很多次不同版本的,但是在android-build那块 不知道为什么一直不过,后来看了下 quick-lua 里面已经集成了protobuf,浪费了太多时间了,索性就换成 quick 吧这里我整理了套protobu...

2020-05-03 18:05:55 779

原创 Quick-Cocos2dx-Community 3.7 windows 安装

官方网址:http://www.cocos2d-lua.org/Windows1.先到官网找到git网址,clone框架代码2.直接运行目录下的setup_win.bat 这里其实只是设置了个环境变量3.运行player3 即可使用了Android1.使用player3新建个工程这里都是可视化操作,还是蛮简单的,你可以自己选择是否copy引擎代码到工程里...

2020-05-03 13:33:51 777

原创 游戏开发(五) 之 cocos2dx lua 读取CSV配置表

这一篇说下读取配置表 这一般习惯使用的是csv配置,游戏中会有各种各样的配置,所以这里就需要一个读取配置表的类.直接上源码:local XXIO = {}XXIO.allData = {} --数据数组XXIO.csvPath = "config/" --csv 存储路径XXIO.Init = function() --初始化 读取所有配置表 local readF...

2020-05-02 01:14:01 592

原创 游戏开发(四) 之 tolua 实现 lua与c++ 互调 以及详细使用

mvc框架弄完了,接下来开始做lua与原生的调用.看了下博客,发现大部分人写tolua的内容,都是按照官方的教程走了一遍tolua,没有涉及到这个地方的作用,以及具体实现,我这篇文章会将binding的过程简化,详细解释使用方法,主要告诉大家我现在搭框架的时候,为什么会把这个东西列出来,先实现好.本来想直接使用cocos本身自带的 lua调用oc lua调用java,我用了一下,发现接口...

2020-05-01 23:57:10 649

原创 cocos2dx-lua 调用 原生ios 和 android

cocos2dx 版本:3.17.2cocos提供了应用层上面的 lua 和 原生的互调, 通过LuaBridge实现.不过使用情况有限,只有几个API可供使用,简单调用还可以,再lua调用原生方法的时候是无法获取返回值,简单写了个实现,不推荐使用先上 lua 的方法--获取lua 调用类XXFun.XXGetNativeRequire = function() if (cc...

2020-05-01 21:33:22 990

原创 cocos2dx 3.17.2 安装pyyaml 错误 python installation found in the registry

安装的时候提示错误"python installation found in the registry"去注册表下看了下路径,找到Python导出后,用记事本打开,在路径SOFTWARE\后面加上WOW6432Node\保存,双击添加到注册表中注册成功!原因很坑,是因为cocos2dx 里面的readme给的下载链接是32位查了下,是因为32位查找注册表路径是W...

2020-04-30 02:07:19 276

原创 游戏开发(三) 之 cocos2dx-lua 的简易 mvc 框架

客户端环境搭建完成,现在开始做开发前关于客户端的准备,我觉得这也是一个项目主程需要解决的事情:一套mvc框架,用于规范流程,快速开发 UI适配 ios android 原生互调 网络通讯(http + protobuf) IO操作 lua热更策略 想不起来了,反正后面我都会一一去实现,到时候在补齐MVC今天主要讲下这个mvc,如果想先看实现,请点击<<传送门&gt...

2020-04-28 02:27:48 1260

原创 cocos2dx - lua 3.17.2 自建 lua - MVC 框架

这里是实际操作篇,如果理论有问题,可以先看我另外一篇介绍<<传送门>>这个MVC一共4个文件XXModel.lua XXView.lua XXController.lua XXMVCManager.lua先看具体代码 , 然后显示使用效果,代码如下:XXModel.lua--定义类就使用cocos自带的class即可local XXMod...

2020-04-28 00:59:20 996 6

原创 游戏开发(二) 之 cocos2dx环境搭建

0.搭建cocos2dx环境这里不做详细说明,其他coder分享经验足够使用了,其实只有几个东西下载cocos2dx 框架 下载JDK 下载NDK 下载AndroidStudio 在AS内下载SDK然后按照官方的步骤进行安装即可PS.如果你遇到问题,也可以留言,我尽量解答1.第一步先跑起来引擎的cpptest工程,这里面涵盖了几乎95%以上的API,不懂的可以从这...

2020-04-26 02:06:11 437

原创 游戏开发(一) 之 c#服务端搭建

功能模块:.net core工程创建 (c# ,你可能比较费解为什么选用.net开发,因为开发的是弱联网游戏,而且目前的语言环境来说,只要不是爆款,性能上都够用,.net给我的感觉就是简单,高效) 数据库管理类 (数据库操作) IO类(文件IO操作.资源,配置表等) 公共类(公共通用方法) 简易的Model,Controller开发概念,做主要的逻辑 网络通讯类(目前只做...

2020-04-25 23:50:33 1981

原创 c# 服务端 使用 ProtoBuf 协议

今天写下 ProtoBuf c#版使用,觉得自己服务器暂时还是使用Protobuf来做网络通信协议吧,比较高效,轻便.如果使用Unity,也可以共同使用.等服务器框架搭建完成,就开始搭建客户端框架,后续应该会使用cocos-lua做客户端开发,后面会继续发lua使用的文章还是老样子不解释太多,直接写代码,想深入了解其发展历程,原理等,可自行查询或参照官网!1.首先要拿到这两个dll和...

2020-04-24 23:37:25 1911

原创 客户端服务器 交互数据加密 RSA+AES

最近开始搭建服务器框架,在数据交互的时候看了下各种加密方式,复杂点的看到了这个RSA+AES简单讲,如果是一般游戏,使用这个太大材小用,并且在高频率交互的情况下,加密解密也会影响性能我大概整理了个流程:1.服务端生成RSA公钥与私钥 私钥给服务端使用 公钥给客户端使用2.客户端在每次请求时做如下操作: 生成AES密钥 使用AES...

2020-04-24 01:00:24 1050

afxres.h.7z

用于 quick cocos lua Windows编译缺少afxres.h文件 使用. 缺少指定.h 文件

2020-05-03

cocos2dx-lua 自建MVC

如需帮助,请查看我的博文 <> 整个MVC调用的过程可以总结为: V->C->M->V 整个过程其实是单向闭环的.

2020-04-28

供文章使用proto.7z

均无需使用积分下载. 具体使用规则请参考我的博客 c# 服务端 使用 ProtoBuf 协议 里面有详细的使用说明,需要的文件都在这里

2020-04-24

空空如也

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

TA关注的人

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