html5虚拟摇杆,关于前端:babylonjs-第三方-nipplejs虚拟摇杆
Game Start
–
(不忍直视的名字和logo_(:з」∠)_)
应用
创立 manager
在引入js后,咱们依照官网的代码先创立manager实例。manager的dom元素就是所有nipple对象能生成的区域块。
let joyCon = document.querySelector("#joy-con");
// eslint-disable-next-line no-debugger
let options = {
mode: "static",// 'dynamic', 'static' or 'semi'
size: 150,
position: {
left: "50%",
top: "50%"
},//在容器内垂直居中显示
zone: joyCon //如果不提提供zone容器元素,那么默认动静生成的元素是注入在body中的。
};
let manager = nipplejs.create(options);
因为摇杆对象(nipple)默认是红色的所以须要给背景填充色彩,成果如图。
好大一个…
????有三种模式:
1.dynamic(来到屏幕后就隐没)
2.semi(来到屏幕后还保留在原处,挪动到别处时切换以后的摇杆的地位)
3.static 固定不动
自定义款式
image
通过审查元素可发现动静生成的nipple元素中有两个div,front是两头的圆点,back是圆点的容器。
.front {
background-color: #fff;
user-select: none;//加这个属性是因为元素总是会被选中,会比拟影响应用体验
}
.back {
background-image: url("../assets/j.png");
background-size: cover;
user-select: none;
}
如下图所示
image
在文档中介绍了两个实例对象,manager写得很分明,然而nipple这个实例是真的找了半天都没有找到是怎么生成的…
而后翻到Events这边发现原来这个对象是通过参数传过来的 -。- ,查看了一下源码,在生成manager对象后会创立collect对象,collect在被创立时会依据以后mode解决不同的状况,当mode为static时须要默认生一个nipple对象。
image
监听事件
//滑动摇杆的事件
manager.on("move", function (evt, data) {
if (data.direction) {
......
});
//进行滑动摇杆的事件
manager.on("end", function (evt, data) {
......
});
我这里只须要两个事件就OK
兼容性
目前 nipplejs: 0.8.3版本在ios13上有bug导致其无奈滑动…
https://developer.apple.com/documentation/safari_release_notes/safari_13_release_notes
起因是新公布的safari 13减少了新的API
image
可对源码进行批改,找到依赖下的utils.js
export const isPressed = (evt) => {
if (evt.type === 'pointerdown' || evt.type === 'pointermove') {
return true;
} //补充该代码
if (isNaN(evt.buttons)) {
return evt.pressure !== 0;
}
return evt.buttons !== 0;
};
或者回退到0.8.1版本也能够解决问题…
参考资料
( ˘▽˘)っ链接
js参数解释
html5虚拟摇杆,关于前端:babylonjs-第三方-nipplejs虚拟摇杆相关推荐
- HTML5开发和web前端开发的区别与联系?
HTML5与Web前端什么关系,Web前端有哪些优势?Web前端就业怎么样?现在学习前端就业前景好吗?越来越多人了解Web前端,也有很多年轻人想进入到Web前端的行列,但是现在Web前端还值得大家去选 ...
- 前端调用第三方接口跨域问题(淘宝)
前端调用第三方接口跨域问题 百度了好久,大部分的文章都前篇一律的说jsonp跨域,要不就是说配置CROS.看到那种文章出处应该都是一家,心好累.首先来说淘宝目前的接口是不支持jsonp请求的,配置CR ...
- hbuilder前端需要的插件_这两款HTML5开发工具,前端开发工程师用了直呼内行
HTML5,是web前端开发者入门就需要学习的一门技术.而对于程序员来说,要想让开发工作实现效率最大化,就必然离不开一个趁手的开发工具.像这种世界级的技术,也自然是有很多很多的开发工具可以选择使用.今 ...
- 前端开发第三方分享/登录功能备忘(facebook、weibo、QQ、weixin微信好友或者朋友圈)
##前端开发第三方分享[/三方登录]功能备忘(facebook脸书.Whatsapp.weibo.QQ.weixin好友或者朋友圈) 平台 支持域名 备案 切换域名调整 平台名称 注意事项
- 前端学习——第三方登录(Google登录、Facebook登录)
文章目录 前言 一.前端对接第三方登录有什么用? 二.使用环境 三.FB第三方登录 引入且封装成组件 四.G第三方登录 引入且封装成组件 五.页面上使用 总结 前言 本文介绍了作者本人学习前端Java ...
- html5培训靠谱吗,html5培训和web前端有靠谱的吗?
html5培训和web前端培训有靠谱的吗? 我是2016年应届毕业生工商管理专业,同年6月7日我这天完全结束了自己的学生时代,经朋友介绍在毕业的第二天,我只身一人来到了兄弟连(www.itxdl.cn ...
- 讲解虚拟服务器的书_“红平果”虚拟仿真实训平台在医学教育中的实践与应用...
随着互联网技术与虚拟仿真技术的飞速发展,虚拟仿真实训平台这一教育资源也逐渐受到了教育界人士的青睐,目前我国许多医学高等院校投入的虚拟仿真实训平台屈指可数,可是用虚拟仿真实训平台的学校,教学效率远远超过 ...
- 【VirtualBox】VirtualBox使用现有的虚拟盘文件(如VHD)创建虚拟机时,报错:打开虚拟硬盘失败,“UUID already exist”的解决方法
###0.问题描述 使用现有的虚拟盘文件(如VHD)创建虚拟机时,报错:打开虚拟硬盘失败,"UUID already exists"的错误. ###1.参考博客 https://w ...
- Linux 虚拟化网络技术 — 虚拟二层网卡(Tap)与虚拟三层隧道网卡(Tun)
目录 文章目录 目录 虚拟二层网卡(Tap)与虚拟三层隧道网卡(Tun) tap/tun 作为用户空间与内核空间的数据传输通道 tap/tun 与内核网络协议栈的数据传输 虚拟二层网卡(Tap)与虚拟 ...
- 怎样把台式机变成虚拟服务器,怎么把文件传到虚拟主机
怎么把文件传到虚拟主机?通过云服务运营商提供的管理面板进行文件管理并上传,或者是通过FTP软件来把文件传到虚拟主机. 我们在购买一个虚拟主机后,云服务商会提供一个管理面板(一般是集成在用户中心里).F ...
最新文章
- MySQL 8.0 首个自适应参数横空出世
- AngularJs快速上手掌握
- pyc文件反编译为py文件
- 1112 Stucked Keyboard (20 分)【难度: 一般 / 知识点: 模拟】
- viewer vue 文档_vue中使用viewerjs
- redis取出list最边的一个_这几个Redis使用技巧,让你的程序快如闪电
- php 直播服务器搭建,基于Nginx搭建RTMP/HLS视频直播服务器
- CSU-ACM集训-模板-主席树
- iphone圆点怎么弄出来_iPhone11 怎么开启小圆圈?苹果11怎么打开小圆点?
- 高等代数——大学高等代数课程创新教材(丘维声)——2.1笔记+习题
- 几何能用计算机证明吗,初等几何定理的计算机证明 - 科学技术大学.ppt
- Debian 10 安装fonts-noto-cjk
- 吃鸡 python开发_ 冲顶大会等游戏答题神器,提供答题辅助决策 ,帮助顺利吃鸡...
- qt creator编译qt工程时报错:undefined reference to
- t480安装matlab不了,thinkpad t480和t490的区别
- Windows11 Docker-Compose 因为挂载问题报错
- 工信部新规本月底施行 未经用户同意发送商业短信将被罚款
- CF1527C Sequence Pair Weight
- 经典的足球明星广告--[困兽斗]
- Stay Hungry,Stay Foolish!
热门文章
- android 字体设置方正,(技术)Android 默认非衬线字体修改为衬线字体
- 谈一谈 IPA 上传到 App Store Connect 的几种方法
- DOSBOX下载和使用
- 如何恢复录音删除的录音文件_如何把录音转成文字?推荐这款录音转文字app软件!...
- 思科为计算机配置ip命令,cisco路由器配置命令练习
- java面试项目介绍,详细说明
- 使用QFIL升级高通芯片的Android系统
- MyBatis下载和使用
- HBase安装与验证
- Flutter 2.5正式版发布,带来重大更新