• 等级
  • 886720 访问
  • 175 原创
  • 28 转发
  • 3043 排名
  • 451 评论
  • 211 获赞

Flutter 1.0 正式版发布

在昨晚(2018年12月4日)的 Flutter Live 2018 上,Google 宣布 Flutter 1.0 正式发布,这也是 Flutter 在第一个 Beta 测试版发布9个多月后发布的第一个正式版本。做移动端应用的人假如还没听过这个库,大概需要注意一下了,毕竟这可能会影响到移动端应用开发下一个方向。   关于 Flutter Flutter 是谷歌的移动端 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 引擎实现的。   技术限制 玩一玩平台不支持基于DOM Document对象的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 解密

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

2018-08-30 17:30:03

前端 DFA 敏感词过滤

前言 最近在做游戏的聊天功能,需要在客户端接入敏感词过滤,较低成本的实现方法有字典匹配和正则表达式匹配,但效率上较低。大致 google 了一遍,发现 DFA 算法是实现敏感词过滤效率较高的选择,下面是具体实现过程。   DFA 算法须知 DFA 算法,即 Deterministic Finite Automaton ,中文翻译是有穷自动机。它是通过 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 —— 表格合并桌面工具

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

2018-06-28 10:21:33

electron-vue 实践 1 —— 安装和创建工程

去年倒腾过一段时间的 electron ,但最终没做出什么东西来,最新刚好要帮一个做审计工作的朋友做一个桌面软件,所以打算正儿八经地研究一下。我们都知道 electron 相当于一个浏览器的壳子,里面的内容开发其实与 web 网页开发并无明显区别,只是通过此框架提供了可以直接操作系统的 native API ,大部分接口是普通浏览器做不到的。electron 安装有资源问题,在国内使用 npm 直...

2018-05-23 10:18:19

Egret 从创建到发布

创建项目安装完 egret 之后,使用 egret 指令创建工程:$ egret create e_demo 正在使用白鹭编译器 5.1.9 版本 扫描项目列表 正在创建新项目文件夹... 正在编译项目... 项目创建成功,您可以执行 egret run 来运行刚刚创建的应用 项目共计编译耗时:3.132秒运行项目运行创建出来的工程:$ cd e_demo $ egret run 您正在使用白鹭编...

2018-05-20 15:57:57

TensorFlow 学习笔记1 —— 安装

今天大概看一下如何搭建 TensorFlow 的开发环境,当前的工作平台是 Mac OS X 10.13.2 :资料主要来源于 TensorFlow 官网 。安装方式选择官方提供了一下几种安装方式:Virtualenv (虚拟环境) "native" pip(原生环境使用 pip 工具安装)Docker (使用 docker 容器)installing from sources, which is...

2018-04-15 23:07:58

Unity 使用 Spine 动画

在 Unity 中,常常使用 Spine 来制作一些动画,引擎本身并不能直接播放 Spine 动画,需要额外导入一个 RunTime 插件库才能支持。运行库导入关于运行库的导入,有两种方式:1. 从开源库导入下载 Spine 的 runtime 库:EsotericSoftware/spine-runtimes ,只需要将其中的 spine-csharp 和 spine-unity 两个部分导入到...

2018-04-02 17:34:39

BAT 字符串大小写转换

前言今天为了解决一个问题,在 Unity 中我们经常需要通过 IO 读取文件,就像我们读取表格的二进制文件例如:DirtyConf.bytes , Windows 中默认是对大小写不敏感的,所以读取的时候指定的读取名称可以是 DirtyConf 字母的任意大小写组合,例如:dirtyconf 、 DIRTYCONF 、DIrtyconf 等。然而对于手机移动端,通过 IO 是大小写敏感的,必须与原...

2018-03-31 14:14:50

Skynet服务器框架(十二) (debug_console)控制台管理

在 skynet 框架中提供了一个控制台服务 debug_console ,用于帮助我们查看 skynet 的一些运行时数据,而且在需要热更代码的时候也需要借助控制台来实现。接下来,我们先看看如何使用控制台,然后在大致看一遍底层的源码实现。工具准备由于启动控制台服务后,需要借助 nc 或 telnet 来远程连接控制台,所需需要确保机器上已安装了此类工具,这里我使用的是 nc 6.40 ,可以先查...

2018-03-15 09:29:38

Skynet服务器框架(十一) 看懂 skynet 的 Makefile

Makefile 这个东西最早是在大学学习 Linux 下编写 C 程序的时候接触到的,但是,基本上都是用完就还给老师了。最近也是因为使用 skynet 框架开发服务器,才想起重新拾起这个技能。今天就以 skynet 里面的 makefile 为例,大概解读一遍。什么是 Makefile1. 什么是 make 在了解 Makefile 之前,需要先了解 make ,代码生成可执行文件的过程,会经历...

2018-02-27 17:22:50

Linux 和 Windows 下配置 SSH(复用已有的公钥)

假如项目中添加了需要使用 ssh 方式连接服务器的 git 子模块,则需要配置 ssh 公钥,这里我是直接复用之前用过的公钥,这样我们可以在多台设备上使用同一份公钥。 复用旧公钥 在 ~/ 目录下新建 .ssh 目录,然后复制已有的 id_rsa 和 id_rsa.pub 到此目录下,然后修改 id_rsa 的权限,不然会报错 "Permissions 0644 for '/root/.s...

2018-02-27 16:43:12

Unity 带 Alpha 图片手机包失真

iOS 图集压缩失真 在 Android 平台下 UI 图片一切正常,但打包到 iOS 上之后,带透明度的区域会出现明显的失真,排查之后才发现,对于设置了 Package Tag 参数,即打包到图集中的图片,使用 Unity 默认的压缩设置的话,会使用 PVRTC 4 bits 进行压缩,此时: 不打图集的散图,带透明度,不会有明显失真; 打图集的图片,带透明度,透明区域失真会比较明显:

2018-02-05 20:36:32

Docker 入门须知

前言: 之前大概了解了一下 Docker 的一些皮毛,知道 Docker 是基于 Go 语言开发的容器技术,可以在同一台服务器上构建多个互不干扰的干净的隔离环境。 Docker 的优点: 相比于传统的虚拟技术,容器可以以更低的成本为应用提供一个干净的隔离环境,原因大致如下: 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用

2018-01-14 14:09:04

博客专家

河乐不为

个人独立博客:https://linshuhe1. github.io/ ...展开 收起
关注
  • 网络游戏/码农
  • 中国 广东省 深圳市
奖章
  • 博客专家
  • 专栏达人
  • 持之以恒