项目背景
有一天,我的女朋友在微信上的迷你游戏中玩俄罗斯方块。我打开它,发现UI和功能难看,并且有全屏广告,这极大地影响了用户体验。我以为我挑选了一个童年时期在掌上电脑上玩过的俄罗斯方块,这肯定会让她大放异彩,呵呵。因此,我来到社区中寻找潮流,但是我已经有了Vue版本和Vue版本。我派她去玩,说很有趣。她说,如果有一个小程序,那就太好了,所以我找到了它,而且没有微信帐户。我想了一下程序版本,以满足她的谨慎愿望,所以我决定暂时制作这个小程序版本,以恢复童年俄罗斯方块的乐趣,保留原始的经典风味,并带给您我和她。欢乐。
项目简介
在项目开始时,我在Vue式和Taro式之间进行选择;比较这两者之后,它们基本上没有维护,并且Taro的后续更新具有基本相同的特征,再加上团队的技术堆栈融合,采用了新项目,以及个人喜好,呵呵,所以我最终选择了芋头去做。
版本优化
实际上微信小程序开发俄罗斯方块,游戏的介绍已在该版本中进行了详细介绍,因此在这里我不再赘述〜,我只想提几点。
的宿主环境与Web的宿主环境不同,因此没有此类元素。在代码中,我重写了相关代码,同时删除了与PC兼容的原始逻辑的内容。原始项目E用于中的组件优化,并且每个组件都编写了e的判断逻辑。我认为它可以是统一的,因此我封装了一个统一的父组件,并在其中重写了e逻辑。在//中,读者可以在自己的项目中使用此逻辑,以防止重复渲染组件。 .memo和功能分别于2018/10和2019/02发布,这对于功能组件来说无疑是重要的功能,使其成为支持组件和生命周期挂钩并可以优化功能组件,因此我介绍了此功能并重写了UI层在项目中,代码似乎会更简单,如果您想学习这些功能在项目中的最新应用,不妨将其复制并在本地运行;其次,作为备忘录,我还将其放在// t的统一包中,这也适用于您的项目;数据持久性仍然与原始项目一致。使用+时,它应该是最好的解决方案。项目开始
该项目在芋头中使用+版本
安装依赖包
npm install or yarn install
项目运营
在..json中配置您自己的文件,并在微信开发人员工具中导入项目
// 开发环境 npm run dev:weapp // 生产环境 npm run build:weapp
项目效果打开动画
在游戏中
清除线条
尝试游戏
后续计划由于小程序中音频的处理不如Web复杂,因此,如果要在小程序中播放音频的特定片段,则需要自己控制播放间隔,并且可以轻松实现Web。 ,这个领域仍然需要研究,如果您对童鞋感兴趣,可以提及PR来展示您的代码,我将非常期待;既然JS变得越来越强大,它的升级版提供了诸如静态类型检查等功能,使其更具可维护性,因此稍后我将添加以使项目更具可读性和易于维护;一个完整的项目离不开单元测试。为了使项目更具工程性,稍后将在功能模块中引入单元测试,UI层进行一些测试,以使项目更具可读性。