- 博客(43)
- 资源 (6)
- 收藏
- 关注
原创 游戏中的声明式编程
1 各种 ui 编辑器就是声明式编程,只需要拖动控件,做成想要的结果,底层代码就会解析执行这些 ui 逻辑,在游戏中反映出想要的 ui 效果,它比命令式编程直观的多,更容易理解,也无需与底层代码打交道,只需要设置想要的结果即可,属于上层语言,适合非程序员使用,可以快速的构建游戏,而不需要一行一行的代码编写。2 比如协议生成工具,也是属于声明式编程,只需定义协议结构(结构)即可生成真正的代码。各...
2018-08-20 17:49:01 332
原创 Electron 安装和创建项目
安装 nodejs核心库 npm install -g electron-prebuilt打包 npm install -g electron-packager创建项目 npm init运行 npm start打包 electron-packager . first –win –out ../firstApp –arch=x64 –app-version=0.0.1 –electron...
2018-08-16 12:02:30 462
原创 条件分支语句太多导致 WebGL 效率低下
最近工作上遇到一个问题。 在使用 WebGL 的时候发现没法用位运算,发现有两种解决方案: 1. 在 shader 前面标识 shader 的版本 #version 130 2. 自己写位运算函数 第一种方案因为 CocosCreator 会在自己写的 Shader 前面添加一些纹理坐标之类的代码,所以没法把 #version 130加在 Shader 的最前面。但是 #version 1...
2018-08-10 14:46:17 632 1
原创 微信小程序 eval 替代方案 (简化版)
项目地址: https://github.com/mengjieli/WeChatGame使用非常简单,把 Binding.js copy 到项目里面即可。用法:simple exprconsole.log(binding.eval("(1 + 2) * 4 / 2")); //console 6 2. expr with varvar v
2018-06-04 15:00:02 15170 14
原创 《Unity Shader 入门精要》 笔记
一、光照篇1. 全局光照2. 漫反射3. 高光反射一、光照篇光照系统分为三个基本部分:* 全局光照 ambient* 漫反射 diffuse* 高光反射 specular最终结果 $1 + 1$1. 全局光照* 全局光照相对简单,光照2. 漫反射3. 高光反射...
2018-05-18 21:02:00 248
原创 《Unity Shader入门精要》第七章 笔记
法线贴图,在切线空间中计算光照的 shader:Shader "Unity Shaders Book/Chapter7" { Properties { _Color("Color Tint", Color) = (1,1,1,1) _MainTex(&am
2018-05-17 21:11:43 318
原创 Unity 下载资源整理
Unity 内置着色器下载地址 https://unity3d.com/cn/get-unity/download/archive
2018-05-17 15:36:25 886
原创 《Unity Shader入门精要》第六章 笔记
整理之后的 shader Shader "Unity Shaders Test/Test1" { Properties { _Diffuse("Diffuse", Color) = (1,1,1,1) _Specular("Specular", Col
2018-05-17 15:02:49 261
转载 unity Component 生命周期
最近在做一个小示例,发现类继承于MonoBehaviour的类,有很多个方法,于是乎必然要问出一个问题:这么多个方法,执行先后顺序是如何的呢?内部是如何进行管理的呢?于是在网上找了许多资料,发现了Richard Fine在2012年就已经发布了一篇文章,而且讲得算是相当深入,并且很有道理的,这里加上我的一些尝试与思考,分享给大家。先贴上图,大家有个直观认识:接下来,做出一下讲解:最先执...
2018-04-21 11:12:17 629
原创 nodejs 服务器从购买到安装环境
1. 购买主机,要购买独立主机(有root权限的那种),不能购买虚拟机,我是在阿里云上购买的 (NodeJS集成环境 (CentOS7.0 64位 Apache | Python | Redis))2. 下载对应的版本。https://nodejs.org/en/download/3. 链接远程服务器,我用的是 mac 系统 ssh root@xxx.xxx.
2017-02-24 20:04:00 1159
原创 NodeJS WebScoket异常问题(由于线程阻塞)
NodeJS WebScoket异常问题(由于线程阻塞)最近发现一个 WebSocket 的异常问题,莫名其妙的网络断掉了, 最后发现居然是处理文件导致主线程阻塞时间太长,WebSocket 莫名其妙的断掉了。 最后把文件处理模块改成异步的就好了。
2016-09-24 03:17:48 2464
转载 Node.js 命令行程序开发教程
转载自http://www.ruanyifeng.com/blog/2015/05/command-line-with-node.html 为了方便,备份了一下,感谢原作者一种编程语言是否易用,很大程度上,取决于开发命令行程序的能力。Node.js 作为目前最热门的开发工具之一,怎样使用它开发命令行程序,是 Web 开发者应该掌握的技能。最近,N
2016-04-13 23:30:04 427
原创 Mac OS 功能记录
1. 显示隐藏文件夹打开终端,输入:defaults write com.apple.finder AppleShowAllFiles -bool true 此命令显示隐藏文件defaults write com.apple.finder AppleShowAllFiles -bool false 此命令关闭显示隐藏文件命令运行之后需要重新加载Finder:快捷键option+co
2016-03-08 11:27:18 396
原创 cocos2dx 小问题合集
1. 找不到 libsqlite3.dylibhttp://stackoverflow.com/questions/31420166/libsqlite3-dylib-and-libz-dylib-missing-in-xcode-7-how-do-i-use-parse最后参考 step 2: open your terminal (for mac) (搜索可见方案)解决
2016-02-17 10:42:49 378
原创 PNG图像RGBA转索引色
RGBA 转 索引色 的思路有很多种,这里说一种我目前已经用 nodejs 实现的,这个思路是自己摸索出来的,感觉效果还可以。 以下是大概的思路,实际写的时候还是有些细节差别的。 1. 先不考虑 alpha ,把 RGB 想象成一个三维色彩空间,三个坐标轴分别为 R、G、B ,颜色值从 0 - 255,这样我们就得到了一个 256 x 256 x 256 的立方体。
2016-01-21 14:56:56 3718
原创 nodejs PNG 格式解析
最近捣鼓了一下 nodejs 下解析 PNG,查阅了一些资料和参考了一些其他人的代码,总算把 PNG 解析和生成都搞定了。 网上很多相关的资料,基本的东西都没有错, PNG 格式分为很多个块,有几个必须的块,还有一些扩展块。以下就我遇到的一些问题说说我自己的理解和遇到的一些问题: 一 是否所有的程序都支持 PNG 的全部功能? 否,PNG 有一些块是必须支持的,但也有一些
2016-01-19 16:18:55 1880
原创 Cocos2dx-JS 在 Sprite 上使用 Shader
例如如下一个简单的变色程序,蓝色变红色js 代码:var url = "res/sb.jpg"; var sp = new cc.Sprite(url); sp.setAnchorPoint(0,0); this.addChild(sp); this.shader = new cc.GLProgram("res/Shaders/exa
2016-01-19 15:34:59 1697
原创 nodejs 读取图片返回给浏览器
遇到一些问题,特此记录下 一、nodejs 直接读取图片返回给浏览器 1. 读取文件 var content = fs.readFileSync(url,"binary"); //格式必须为 binary 否则会出错 2. response.write(content,"binary"); //格式必须为 binary,否则会出错 二、如果是 nodej
2016-01-11 18:53:30 9820
原创 nodejs 基础问题
1. npm -g 在 mac 上无法 require export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
2015-12-10 10:48:11 427
原创 用 nodejs 写一个 cocos2dx-js 游戏自动更新版本的脚本
接触 nodejs 有一段时间了,感叹于 nodejs 的强大和方便。最近看到别人写的自动化脚本很方便,于是自己也想用 nodejs 写一个 cocos2dx 游戏更新版本的自动化脚本。确实能节约不少时间,还能管理 N 个服务器,也不会出错,人工确实太麻烦了,又容易出错。 废话不多说,进入正题,我们的游戏客户端放在本地的 svn 上面,于是更新一个游戏版本包含以下步骤: 1. sv
2015-12-02 14:34:35 1603
原创 RPG游戏中的视野刷新算法
最近做游戏需要用到刷新视野范围内的活动。服务器端会记录玩家的视野范围,如果视野范围内有变化,会推送给客户端。对于客户端来说有两个消息可以用: 1 刷新某个区域,发送给服务器后,服务器会把这个区域内的所有信息推送给客户端 2 设定视野范围,发送给服务器后,服务器会记录玩家的视野范围,如果视野范围内有变化会推送给客户端。 这连个消息应该很好理解,组合起来客
2015-11-27 16:47:53 3575
转载 nodejs 中使用 ftp
1. npm install ftp2. 转自 http://www.open-open.com/lib/view/open1408006289661.htmlnode-ftp是一个node.js的FTP客户端模块,提供了一个用于与FTP服务器进行通信的异步接口。示例获取当前的(远程)工作目录的目录列表:?12
2015-11-10 12:03:41 14991 1
转载 WebGL 模板缓冲区
本文非原创,转载自 http://www.cnblogs.com/aokman/archive/2010/12/13/1904723.html与颜色缓冲区和深度缓冲区类似,模板缓冲区可以为屏幕上的每个像素点保存一个无符号整数值。这个值的具体意义视程序的具体应用而定。在渲染的过程中,可以用这个值与一个预先设定的参考值相比较,根据比较的结果来决定是否更新相应的像素点的颜色值。这个比较的过程被称
2015-10-22 10:04:01 3210
原创 WebGL 帧缓冲区 附 深度缓冲区 和 模板缓冲区
webgl 中渲染到纹理需要用到帧缓冲区,但是同时想使用深度缓冲区和模板缓冲区需要的步骤如下,直接上代码 var width = 800; var height = 600; //创建帧缓冲区对象 var frameBuffer = gl.createFramebuffer();
2015-10-20 18:13:32 4462
原创 WebGL 显示的文字变模糊
最近做 WebGL 时遇到一个问题,显示的文字比 Canvas 中要模糊,问题情况如下:Canvas 里的字体如图:从 Canvas 画到帧缓冲中:再从帧缓冲画到屏幕:最后定位到问题在混合模式那里。有问题的混合模式设置为:gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);正确的混合模式应该是(也就是默认的混合模
2015-09-23 18:25:19 5180 1
原创 Mac 系统中 webgl 使用 FrameBuffer 效率更高
按照道理说如果使用帧缓冲,而不是直接画到屏幕上需要消耗一张全屏的图片渲染。但是测试结果发现 Mac 系统中原本直接渲染到屏幕上 webgl 模式下显示 64x64 的图片最多只能显示 1500 张,而 canvas 却可以显示 2000 张,但是使用了帧缓冲后 webgl 模式可以渲染 2500 张,超越了 canvas 的渲染能力。 测试结果均在 Mac 系统的 chrome 浏览器下。
2015-09-23 13:08:45 1478
原创 移动端 webgl 对比 canvas 性能
最近 h5 游戏火的不行,但是移动端 h5 性能从几年前开始就一直困扰着想要进入这个行业的开发人员,相信性能问题在最近两年依然是 h5 的核心问题。 h5 的引擎很早以前就有了,以 dom 、canvas、webgl 为核心的渲染技术,但是究竟哪个才能胜任移动平台呢?特别是性能较好的 canvas 和 webgl,哪个更胜一筹?带着这个问题,笔者研究了几款手机 chrome 浏览器上的
2015-09-14 13:45:24 28975 5
原创 《编译原理》学习心得
前言 由于工作原因需要涉及到做一个代码翻译器 (ActionScript3转TypeScript),由此记录和分享一下工作中的一些心得。如果你恰巧也需要做一个Lua转JavaScript或者其它语言的转换,本文或许可以给你一些提示或帮助。 翻译器涉及的核心技术是编译技术,这方面的书籍很多有名的龙书、虎书、鲸书,我主要是参考了龙书《编译原理》这本。简单说说我读完前面几章(只包含编
2015-07-23 20:48:39 7007
原创 自定义UI组件 心得分享 (一) (List组件)
说是自定义UI组建,其实更严格来说应该是自己写UI组建,因为这些组建都是常用的,比如Button,CheckBox,List等。 为什么要自己写呢,用别人开源的类库不就好了?何必重复造轮子?关于这类问题,我是这样理解的,首先如果不自己动手写是不会对组件的内部结构了解的一清二楚的,二是效率问题,三是方便,比用别人的更方便?对,我就是这么认为的,你要说Cocos2dX的CCS组件怎么样?至少
2015-03-11 14:36:25 1284
原创 代码转换工具(as3 - cocos2dx) (四) 表达式分析
表达式可以说是语法分析的重点,也是我们转换工具的核心。运算符的详细信息参考运算符优先级(百度百科) 怎样理解运算符的优先级和结核性我们用具体的例子来解释。 例如表达式 a = 1*2 + 3; 这是一个很常见的表达式形式,程序从做往右读 1 读到变量a 2 读到运算符 = ,进入= 号处理
2014-11-27 15:18:09 3820
flash+xml+asp.net留言板
2009-09-02
单机斗地主V0.1_源代码_VC源程序
2009-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人