给大家安利一个免费且实用的前端刷题(面经大全)网站,?点击跳转到网站。
本节教程我会带大家使用 HTML 、CSS和 JS 来制作一个 html5汽车赛道飙车游戏
✨ 前言
?️ 本文已收录于?️100个HTML小游戏专栏:100个H5游戏专栏https://blog.csdn.net/qq_53544522/category_12064846.html
? 目前已有100+小游戏,源码在持续更新中,前100位订阅限时优惠,先到先得。
? 订阅专栏后可阅读100个HTML小游戏文章;还可私聊进前端/游戏制作学习交流群;领取一百个小游戏源码。
在线演示地址:https://code.haiyong.site/744/
源码也可在文末进行获取
✨ 项目基本结构
大致目录结构如下(共36个子文件):
├── lib│ ├── music.ogg│ └── sound.ogg├── app.js├── howler.js├── icon.png├── images│ ├── EN│ │ ├── panels_700x400.png│ │ ├── preloadImage.jpg│ │ ├── uiButs.png│ │ └── uiElements.png│ ├── cityFog.png│ ...│ └── userCar_122x82.png├── viewporter.js├── TweenMax.min.js└── index.html
场景展示
HTML源码
<div id="viewporter"><canvas id="canvas" moz-opaque></canvas></div><footer class="page-footer"> <span>游戏?</span> <a href="https://haiyong.site/moyu" target="_blank"><img class="touxiang" src="https://haiyong.site/img/favicon.png"> </a></footer><footer class="page-left"> <a href="https://code.haiyong.site/" target="_blank"><img class="touxiang" src="https://code.haiyong.site/wp-content/uploads/2022/10/logo.jpg"> </a> <span>?源码</span></footer>
CSS 源码
body
body {margin: 0px;padding: 0px;width: 100%;background-color:black;}
canvas
canvas {-ms-touch-action: none;image-rendering: -o-crisp-edges; image-rendering: optimize-contrast; -ms-interpolation-mode: nearest-neighbor; -webkit-tap-highlight-color: rgba(0,0,0,0);-moz-tap-highlight-color: rgba(0,0,0,0);tap-highlight-color: rgba(0,0,0,0);user-select: none;-webkit-touch-callout: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;}
JS 源码
js 代码较多,这里提供部分,完整源码可以在文末下载
最好不要对运行Android2.x的非常弱的设备进行任何操作
if(viewporter.disableLegacyAndroid && (/android 2/i).test(navigator.userAgent)) {//return false;}
iPad不允许滚动浏览器的UI
if((/ipad/i).test(navigator.userAgent)) { return false;}
WebOS没有触摸事件,但绝对需要视口规范化
if((/webos/i).test(navigator.userAgent)) { return true;}
支持触摸的设备
if('ontouchstart' in window) { return true;}
如果“preventPageScroll”选项设置为“true”,则阻止页面滚动`
document.body.addEventListener('touchmove', function(event) { event.preventDefault();}, false);
重置页面滚动,如果“preventPageScroll”选项设置为“true”,则在iOS上显示地址栏后使用
document.body.addEventListener("touchstart", function() {_viewporter.prepareVisualViewport();}, false);
如果尚未加载文档,请侦听文档就绪,然后尝试准备可视视口并开始触发自定义事件
if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() {_onReady();}, false);} else {_onReady();}
图片资源
一共30张图片,全都打包放在文末的下载链接里了。
音频资源
源码下载
1.CSDN资源下载:https://download.csdn.net/download/qq_44273429/87140008
2.从海拥资源网下载:https://code.haiyong.site/744/
3.也可通过下方卡片添加好友回复赛道飙车获取