不就是小游戏嘛,分分钟给你写一个

微信小游戏

微信群里最大的骚扰源有两种:

一是转发#吱口令#~!@#¥%……&*,长按复制此消息领红包之类的

另一种就是各种小程序和小游戏的分享

前天有同学无意间把一个小游戏分享到了答疑群中,我看了一下,其实游戏的代码逻辑并不复杂(简化版的跳一跳,套上个吃鸡的主题),于是就随手立了一个FLAG:

正好我最近也有研究下小游戏的打算,趁周日没什么事,说干就干吧。

不过作为上手项目,我选择了一个更熟悉的游戏:打飞机

话不多说,先上成品:

识别二维码进入打飞机游戏

文章刚发出去一阵子估计人会很多,游戏加载慢,打不开可以稍等一会儿。

老读者应该知道,之前我们用 pygame 做过这个打飞机游戏的教程。公众号(Crossin的编程教室)对话里回复关键字 pygame 可获取教程及代码。

但 pygame 开发的游戏是无法通过网页发给别人在线玩的,更不能做成微信小游戏。

所以我这次是用了游戏引擎 Cocos Creator。它使用 JavaScript 作为开发语言,开发出的游戏可以直接生成微信小游戏、网页、iOS、安卓等平台上的版本。冲着这一点,也就勉强可以忍受用 js 开发的痛苦了。

除了 Cocos Creator,其实我最近也尝试了另外两个比较常用的网页小游戏引擎:EgretUnity

简单分享下我的体验:

Cocos Creator

我是 cocos2dx 的老用户,从很早版本就开始使用,用它开发过商业游戏。cocos2d 最早源自 python,之前教室也发过一些用 cocos2d 系引擎(python/js)开发的游戏(分别回复关键字 贪吃蛇皮皮虾火箭),但说实话,各种版本和小 bug 让人体验真的不太好,所以我是想着换别的试试。但 Cocos Creator 意外地让我眼前一亮。它其实已经抛弃了以前 2dx 的开发流程,改走组件化、数据驱动的模式(应该是借鉴了 unity 的优点),跟 cocos2dx 可以说是完全两样东西了。虽然我觉得有些地方让人不习惯(主要是 node 和组件的关系变化),另外代码提示和调试信息还是比较弱(也可能是我姿势不对),但总得感觉还行,应该是比较适合我自己的需求。

Egret

Egret 在前两年 HTML5 小游戏刚兴起的时候发展非常快,一整套的开发工具也很完善,不仅可以写小游戏,也可以写 HTML5 的移动页面。但我这次在用的时候,在第一步用户登录的地方就卡住了,各种无法连接,就根本用不了开发工具,官网搜了一圈也没找到解决方案(听说开发者群比较活跃,需要在那里问问题)。后来好不容易才弄成功了。Egret 还是基于代码的开发模式,有一系列配套工具处理开发中的各种环节,个人感觉更适合团队分工使用。

Unity

Unity 作为世界级的老牌引擎,功能足够强大,跟前俩就不是一个级别的(Cocos Creator 大概就是 2D 低配版的 Unity)。但从另一个角度来说,也因此太“重”了。而且因为各种素材是基于 3D 模型的,需要有一定专业技能才能搞定。当然它也提供了素材商店,里面有很多免费素材可以使用。之前我们的文章 地球上所有人站在一起会是什么样? 里就用到了 Unity。

所以仅从我个人开发小游戏自娱自乐的角度来看,我本是想抛弃过去 cocos 那一套东西,结果试了一圈发现 cocos creator 更适合……当然这不代表其他的引擎不好,还是要看你的需求,选择合适你的。

今天这篇我就不讲游戏的代码实现了,感兴趣的可以先看看代码,地址见文末。因为一来是改用了 JavaScript,二来数据驱动的模式和之前代码驱动的模式有很大的区别。

举个例子:以前你要在游戏上显示一行文字,你需要在代码中定义一个 Label 对象,添加到显示层上,设置它的位置、显示效果、显示的文字内容。而现在你只要拖动一个 Label 组件到场景中,在属性面板上输出相关数值即可。

之后我也会写更多的小游戏,对此感兴趣的同学,或者有什么好玩的点子,都可以留言讨论。

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2018-10-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

小白女友遭遇网购诈骗,我感到很惭愧

前段时间,我正在外地出差,晚上跟朋友一起吃饭的时候,突然微信消息弹窗,女朋友微信刚发来了视频通话,不过显示已结束。

933
来自专栏Jerry的SAP技术分享

SAP成都研究院廖婧:SAP C4C社交媒体集成概述

当时,我的回答提到一点,SAP注重工作与生活的平衡,这也是SAP中国官网强调的一点。

952
来自专栏IT大咖说

程序员15条生存法则

1165
来自专栏FreeBuf

大数据隐私保护技术之脱敏技术探究

? 前言 这几天学校开始选毕业设计,选到了数据脱敏系统设计的题目,在阅读了该方面的相关论文之后,感觉对大数据安全有了不少新的理解。 介绍 随着大数据时代的到来...

86410
来自专栏前沿技墅

架构设计考古:Bob大叔的整洁之道

The Clean Coder、Clean Code等名著作者Bob大叔,从1970年起编程至今。他是cleancoders.com和UncleBob Cons...

2182
来自专栏AI星球

MacBook Pro 为什么值得我写一篇博文——程序猿使用感悟

研究生生涯伊始,撑过大学四年的 Dell 灵越 N4050 笔记本电脑就再次罢工了,一直想换电脑的冲动终于要付诸行动了,本来准备再换一个性价比比较高的 win ...

9.3K4
来自专栏大数据文摘

可视化:覆盖全球的网络攻击如何展现?

2026
来自专栏企鹅号快讯

OpenContrail 移交 Linux 基金会、TensorFlow 曝安全风险……

导读 本周开源云业内倒是出现一些比较有趣的消息。首先是Deepo项目在GitHub上的爆红。小编简单了解了一下该项目,用“强大”来形容并不为过,其不但能实现快速...

2135
来自专栏镁客网

YOUMO,幽默?如今连插线板都这么会玩!

1373
来自专栏智能计算时代

IoT安全:让我们不要忘记的“事情”

在互联网上,安全行业通过促进和实现安全实践来保护我们免受伤害。这些“内置”安全实践包括相互认证,加密,安全协议和信任。但现实世界呢?事物互联网(IoT)在大多数...

3086

扫码关注云+社区

领取腾讯云代金券