程序员更喜欢什么样的Axure原型设计图
好文转载 / 2017年12月7日

工作3年,尝试了各种原型图排版,致力于帮助设计师和程序员更好的理解需求。总结了从14年到现在自己尝试过的几种原型图样式,每一种都有其优劣势。欢迎大家一起来探讨如何更好的呈现原型图(欢迎拍砖👏)。接下来,按时间顺序,给大家一一详细介绍。 第一种:动态跳转型 通过事件(如点击、滑动等)实现各个元素和页面之间来回跳转。所有交互说明都写在了界面元素的注释说明中(蓝色icon),如想查看说明,需点击后才能看…

网页设计潮流新风向——扁平化设计
好文转载 / 2017年9月6日

随着互联网的高速发展,我们可以看到质感厚重,图层样式繁多的网站越来越少,反之各种轻质感,布局大胆、创意新颖、的网站慢慢进入了大家的视野,人类发展至今,人们的审美、时尚标准总是无时无刻不在改变,互联网也是这样,下面这篇文章将要给大家谈谈网页设计新风向 “扁平化设计”(flat design) 一、什么是扁平化设计 这里简单介绍下关于扁平化的概念,所谓“扁平化设计”一词所指的是抛弃那些已经流行多年的渐…

nodejs游戏源码解析:《球球大作战》的消息广播
好文转载 / 2017年7月13日

服务端程序中有3个定时器函数,前几篇分别解析了处理玩家移动的moveloop方法、以及处理排行榜、食物生成等游戏逻辑的gameloop。最后一个定时器函数为sendUpdates,调用语句是:setInterval(sendUpdates, 1000 / c.networkUpdateFactor),其中networkUpdateFactor默认值为40,即是每秒执行40次sendUpdates,…

nodejs游戏源码解析:《球球大作战》的游戏循环
好文转载 / 2017年7月6日

服务端程序中有3个定时器函数,前两篇解析的moveloop方法处理了玩家的移动,另外两个方法分别是gameloop和sendUpdates。其中gameloop负责排行榜和食物产生等逻辑。gameloop是在定时器中调用,相关语句为:setInterval(gameloop, 1000),即每秒执行1次。下图为游戏右上角的排行榜。

nodejs游戏源码解析:《球球大作战》的碰撞检测
好文转载 / 2017年6月10日

小球移动过程中,可能会碰到食物、其他玩家和病毒,如果碰到食物,则吞食食物,质量增加;如果碰到其他玩家,体积大的吃掉体积小的,如果吞食病毒,分身解体。tickPlayer中有一段遍历所有cell的代码,它处理了游戏中的碰撞事件。

nodejs游戏源码解析:《球球大作战》的Websocket知识
好文转载 / 2017年5月14日

运行服务端后,玩家只要打开浏览器,输入地址和端口,就可以看到游戏画面。这就意味着,游戏服务端开了个http服务器。Node.js 标准库提供了 http 模块,其中封装了一个高效的 HTTP服务器和一个简易的HTTP 客户端。http.Server是一个基于事件的HTTP服务器,它的核心由Node.js下层C++部分实现,而接口由 JavaScript 封装,兼顾了高性能与简易性。http.req…

nodejs游戏源码解析:《球球大作战》的gulp工具使用
好文转载 / 2017年5月7日

运行游戏使用的命令是gulp run,agar.io-clones使用了nodejs开发,gulp是基于nodejs的一个工具,它能够批量的做一些文件操作。gulp run意思是执行目录下gulpfile.js下的run任务,那么源码中使用了gulp的哪些功能呢?这篇文章将会做个简单介绍。

nodejs游戏源码解析:让《球球大作战》运行起来
好文转载 / 2017年4月6日

鉴于agar.io类型游戏的火爆场面,一些公司纷纷效仿,一时间出现各种《XX大作战》类型的游戏。出于学习的目的,亦是做些技术和方案储备,接下来会有大概10篇文章,分析下面这款使用nodejs编写的开源“球球大作战”。由于该游戏采用服务端运算、客户端显示的方式,服务端的逻辑处理是该源码的重点,故而系列文章主要针对服务端。