js实现奔跑回家小游戏代码
代码语言:html
所属分类:游戏
代码描述:js实现奔跑回家小游戏代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> :root { --map: 0%; --map-goals: 0%; } html { min-height: 100vh; display: grid; place-items: center; background: linear-gradient(to bottom right, #111 33%, #300); color: gray; font-family: system-ui; font-size: 12px; } * { user-select: none; } body { width: 100%; max-width: 1000px; } img { margin: 0 auto; display: grid; } #console { width: 100%; height: 400px; position: relative; background: #325139; border-radius: 4px; box-shadow: 0 10px 20px rgba(0,0,0,.5); perspective: 1000px; overflow: hidden; border-radius: 5px; } #console:before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 75%, transparent, rgba(0,0,0,1)); z-index: 300; pointer-events: none; } #console:after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, #325139, transparent 50%); z-index: 200; pointer-events: none; } #console * { user-select: none; } .stop_animation .tree, .stop_animation .pit { animation-play-state: paused !important; } #road_map { width: 250px; height: 5px; border-radius: 10px; background: linear-gradient(to right, rgba(255,255,255,.25) calc(100% - 3px), transparent calc(100% - 3px)); background-size: var(--map-goals) 100%; position: absolute; left: calc(50% - 125px); top: 15px; z-index: 500; } #road_map:before { content:''; width: 20px; height: 20px; background: url('//repo.bfw.wiki/bfwrepo/images/game/penbao/avaster.png'); background-size: 100% 100%; position: absolute; left: var(--map); top: -7.5px; transform: translateX(-50%); filter: drop-shadow(0 0 1px white); transition: .25s; z-index: 10; } #road_map:after { content:''; width: 20px; height: 20px; background: white; position: absolute; left: 100%; top: -7.5px; transform: translateX(-50%); clip-path: polygon(50% 0%, 100% 50%, 80% 50%, 80% 100%, 60% 100%, 60% 60%, 40% 60%, 40% 100%, 20% 100%, 20% 50%, 0% 50%); } #map_color { width: var(--map); height: 5px; border-radius: 10px; background: #cc0000; position: absolute; left: 0; top: 0; transition: .25s; } #start_btn { width: 75%; max-width: 75ch; min-width: 300px; padding: 2rem 2rem 4rem 2rem; font-family: system-ui; background: #cc0000; text-align: center; font-size: 20px; letter-spacing: 3px; font-weight: 100; color: white; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); filter: drop-shadow(0 5px 10px black); cursor: pointer; box-sizing: border-box; z-index: 500; border-radius: .5rem; transition: .75s; } #start_btn:before { content: ''; width: 100%; max-width: 100px; height: 100px; background-image: url('//repo.bfw.wiki/bfwrepo/images/game/penbao/avaster.png'); background-size: 50% 50%; background-repeat: no-repeat; background-position: 50% 50%; box-sizing: border-box; border-radius: 50%; position: absolute; left: calc(50% - 50px); margin: 0 auto; transform: translateY(-75%); background-color: inherit; } #start_btn span { text-transform: uppercase; font-weight: 700; font-size: 24px; } .hide_start_btn { opacity: 0 !important; transform: translate(-50%,-75%) !important; pointer-events: none !important; } #game_track { width: 100%; max-width: 320px; height: 150%; /* outline: 1px solid red; */ margin: 0 auto; position: relative; transform: translateY(-17.15%) rotateX(60deg); background: url('//repo.bfw.wiki/bfwrepo/images/game/penbao/track.png'); overflow: hidden; box-shadow: inset 0 30px 25px 25px rgba(131,158,100, 0.1); border-radius: 3rem 3rem 0 0; } #game_track:after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, #325139, transparent 50%); z-index: 200; pointer-events: none; } .pit { width: 100%; height: 50px; position: absolute; top: -50px; left: 0; background: url('//repo.bfw.wiki/bfwrepo/images/game/penbao/pit.png'); box-sizing: border-box; filter: drop-shadow(0 -5px rgba(0,0,0,.5)); animation: pit 3s linear forwards; } @keyframes pit { 100% { top: 100%; } } #game_player { width: 50px; aspect-ratio: 1 / 1; background-size: 300% auto; position: absolute; left: calc(50% - 25px); top: 75%; pointer-events: none; .........完整代码请登录后点击上方下载按钮下载查看
网友评论0