怎么在手机上测试php网页游戏_GitHub - 0510zl/Onlinetest: 移动端-在线

伽叶
• 阅读 863

财富测试游戏:

需求:

页面

加载页Loding

展示页面welcome

活动介绍页面intro

测试题目展示页面question

结果弹出:msg

分享

微信功能

微信js-sdk 分享

项目流程

graph TB

A(Lading页面)-->B(welcome页面)

B(welcome页面)-->C(intro页面)

C(intro页面)-->D(question页面)

D(question页面)-->|成功|E[成功信息]

D(question页面)-->|失败|F[失败信息]

D(question页面)-->|下一题|G[下一题]

G[下一题]-->|下一题|D(question页面)

loading页面(页面图片加载完毕)

welcome页面(3秒跳转/点击关闭跳转)

游戏说明页面(点击按钮)

题目展示(选择答案)判断

成功页:成功信息、图片、音效

失败页:失败信息、图片、音效

下一题:本题分析、下一题按钮:回到题目展示页

使用的技术:

html5:spa单页应用

css:手机端reset.css/手机端页面自适应实现

js:zepto

json 数据存储

php 主要用于微信

功能点以及实现(及遇到的坑):

css篇

reset.js

==2. 手机端自适应==

遵循主流媒体的分辨率,通过媒体适配器,进行字体等比率缩放,font-size用rem,宽度使用100%,是我参考了许多移动端适配文章最好的解决方法。

/ 媒体选择器/

@media screen and (min-width: 641px) {

html,

body {

font-size: 20px;

}

}

/ scale to 320px 2/

@media screen and (min-width: 601px) and (max-width: 640px) {

html,

body {

font-size: 20px;

}

}

/ scale to 320px 1.875/

@media screen and (min-width: 541px) and (max-width: 600px) {

html,

body {

font-size: 18.75px;

}

}

/ scale to 320px 1.6875/

@media screen and (min-width: 481px) and (max-width: 540px) {

html,

body {

font-size: 16.875px;

}

}

/ scale to 320px 1.5/

@media screen and (min-width: 415px) and (max-width: 480px) {

html,

body {

font-size: 15px;

}

}

/ scale to 320px 1.29375/

@media screen and (min-width: 401px) and (max-width: 414px) {

html,

body {

font-size: 12.9375px; 

}

}

/ scale to 320px 1.25/

@media screen and (min-width: 376px) and (max-width: 400px) {

html,

body {

font-size: 12.5px;

}

}

/ scale to 320px 1.171875/

@media screen and (min-width: 361px) and (max-width: 375px) {

html,

body {

font-size: 11.71875px;

}

}

/ scale to 320px 1.125 /

@media screen and (min-width: 321px) and (max-width: 360px) {

html,

body {

font-size: 11.25px;

}

.chosemsg .msgcontent p {

font-size: 1rem;

}

}

@media screen and (max-width: 320px) {

html,

body {

font-size: 10px;

}

.chosemsg .msgcontent {

line-height: 1.3

}

.chosemsg .msgcontent p {

font-size: 1rem;

}

}

JS篇

js-sdk(js结合php实现)

ajax+php实现:$.ajax请求->信息获取php(微信服务器交互数据获取、json格式存储、数据封装)->ajax数据返回->调用

数据存数:json文件 (ajax+php)

只涉及读取数据:

ajax直接读取数据:使用$.getHSON()方法

手机端检测:使用的是zepto,电脑端进行判断提示

var isPc = /macintosh|window/.test(navigator.userAgent.toLowerCase());

if (isPc) {

$('body').html('请在手机端查看效果更佳!(∩_∩)');

return;

}

页面loading动画

音效预加载(见6)、图片预加载(见5)后关闭loading动画。

图片预加载:

function preLoadImages(arr) {

var newimages = [],

loadedimages = 0;

var postaction = function() {} //此处增加了一个postaction函数

var arr = (typeof arr != "object") ? [arr] : arr

function imageloadpost() {

loadedimages++;

if (loadedimages == arr.length) {

postaction(newimages) //加载完成用我们调用postaction函数并将newimages数组做为参数传递进去

}

}

for (var i = 0; i < arr.length; i++) {

newimages[i] = new Image()

newimages[i].src = arr[i]

newimages[i].onload = function() {

imageloadpost()

}

newimages[i].onerror = function() {

imageloadpost()

}

}

return { //此处返回一个空白对象的done方法

done: function(f) {

postaction = f || postaction

}

}

}

背景音乐:

坑1:手机端默认不允许默认play()

解决:

document.addEventListener("WeixinJSBridgeReady", function() {

toggleplay(audio, 1); //背景音乐初始化;

PreLoadHtml();

}, false);

  1. function toggleplay(obj, voc) {

voc = voc ? 0 : 1;

if (obj.paused) {

if (obj.id === 'bgaudio') {

audiobox.addClass('rotateall');

}

obj.play();

obj.volume = voc;

} else {

if (obj.id === 'bgaudio') {

audiobox.removeClass('rotateall');

}

obj.pause();

}

}

坑2:下一题的音效要第二次点击才能出现

解决:播放音效前加载

function initVoice() {

var voicelist = document.querySelectorAll(".voice");

voicelist.forEach(function(item) {

item.load();

})

}

==问题页面解决==:

流程:

1.初始化

  • income:初始金额
  • qStart:"q_1_1" :第一题

2.绑定问题

1.克隆question的HTML模板

2.数据绑定(根据showQues):

  • html数据绑定:金额、题目、 答案
  • 题目对应的下一题信息绑定:result

3.事件绑定

1.绑定选择状态

2.根据选择获取下一题的信息

3.根据下一题信息显示不同结果:成功/失败/下一题

1.绑定结果信息、绑定信息对应的事件

成功/失败:给出原因、重新开始、分享按钮

下一题:给出分析、下一题按钮->重新绑定问题

2.显示结果信息

其他小问题:

6.1安卓window.loacation 兼容问题

window.location.href = 'http://' + location.hostname + '' + location.pathname + '?time=' + ((new Date()).getTime());

6.2重复点击bug

//关闭点击按钮

function quesOffClick(items) {

items.off("tap");

}

那么你学会如何在手机上测试PHP网页游戏了嘛?

点赞
收藏
评论区
推荐文章
凝雪探世界 凝雪探世界
4年前
js-Answers二
前端框架相关什么是单页面应用(SPA)?单页面应用(SPA)是指用户在浏览器加载单一的HTML页面,后续请求都无需再离开此页目标:旨在用为用户提供了更接近本地移动APP或桌面应用程序的体验。流程:第一次请求时,将导航页传输到客户端,其余请求通过RESTAPI获取JSON数据实现:数据的传输通过
顺心 顺心
4年前
Flutter 玩转微信——闪屏页妙用
概述众所周知,一个健全的App,通常都会有一个SplashPage页面,且该页面一般用于应用(APP)启动时,当然其存在的主要目的是承载:启动页、引导页、广告页、等待页等业务场景。笔者认为,与其说是闪屏页,倒不如叫中转页,怎么个中转法,还请听笔者一一到来...这里笔者借助以Flutter实现微信App登录的逻辑,以点带面来讲讲Sp
马丁路德 马丁路德
4年前
微信小程序 - 页面间传值
小程序页面间传值大家晚上好,说晚上好是因为是在晚上写的,说这句话是因为这句话开篇不那么突然。那么小程序的页面间传值,在我使用这段时间里,我就非常的主观的把它们分为wx.navigateTo和非wx.navigateTo的,因为wx.navigateTo有一个事件参数event,我从当前页跳转到下一页,如果需要能返回,我都用的wx.naviga
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Stella981 Stella981
3年前
APPIUM 小程序webview问题
小程序许多界面都是hybrid,有些webview页面用uiautomatorviewer查看不到元素,这里就要获取webview 的pagesource了1.环境:  需要确定appium\_chromedriver的版本和微信的webview版本对应:获取微信的webview版本信息,打开x5调试debugx5.qq.com在信息页面
Wesley13 Wesley13
3年前
H5调取APP或跳转至下载
来源:  最近在配合移动端做几个详情页h5分享页面,需要调取App并跳转至app详情页,如果没有安装App,需要判断引导至下载页面。参考文档:https://juejin.im/post/5b7efb2ee51d45388b6af96c(https://www.oschina.net/action/GoToLink?u
Wesley13 Wesley13
3年前
5G消息与微信小程序互联互通?北京国都互联这么做……
最近微信小程序上线了一个超级流量的新入口URLScheme,据微信官网介绍,scheme码适用于短信、邮件、外部网页等拉起小程序的业务场景。通过小程序页面的URLScheme,可以在短信、邮件或微信外部的网页中打开微信小程序。意义在于将微信流量生态延伸到微信以外渠道,进一步完善了小程序和外部渠道互通的营销场景。北京国都互联第一时
Stella981 Stella981
3年前
Android仿微信图片详情页面,可下拉关闭页面
话不多说,直接上效果图imagereview.gifImageReview(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Flink.jianshu.com%3Ft%3Dhttps%253A%252F%252Fgithub.com%252FJohnsonHou%252FImage
Stella981 Stella981
3年前
JavaScript——页面相关事件
页面事件是在页面加载或改变浏览器的大小、位置,以及对页面中的滚动条进行操作时,所触发的事件处理程序。加载与卸载事件加载事件(onload)是在网页加载完毕后触发相应的事件处理程序,它可以在网页加载完成后对网页中的表格样式、字体、背景颜色等进行设置。卸载事件(unload)是在卸载网页时触发相应的事件处理程序,卸载网页是指关闭当前页或
LibraHeresy LibraHeresy
2年前
企业微信使用微信 jssdk 实现转发分享功能
前言又接到一个看似简单,实则难受的需求,实现企业微信环境转发H5页面到微信好友和朋友圈,并保留卡片形式。需求简单明了,但是和微信沾边的,都不是一条好走的路。一上手就发现问题了,企微的jssdk它不更新了。兜兜转转发现,好像企微和微信的jssdk统一用@we
上海张律师 上海张律师
2个月前
仿微信登录页面制作
​HarmonyOS应用开发先看一下效果图然后我们从上到下来看一下:国家/地区这个部分:实际上点击以后应当是弹出一个框来选择的,我们可以给他整体做成一个Button,点击以后去执行相关的代码。那么这里的关键是,要把按钮的背景色设置为透明,这里的写法是lan