Wondery

塗鴉兒童

贪吃蛇io的实现要点

总体架构 逻辑与渲染分离。如有需要,逻辑层可被客户端和服务器公用。 移动与更新 slither.io与8bit贪吃蛇不同,它的移动是像素级的,而不是一个格子一个格子移动的。 但是如果考虑绘制时,采用的是如下方法来决定身体的节数,就会发生身体的拐点处鳞片跳变(浮点数及精度原因),以及转弯不平滑的问题。 身体长度 / 鳞片间距 = 鳞片数量 最终参考了贪吃蛇大作战的方法,蛇的最小移动速度就是......

做一个简单的iOS应用

想做一款iOS应用练练手,简单考察了一下,做天气或备忘录未免太简单,太复杂的又不适合练手,最终锁定了“历史上的今天”的展示应用,会涉及到网络请求,网络图片加载,TableView,WebView等,难度适中,开整。 工具 向以下伟大的工具致敬: StoryBoard 依然有人因为各种原因排斥使用StoryBoard,但我一贯认为解耦是必须的,有问题就解决问题,放弃使用转而手写UI是是work......

做一个Sublime的Hexo插件

Hexo是款很适合程序猿使用的博客框架,同octopress一样使用markdown编写博文,不同的是采用node.js来生成静态网页,速度更快。 Markdown的编辑器也有很多,Mou就是一个很好的选择。还有在线编辑器,如马克飞象。当然,忽略实时预览的话,任何文本编辑器也是都可以胜任的,比如Sublime。为了更加肆意地懒惰,决定开发一个对应Hexo的Sublime插件。 Sublime......

动作游戏架构设计

完整设计并完成了一款2D横版动作游戏。对比刚入行时,现在做游戏架构设计,考虑最多的关键词是“解耦”,“数据驱动”,“自动化”。这次设计也是本着这样的原则。 打击判定 1. 碰撞检测方式选择: 物理引擎:最偷懒的方式,通常有物理引擎对应的编辑器来编辑碰撞体(3D)或碰撞框(2D)。以2D为例,boundingBox通常编辑为圆形或多边形,适用于精度要求高而效率要求不高的情况。 AABB:效......

使用Flash制作关卡编辑器(3)

补遗

Flash控件使用 下面是我使用到的控件,可以参考一下: DataGrid的使用 1 设置表头 1dataGrid.columns = ["id", "level", "count", "phase", "wave", "behavior", "x"]; 2 填充数据 123var dp:DataProvider = new DataProvider();dp.addItem({......

使用Flash制作关卡编辑器(2)

通信与IO

AS3调用Flash javaScript API(JSAPI)命令 MMExecute函数正是我们需要的。 1MMExecute("fl.getDocumentDOM().library.items.length"); 如上代码我们即可在AS3中通过调用JSAPI得到当前库元件数量。但是要注意,MMExecute只能运行在Flash CS中,急于在Flash Builder中尝试上述命令是......

使用Flash制作关卡编辑器(1)

分析和准备

功能描述 在Flash CS中通过元件拖拽完成场景中背景,装饰物,主角,敌人等元素的布置 通过jsfl完成元件信息解析,并传递给AS做进一步处理(关键) 使用AS3编写插件面板,展示jsfl传来的信息,并通过表单,输入框等进行进一步编辑 导出配置文件 布置场景: 插件面板: jsfl准备 jsfl——Flash Javascript,运行在Flash环境下的脚本,可以实现很多自动化操......

轻量级行为树编辑器

在制作动作游戏时,需要一个轻量级可跨平台的行为树编辑器,有幸在github上找到了behavior3js这个项目。因为是用js写的,跨平台不在话下,比起其他C++等项目配置,运行和修改也都要简单很多。 先看看编辑器的外表 基本编辑,导入,导出功能都已经很完备了,只需稍加修改即可应用在自己的项目中了。 Add custom node 增加自定义节点 在helpers.js中加入如下代码 1......

可视化有限状态机编辑器

用过Unity开发的工程师们一定对Mecanim的方便快捷印象深刻,用过之后再也不想回到刀耕火种的时代了。 目前在做egret项目,首先就动手做了一个仿制Mecanim的FSM编辑器。工具做得越早,受益越多。 仓库地址:https://github.com/wonderyue/Animator 简要说明 State:状态。成员变量中包含Transition数组。 Transition......

Whats next?

...