当前位置: 首页 > news >正文

做了一个小游戏,结项目,数数坑(animate,移动端长按出现菜单,touchmove,禁止微信上下滑屏)...

这是一个微信端的,投篮小游戏。

游戏规则如下: 

  点击开始,进入游戏,按住右下角红色按钮控制投篮力度,3次进球以后游戏难度将会升级。45秒内您的进球数将会计入排行榜,最终排行榜上的名次可以获得相应奖励,快来投篮冲榜领福利吧。

一、动画效果

  做微信项目,相信大家和我一样,已经习惯了放弃使用jQuery,转而使用zepto。但是zepto并没有集成animate()方法。因此若想使用动画,用不想做兼容处理,最高效的方法是重拾jQuery。  

  $(selector).animate(styles,speed,easing,callback)
详见:http://www.w3school.com.cn/jquery/effect_animate.asp

  再者,jQuery的animate()方法并没有集成所有的贝塞尔曲线(说的是animate的easing函数),W3C官网上显示,只有“swing”,“linear”两种,

他们的位移时间图如下图所示:

      

 

注意:speed是完成一个运动周期的用时,而并非速度,默认值1000 单位ms,而对于easing函数来说,默认值是“swing”(字符串类型),并非匀速直线运动linear。

二、禁除安卓手机的长按出现的菜单

  css:

    -webkit-touch-callout:none;
    -webkit-user-select: none;

使用上面的css可以实现禁除 “复制”和“保存到手机”菜单的出现,但无法禁除“在浏览器中打开”。

  实现禁除“在浏览器中打开”,可使用下面的代码。实际上,该代码是在PC端禁除了右击菜单的出现,在移动端禁除了长按菜单的出现。

  js:

  document.addEventListener("contextmenu", function(event){
    event.preventDefault();
    return false;
  },false)

 三、禁除微信端网页上下滑动

  微信端的小游戏本身是全屏的,但是,山下滑动网页时会出现黑框。下面代码可以防止上下滑动出现黑框:

  document.addEventListener("touchmove",function(e){
    e.preventDefault();
    e.stopPropagation();
  },false);

 

 四、禁除微信端网页滑动后,实现排行榜的滑动

   微信一屏的长度有限,而需要展示排行的前99人。想要展示,又必须用到滑屏事件,但是在上面我们已经禁掉了touchmove事件。

在这块我使用了swiper.js,完美解决了问题。

但又一点需要注意,需要在获取到数据之后,再进行对swiper的初始化。

 

转载于:https://www.cnblogs.com/grove009/p/7324801.html

相关文章:

  • 黑客查理·米勒:用一个按键黑掉一辆车
  • php之变量
  • 12、sed、awk、数组 学习笔记
  • MapGuide Fusion viewer中如何用Google Map/Yahoo Map/Bing Map做底图
  • RTX——第14章 信号量
  • Ubuntu12.04编译android4.3源码问题集锦
  • Android零基础入门第12节:熟悉Android Studio界面,开始装逼卖萌
  • 1570. [POJ3461]乌力波
  • ios学习之旅--oc对象的关系
  • 自己写的分页器,BOOTSTRAP+JQUERY(非完全版,后续完善)
  • spring data jpa的update操作
  • 详解java定时任务
  • day7回顾
  • Get和Post的参数传值
  • Linux查看占用GPU的进程
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Angularjs之国际化
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • canvas 高仿 Apple Watch 表盘
  • isset在php5.6-和php7.0+的一些差异
  • javascript 总结(常用工具类的封装)
  • npx命令介绍
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 前端相关框架总和
  • 什么软件可以剪辑音乐?
  • 为什么要用IPython/Jupyter?
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • Prometheus VS InfluxDB
  • zabbix3.2监控linux磁盘IO
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​虚拟化系列介绍(十)
  • #includecmath
  • #pragma once
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (三)elasticsearch 源码之启动流程分析
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (算法)前K大的和
  • (一)kafka实战——kafka源码编译启动
  • (转)Oracle 9i 数据库设计指引全集(1)
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET面试题(二)
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • .NET业务框架的构建
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [ajaxupload] - 上传文件同时附件参数值
  • [Android] 修改设备访问权限
  • [C# 基础知识系列]专题十六:Linq介绍
  • [C和指针].(美)Kenneth.A.Reek(ED2000.COM)pdf
  • [HackMyVM]靶场 VivifyTech
  • [leetcode] 66. 加一
  • [NISACTF 2022]level-up