6 河乐不为

尚未进行身份认证

个人独立博客:https://linshuhe1.github.io/

等级
TA的排名 2k+

Hexo 和博客园添加 Live 2D 模型

引言今天在查资料时,在这篇博客UnityFSM有限状态机看到了一个有趣的东西,屏幕右下角有一个二次元的模型,而且鼠标移到不同位置,模型会跟着动,点击还会播放音频。通过截图使用google的图片搜索,原来这个叫做Live2D,最终找到了添加方式,可以在博客园添加,后来发现原来hexo也可以添加。Live2D简介Live2D是一种应用于电子游戏的绘图渲染技术...

2019-07-06 21:59:10

PhysX 物理引擎研究(一)源码编译

前言Unity3D中的物理引擎分为2D引擎和3D引擎两部分,其中2D引擎使用的ErinCatto写的是Box2D,而3D引擎使用的的NVIDIA的PhysX,在UnityEditor中打开Help—AboutUnty可以看到"PhysicspoweredbyPhysX.(c)2011NVIDIACorporation."的字样...

2019-06-29 16:43:21

Windows 下的 OpenGL 开发环境配置(GLFW+GLAD)

引言最近在读Unity4.3的源码,研究到Unity集成的物理引擎PhysX和Box2D部分,接下来还要研究渲染引擎方面的东西,想着直接倒腾一下,自己集成一遍写个小demo。当然这都依赖于OpenGL这个东西来渲染(因为物理引擎本身都是一些计算,没有可视化的东西,需要借助渲染层将其可视化),这里先搭一个可以在Windows下编写OpenGL程序的架子,然后再往...

2019-06-28 10:55:06

Windows下的 C++ 编译工具(MinGW-w64 + CMake)

引言假如想在Windows下进行C++的开发,可以直接使用VisualStudio和相应的C++插件来实现,但编译和构建过程是不可见的。为了更彻底地了解C++工程的编译和构建,可以借助另外两个工具在Windows环境下实现。MinGW是Windows系统下的一个编译环境,包含了C++代码编译所需的三方库、头文件等,用于完成C++源码的编译和链...

2019-06-28 10:52:10

编译 Unity 4.3.1 引擎源码

引言从2014年参加实习便开始使用Unity3D开发游戏,当时Unity还是完全闭源的,但那时候有些公司财大气粗的会直接跟Unity官方购买了引擎源码,似乎后来Unity就不卖给中国的企业了。Unity官方从Unity2017.1版本开始,开源了引擎和编辑器的C#源码(源码地址:UnityCsReference),但核心的C/C++部分源码并未开源。...

2019-05-17 16:15:38

JavaScript 中 == 和 === 的区别

1.引言这是在JavaScript中用来进行数值和对象对比时常用的操作符,从定义上来看: ==:抽象相等,比较时会先进性类型转换,然后再比较值 ===:严格相等,会比较两个值的类型和值 测试例子:console.log('10'==10);//trueconsole.log('10'===10);//false2.ECMA规范上...

2019-04-28 15:10:30

Git SSH 方式无法 push 踩坑

引言我们知道使用git管理的项目可以通过两种格式的url来获取,分别是HTTP和SSH 使用HTTP方式操作git工程需要输入对应的账号和密码,当然为了方便也可以使用诸如TortoiseGit这样的图形化工具来管理Git工程,而且其中自带记住账号和密码的功能,因此只需输入一次账号密码即可。 使用SSH的方式拉取Git项目则需要提前配置好S...

2019-02-26 19:49:52

MySQL 字符集

引言刚刚入门数据库开发的开发者估计没少被字符串“乱码”的问题所困扰,导致乱码的原因有很多,而最常见的原因可能是对字符集和排序规则没有概念,因此在创建数据库时便已早早埋下了地雷。 字符集和排序规则同理,假如使用NavicatforMySQL这样的可视化管理工具来管理数据库,在创建数据库时会弹出如下弹窗,要求我们输入三项基础信息:数据库名、字符集和排序规则,其中字符集和排序规则...

2019-02-15 16:28:35

Windows 下的 Vim 编程

引言之前习惯了在Linux下使用Vim进行编程,最大的好处就是能摆脱鼠标进行编程,而在windows下cmd并没有办法直接安装Vim,Windows下可以安装gVim,但要直接在cmd窗口中直接像Linux下输入vim进入编程,还是需要进行一些配置。安装gVim直接在vim官网下载最新的Windows版本的安装包gvim81.e...

2019-02-14 09:39:55

Maven 上手指南

引言最近开始学习SpringBoot,由于选用Maven作为构建工具,这也是Java后端开发常用的构建工具,当然也可以选用Gradle,Gradle之前在Android项目中使用居多,但近期也渐渐有取代Maven的趋势,后续可能会专门再写一篇关于Gradle的使用。这里先大致了解Maven管理项目的一些基础知识,这里主要参考官方的文档。 Maven简...

2019-01-25 15:16:32

Flutter 1.0 正式版发布

在昨晚(2018年12月4日)的FlutterLive2018上,Google宣布Flutter1.0正式发布,这也是Flutter在第一个Beta测试版发布9个多月后发布的第一个正式版本。做移动端应用的人假如还没听过这个库,大概需要注意一下了,毕竟这可能会影响到移动端应用开发下一个方向。 关于FlutterFlutter是谷歌的移动端UI框架,可...

2018-12-05 13:52:53

IT 圈所谓的凛冬将至

今天是2018年最后一个月的第一天,深圳的冬日一如既往地把人晒得有些烦躁和焦虑。从去年年底跳槽至今一年有余,中间倒是经历了不少事。最近,在浏览各种技术群时,隐隐感觉到IT圈子,特别是游戏圈的寒冬将至的气息,坊间也不少传言各大巨头企业的裁员浪潮。身在游戏圈中的我,在这一年里,其实也或多或少地亲身体会到了这个行业的变化。去年九月份,也正是我开始萌发离职想法的时候,原本公司对于个人成...

2018-12-01 15:26:48

Windows 进程管理

引言在Windows下,有时候启动软件需要使用指定的端口,但此时端口可能被其他应用所占用,所以需要找到占用端口的应用并将该端口释放出来。查询几个常用的查询命令行窗口指令: netstat-ano 查看所有进程 netstat-ano|findstr[指定端口号] 查询占用指定端口的任务进程id,例如: C:\Users\Administ...

2018-11-21 10:25:25

Egret 性能优化

引言之前完成了项目的逻辑内容开发之后,开始着手解决性能方面的问题,比较严重的就是发热和耗电。而且出现玩的时间越长越卡的问题,想必是有内存泄露了。接下来就是优化的主要思路: 首先,降低常驻场景的drawcall,即游戏主场景及主界面UI; 其次,排查内存泄露; 最后,假如资源回收机制。  减低Drawcall设置index.html中egre...

2018-11-16 15:47:50

Egret QQ玩一玩适配【踩坑日记】

需要申明一点,这是我接过最坑的渠道了,各种神奇的问题,首先是接口比较奇怪而且新旧版本搞得很混乱,其次是平台底层实现性能差而且很多限制。此外,这里需要理清楚一个概念:QQ玩一玩和QQ玩吧并非同一个东西,QQ玩一玩也叫QQ轻游戏或厘米游戏,是基于bricks引擎实现的。 技术限制 玩一玩平台不支持基于DOMDocument对象的HTML元素处理 玩一...

2018-11-16 15:10:37

python Png图片压缩工具

引言最近在做H5小游戏的开发,与App不同,由于H5所有的资源都是通过CDN获取的,考虑到网络资源加载速度的问题,优化资源显得格外重要。因此,图片资源的压缩也是必不可少的。 起源起初,我们在windows下是通过一个叫做PNGoo的GUI工具来实现图片资源批量压缩的。但考虑压缩资源还需要启动一个应用,将图片资源拖进去再开始压缩,显然不够智能,希望通过p...

2018-10-13 16:53:45

H5 微信小游戏群 openGID 解密

这里使用的WechatLib版本是2.0.6,高于此版本则不再能获得分享成功与否的回调。后来直接把基础库升级到2.2.2,发现只是开发者工具拿不到回调而已,手机上还是还能拿到回调。在使用微信小游戏的分享功能时,假如在wx.showShareMenu中设置了withShareTicket:true:wx.showShareMenu({withShare...

2018-08-30 17:30:03

前端 DFA 敏感词过滤

前言最近在做游戏的聊天功能,需要在客户端接入敏感词过滤,较低成本的实现方法有字典匹配和正则表达式匹配,但效率上较低。大致google了一遍,发现DFA算法是实现敏感词过滤效率较高的选择,下面是具体实现过程。 DFA算法须知DFA算法,即DeterministicFiniteAutomaton,中文翻译是有穷自动机。它是通过event和当前state得到下...

2018-07-30 16:58:06

H5 微信小游戏 —— 音频管理器

前言原本使用的是egret的egret.SoundChannel和egret.Sound来管理音频,但不知为何在重复将游戏切换到前后台后,很容易出现背景音播放不全、播放重复和无法播放的问题,懒得再去排查原因干脆使用小游戏提供的音频播放API重写了一个音频管理工具。API相关参考官方文档教程/音频播放,大致了解音频播放是利用微信接口wx.createInnerAudioCon...

2018-07-10 14:51:08

electron-vue 实践 2 —— excel 合并

前言之前使用vue-cli和electron-vue创建了工程,接下来就开始实现具体的逻辑,我们的目标很简单,就是将一张或多张表中的所有sheet页内容都垂直或水平合并在一个sheet中,并生成一张新的表。 UI布局文件新加一个.vue后缀的文件,vue的UI文件格式大致如下,不了解的可以查看官方入门文档:<template>...

2018-06-28 10:21:33

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。