微信小程序之2048小游戏(一)

  • 前言
  • 小程序的整体思维图
  • 主界面
    • 配置
    • 页面
      • .wxml
      • .wxss
      • .js
  • 小结

前言

这一篇文章主要介绍的小程序是2048小游戏,该小程序来自Github。在Github上下载后,直接导入到小程序开发工具中即可运行。

小程序的整体思维图


接下来,我们根据该思维图进行学习。

主界面

该小程序的主界面如下

配置

主界面主要包含了三大模块,第一个是状态栏内,第二个是内容区域,第三个是可进行切换的tab。
通过之前的学习我们可知,状态栏和进行导航的tab能够由配置文件完成配置,故我们可以看到app.json。下方给出app.json的代码和相应的注释。

{// 三个页面路由"pages": [// 打开小程序所显示的页面"pages/index/index",// 切换到日志所显示的页面"pages/logs/logs",// 点击2048按钮后跳转的页面"pages/2048/2048"],// 状态栏"window": {// 状态栏颜色"navigationBarBackgroundColor": "#333",// 状态栏的默认文字"navigationBarTitleText": "2048小游戏"},// 底部tab的配置信息"tabBar": {// 颜色"color": "#353535",// 选中时的颜色"selectedColor": "#3cc51f",// 边界样式"borderStyle": "black",// 背景颜色"backgroundColor": "#ffffff",// 配置tab// 几个tab,tab的路由,tab的名称,tab默认时的图片,tab选中时的图片"list": [{"pagePath": "pages/index/index","text": "游戏","iconPath": "./assets/diamond.png","selectedIconPath": "./assets/diamond.png"},{"pagePath": "pages/logs/logs","text": "日志","iconPath": "./assets/star.png","selectedIconPath": "./assets/star.png"}]},// 配置网络超时信息"networkTimeout": {"request": 10000,"downloadFile": 10000},"debug": false,"sitemapLocation": "sitemap.json"
}

通过上述的代码可以完成小程序的整体配置。其中有一个小点,就是默认的状态栏名称为2048小游戏,而初始页面显示的是游戏列表。出现这样的不同是因为在index页面中,index页面单独对状态栏进行了配置,而页面的配置会覆盖掉全局的配置。

页面

该小程序的主界面的结构,样式和逻辑由index这个文件夹内的代码实现。

.wxml

通过遍历index.js文件内的数据来完成按钮的创建。

<!--index.wxml-->
<view class="container">// 遍历gamelist数据<view wx:for-items="{{gameList}}" wx:for-index="idx" wx:key="idx" class="usermotto">// item为gamelist每一项的值// 按钮的响应函数为start{{item}}<button type="primary" disabled="{{disabled}}" bindtap="start{{item}}"> {{item}} </button></view><text class="more">更多内容,敬请期待...</text>
</view>

.wxss

控制页面样式的样式文件

.js

主要实现按钮的点击跳转以及信息的初始化

//获取应用实例
var app = getApp();// 初始化config实例,用于后面的page加载
var config = {// 数据字典data: {disable: false,gameList: ['2048']},// 系统自动调用的加载函数onLoad: function() {var that = this//调用应用实例的方法获取全局数据app.getUserInfo(function(userInfo) {//更新数据that.setData({userInfo: userInfo})})},onReady: function() {// 页面渲染完毕},onShow: function() {// 页面展示},onHide: function() {// 页面隐藏},onUnload: function() {// 页面关闭}
};// 设置属性名"start{Name}"到相应游戏页面的映射
// 遍历gamelist数组,并取到每个item值来构建一个函数
config.data.gameList.forEach(function(v) {// 在config中创建名为'start' + v的函数config['start' + v] = function() {config.data.disable = true;// 这里需要注意每个游戏文件夹名称需和js名称保持一致// 使用传入的v来进行路由的跳转wx.navigateTo({url: '../' + v + '/' + v})}
});
// 将config实例到该页面
Page(config);

小结

这篇记录主要讨论了2048小程序的主要思维图,以及主界面的实现。下一篇记录将讨论点击2048这个按钮后发生的事。文字略有粗糙,往大佬指正。

微信小程序之2048小游戏(一)相关推荐

  1. 微信小程序之2048小游戏(二)

    微信小程序之2048小游戏(二) 前言 思维图 程序界面图 页面结构 .wxml .js 游戏组件大纲 小结 前言 在本系列之前的文章中,我们已经对该小程序的主界面和全局配置方面进行了学习.因此,这篇 ...

  2. 微信小程序:2048小游戏

    实战 看了微信小程序的开发文档和熟悉了微信小程序的使用后,拿著名的2048小游戏练练手,做个DEMO玩玩. IDEA 界面抽象如下: [重新开始按钮] [模式选择] [用时(秒级)] [难度级别] 时 ...

  3. 微信小程序项目实例——2048小游戏

    今日推荐

  4. 微信小程序|使用小程序制作一个2048小游戏

    文章目录 一.文章前言 二.创建小程序 三.功能开发 一.文章前言 此文主要通过小程序实现2048游戏,游戏操作简单,容易上手. 规则:正常打开游戏的界面,会只有两个2,每次移动后都会出现一个2,数字 ...

  5. 为什么微信小程序也能做游戏?

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 作者:纪喜才,YY Android 工程师 从昨天到现在,微信最重磅的消息 -- 「小程序开 ...

  6. 微信世界争霸服务器,微信世界争霸小程序进不去游戏怎么办

    微信世界争霸小程序进不去游戏怎么办?微信世界争霸小游戏设置相关问题问答攻略,希望对大家有帮助. Q:世界争霸一共有多少个区服,如何查看自己在哪个服呢? A:情况是这样的: 1.目前游戏共有8个服,后续 ...

  7. 小程序源码:游戏助手王者战力查询扫码登录多功能微信小程序

    这是一款游戏多功能助手小程序 内由王者战力查询(支持微信QQ双端查询,安卓IOS) 游戏扫码登录(内支持多种游戏扫码登录) 短视频去水印功能(支持各大平台) 游戏改名助手(支持空白名生成,符号名生成) ...

  8. 小程序源码:游戏助手微信小程序源码王者荣耀战力查询,游戏扫码登录器-多玩法安装简单

    这是一款游戏助手小程序源码,UI方面的话还是挺简单,小编个人看着挺舒服的 小程序内支持多种热门游戏扫码登录,也就是说是一个游戏登录器 比如英雄联盟,王者荣耀,和平精英等等热门游戏都支持 另外还有王者战 ...

  9. php 翻牌,微信小程序版翻牌小游戏的实现

    这篇文章主要为大家详细介绍了微信小程序版翻牌小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了微信小程序翻牌游戏的具体代码,供大家参考,具体内容如下 一.新建一个quick ...

最新文章

  1. C语言:随笔6--指针1.2
  2. openstack nova 源码分析3-nova目录下的service.py
  3. git的入门摸索和入门研究
  4. navicat循环执行上下两行相减sql语句_SQL太难?你离完全理解SQL就差这10步!
  5. 最长有序子序列—动态规划算法
  6. EF Code First 简单的示例
  7. [恢]hdu 1019
  8. Mysql 按 create_time 排序导致的问题
  9. 基于Python实现的DHT嗅探器
  10. 用JPEXS软件实现swf反编译-逆向调试方法
  11. 四叶草efi_四叶草启动器Clover EFI bootloader v5.0 r5111最新版
  12. 微信公众号(订阅号)如何开通付费功能?
  13. 手把手教你用Python画直方图
  14. 【七夕活动精选】致你的七夕礼物——3D Heart,跳动的 3D 爱心
  15. 01.Win10修改用户名及user文件名称的一波三折
  16. python--dict容器
  17. Vultr CentOS主机无法登录/循环登录/SSH拒绝连接以及使用Finnix恢复系统
  18. R的内存管理和垃圾清理
  19. [翻译]C#和COM的互操作
  20. javaweb学习笔记2(jquery的使用,以及常用的方法,选择器,过滤器)

热门文章

  1. 基于51单片机的L298N直流电机调速系统Proteus仿真程序
  2. 态路小课堂丨100G解决方案 - 4×25G NRZ光模块
  3. 金融/股市/基本术语/常识积累
  4. QPushButton clicked connect传参
  5. (超级详细1秒钟秒懂)华为网络初级工程师知识总结(一)
  6. 【YOLOv7】Python基于YOLOv7的人员跌倒检测系统(源码&部署教程&数据集)
  7. GAMES104-如何构建游戏世界
  8. android双卡发短信,基于5.1.1实现
  9. BlueStacks让Android应用在PC上跑得很嗨
  10. 阿里java编码规范