用微信小程序做H5游戏尝试

时间:2023-01-17 07:44:15

微信小程序发布后,公司虽然没有拿到第一批内测资格,但作为微信亲密合作伙伴,一定要第一时间去尝试啦。现在微信小程序刚发布还在测试阶段,可以说是1.0版本,所以框架和结构内容都还不多,相关的文档跟微信API一样都做得很好。

  1)微信小程序到底是什么?跟H5,HTML5是不是一样?

    它可以把应用功能快速嵌入到微信公众号中,用户无需安装应用就能访问。相比现在的app开发和发布都容易很多。

微信小程序本质上就是Html5,或者说是一种优化过之后的Html5。不过在编码方式跟HTML5还是有很多不同的地方,但是其内核还是大量使用HTML5的相关技术,有H5经验的前端会更容易的掌握上手。

关于让让小程序在个完整支持HTML5标准的浏览器上运行起来,有兴趣的同学具体可以参见让你的微信小程序运行在Chrome浏览器上

  2)开发者入门学习

    1.首先去下载安装微信Web开发者工具,很贴心的支持Mac,并且教程的截图都是Mac的哦~~

下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

    2.打开开发者工具后,(网络慢的二维码可能加载很久)扫二维码后可以添加项目或导入项目,appid不会公众号的,没有内测邀请的可以不填,输入项目名称比如:HelloWorld,选择项目保存地址的时候选择一个新创建的空文件夹,如果勾选在当前目录创建 quick start项目, 它就会帮我们创建一个简易的小程序demo,方便我们学习理解

    3.点击开发者工具左侧导航的“编辑”,我们可以看到这个项目,已经初始化并包含了一些简单的代码文件。在项目文件夹下看到了三个特别的文件app.js、app.json、app.wxss,其中,.js后缀的是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件。这三个文件是一个项目必不可少的文件,删除任意一个文件项目都会运行不了。

      app.js: 小程序运行主要逻辑及入口,里面使用App()函数来注册一个小程序,普通页面的js文件中可以通过 getApp()函数拿到App()函数所拥有的参数,并调用其中的数据。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。调用框架提供的丰富的 API,如本例的同步存储及同步读取本地数据。想了解更多可用 API,可参考 API 文档

      app.json: 是小程序的全局配置文件。可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释。更多可配置项可参考配置详解。每一个小程序加载的页面,包括四个部分[js、json、wxml、wxss])都要在 pages数组中声明后才能访问, window对象中可以设置窗口的样式颜色等。

      app.wxss: 是一个公共的样式文件,整个项目的每个页面都可以调用,我们可以在页面组件的 class 属性上直接使用 app.wxss 中声明的样式规则,就如一个全局的css文件。

    4.在左边菜单栏中选择“编辑”,可以查看我们这个项目的文件和结构,从文件结构中我们可以看到文件类型有4种:

      .js : 这就是一个JavaScript文件,只不过它是微信基于javascript封装过的,所以很多js函数是不能使用的,比如localhost.href,微信加入了很多自身的接口,比如跳转页面是: wx.navigationTo()函数。例如index.js 是页面的脚本文件,在这个文件中我们可以监听并处理页面的生命周期函数、获取小程序实例,声明并处理数据,响应页面交互事件等。

      .json : 是页面的配置文件,可以配置页面头部title信息等,页面的配置文件是非必要的。当有页面的配置文件时,配置项在该页面会覆盖 app.json 的 window 中相同的配置项。如果没有指定的页面配置文件,则在该页面直接使用 app.json 中的默认配置。

      .wxml : 视图结构文件,功能就像html文件差不多,用于描述页面结构,只不过它有自己独特的标签,不使用html标签。微信对wxml的全称定义也不是weixin xml,而是WeiXin MarkupLanguage,很霸气的要自成体系感。自然wxss也是WeiXin Style Sheets,一样的希望给人牛逼哄哄的感觉。

      .wxss : 视图样式文件,格式跟css文件一样,他在css的基础上扩展了几个特性 比如:尺寸单位 / 样式导入

    5: 项目运行过程:

      第一步:加载项目根目录下的 app.js、 app.json、 app.wxss文件,同时会执行app.js文件,并触发其中的onLaunch 和 onShow 函数

      第二步:加载app.json中pages数组中配置的第一个页面,作为项目的欢迎页,同时会执行对应页面js文件,并触发 onLoad / onReady 和 onShow 函数

      往后:页面可以通过事件与js文件交互,比如 在标签元素上绑定点击事件,并且指向js文件中的一个函数,就能用js中的逻辑去处理这个事件了

3)提出几个问题

1.移动网站或WebApp能直接改造成小程序

其实,之所以会保留这个认识,主要是由于过去微信公众号的二次开发经验,很大程度上给到了我们很多人先入为主的观念。

但通过我们上面所分析的第一个问题,可以知道微信小程序本质上就是Html5,但实际上却是一种优化过之后的Html5,这也就意味着绝大多数的移动网站或WebApp直接改造成小程序的难度很大,因为里面有大量的内容需要重写。小程序是相当于重新做了一个App,从开发、设计、测试、运维升级都是单独的一套。哦,你还得加个学习成本和风险,如此新的东西一次搞利索的可能性还真不好说,毕竟小程序现在自己也还是在测试阶段。

2.微信小程序能不能做H5小游戏

现阶段看来不行,不过可以做一些轻量的推广用得小游戏功能,一切还要看后面正式版的发布。

最后把微信官方的文档放在这里

https://mp.weixin.qq.com/debug/wxadoc/dev/

各位看官也可以看看我们的作品案例 H5游戏开发案例

用微信小程序做H5游戏尝试的更多相关文章

  1. 微信小程序开发的游戏《拼图游戏》

    微信小程序开发的游戏<拼图游戏> 代码直接考进去就能用 pintu.js // pintu.js Page({ /** * 页面的初始数据 */ data: { }, initGame: ...

  2. 承接微信小程序外包 H5外包就找北京动点软件开发团队

    承接小程序外包 微信小程序外包 H5外包 就找北京动点软件 长年承接微信小程序.微信公众号开发 全职的H5开发团队,开发过几十款微信小程序公众号案例 欢迎来电咨询,索取案例! QQ:372900288 ...

  3. 承接小程序外包 微信小程序外包 H5外包 就找北京动点软件

    承接小程序外包 微信小程序外包 H5外包 就找北京动点软件 长年承接微信小程序.微信公众号开发 全职的H5开发团队,开发过几十款微信小程序公众号案例 欢迎来电咨询 QQ:372900288 微信:li ...

  4. 用 React 编写的基于Taro &plus; Dva构建的适配不同端(微信小程序、H5、React-Native 等)的时装衣橱

    前言 Taro 是一套遵循 React 语法规范的 多端开发 解决方案.现如今市面上端的形态多种多样,Web.React-Native.微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表 ...

  5. 从0到1构建适配不同端(微信小程序、H5、React-Native 等)的taro &plus; dva应用

    从0到1构建适配不同端(微信小程序.H5.React-Native 等)的taro + dva应用 写在前面 Taro 是一套遵循 React 语法规范的 多端开发 解决方案.现如今市面上端的形态多种 ...

  6. 深入分析:微信小程序与H5的区别

    作为前端工程师,从前端的视角,为大家分析下微信小程序和HTML5与之间的主要区别 第一条是运行环境的不同. 传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行环境并非完整的浏览 ...

  7. 微信小程序与H5数据传递

    这的场景是 小程序webview 加载 H5应用 需求点: 1. 小程序的登录code 需要与H5应用的sessionId建立绑定关系 2.H5内发起微信小程序支付,支付参数传递到小程序,支付结果传递 ...

  8. 微信小程序和H5之间相互跳转

    1.微信小程序跳转小程序 wx.navigateToMiniProgram <script src='https://res.wx.qq.com/open/js/jweixin-1.3.0.js ...

  9. 用微信小程序做一个小电商 sku

    效果展示图 功能点概述 图一功能点有 搜索 轮播图 商品展示 图二功能点 导航栏 加入购物车 图四功能点 评论点 图五购物车 复选框 ( 全选全不选 ) 即点即改 总计结算 功能详解 1.A(搜索) ...

随机推荐

  1. SQL 统计两个表的数据,按同一日期分组

    思路:把两个表的数据按日期整合到临时表在按日期分组,求和. 例子: SELECT t.dateTime AS '日期',SUM(t.money) AS '表1利息',SUM(t.interest) A ...

  2. Unsupported configuration attributes&colon; &lbrack;FILE&lowbar;UPLOAD&rsqb;

    Caused by: java.lang.IllegalArgumentException: Unsupported configuration attributes: [FILE_UPLOAD] 情 ...

  3. iOS应用程序开发之应用间的跳转&lpar;用着微信等第三方分享登陆&rpar;

    简介 配置和实现 判断应用启动方式 一.简介 最实际项目开发中,我们难免会遇到需要从一个应用跳转到另一个应用的情况.比如微信分享,实际就是一种应用间的跳转.但是有时候我们需要实现自己的两个应用间的跳转 ...

  4. RabbitMQ PHP操作类,守护进程及相关测试数据

    封装类如下: <?php /* * amqp协议操作类,可以访问rabbitMQ * 需先安装php_amqp扩展 */ class RabbitMQCommand{ public $confi ...

  5. EK中fromCharCode和parseInt的配合使用

    基于web的漏洞攻击的第一步一般是:在landing page中通过<script>标签下的JavaScript脚本引入一些恶意链接.这些脚本往往会採用各种各样的混淆.加密手法来躲避AV和 ...

  6. linux下git常用命令

    1 安装: sudo apt-get install git 2 创建一个版本库: 新建一个文件夹,进入这个目录之后 git init 3 创建一个版本: git add 文件名或目录 #表示将当前文 ...

  7. 抽奖大转盘 js代码

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 算法 set &sol; multiset -- lower&lowbar;bound&lpar;&rpar;的二分搜索

    lower_bound() 在数组中搜索时 搜不到 返回 .end(), 若需要返回0,用upper_bound()-lower_bound() 若要返回下一个下标  则需要在set / multis ...

  9. Codeforces Round &num;299 &lpar;Div&period; 2&rpar; D&period; Tavas and Malekas kmp

    题目链接: http://codeforces.com/problemset/problem/535/D D. Tavas and Malekas time limit per test2 secon ...

  10. ssm开发系的统架构图