js+css实现跳跃闯关类游戏代码
代码语言:html
所属分类:游戏
代码描述:js+css实现跳跃闯关类游戏代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" /> <style> :root { --root-clr: dimgray; --tile-line-height: 30px; --tile-size: 10px; --clr: gray; --pl-clr: radial-gradient(circle at 75% 50%, white 1px, transparent 2px), radial-gradient(circle at 25% 50%, white 1px, transparent 2px), radial-gradient(circle at 75% 40%, black 3px, transparent 4px), radial-gradient(circle at 25% 40%, black 3px, transparent 4px), white; } html, body { min-width: 100vw; min-height: 100vh; overflow: hidden; margin: 0; display: grid; place-items: center; background: #111; } #game_console { width: 100%; max-width: 1000px; aspect-ratio: 16 / 9; position: relative; background: linear-gradient(to bottom, rgba(0,0,0,.65), rgba(0,0,0,1)), var(--root-clr); text-align: center; line-height: var(--tile-line-height); font-size: 0; color: transparent; user-select: none; box-shadow: 0 20px 20px black; /* overflow: hidden; */ } #deaths_counter, #time_counter { padding: 0rem 1rem; font-size: 16px; font-family: system-ui, serif; line-height: 100%; color: white; /* background: rgba(0,0,0,.75); */ position: absolute; } #deaths_counter { top: 0; left: 0; transform: translate(0%,-125%); /* text-align: left; */ } #time_counter { top: 0; right: 0; transform: translate(0%,-125%); /* text-align: right; */ } #game_alert { padding: 1rem 2rem; font-size: 16px; font-family: system-ui, serif; line-height: 100%; color: white; background: rgba(0,0,0,.75); border: 1px dashed white; position: absolute; bottom: 0; left: 50%; transform: translate(-50%,125%); z-index: 99999; border-radius: 50px; transition: .5s; opacity: 0; pointer-events: none; user-select: none; } h2 { margin: 0; margin-bottom: 10px; } .tile { /* outline: 1px dashed rgba(0,0,0,.5); */ } .ground { background: var(--root-clr); box-sizing: border-box; border-top: 5px solid rgba(0,0,0,.25); border-right: 5px solid rgba(0,0,0,.65); border-bottom: 5px solid rgba(0,0,0,.65); border-left: 5px solid rgba(0,0,0,.25); outline: 0; z-index: 2; /* filter: brightness(.75); */ } .innerwall { background: var(--root-clr); outline: 0; } /* lava spikes */ .lava { background: conic-gradient(at 50% 0%, transparent 0deg 153deg, rgba(0,0,0,.5) 155deg 190deg, rgba(255,255,255,.5) 192deg 205deg, transparent 207deg 360deg), conic-gradient(at 50% 0%, transparent 0deg 153deg, var(--root-clr) 155deg 195deg, var(--root-clr) 197deg 205deg, transparent 207deg 360deg); } .spleft { transform: rotate(-90deg); } .sptop { transform: rotate(180deg); } .spright { transform: rotate(90deg); } .portal1:after, .portal2:after { content:''; width: 150%; height: 150%; position: absolute; top: -25%; left: 0; background: radial-gradient(circle at 50% 50%, rgba(0,0,0,1) 3px, rgba(0,0,0,.75) 6px, rgba(0,0,0,.75) 10px, rgba(0,0,0,.5) 11px, rgba(0,0,0,.5) 15px, rgba(0,0,0,.25) 16px, rgba(0,0,0,.25) 20px), var(--root-clr); animation: portal 2s linear infinite; /* box-shadow: inset 3px 0 0 3px rgb(0 0 0 / 25%), 3px 0px 0 2px rgb(255 255 255 / 50%); */ pointer-events: none; border-radius: 50%; } @keyframes portal { 50% { transform: scale(1.1); } } .nextlevel { /* background: linear-gradient(to bottom right, transparent 10%, var(--root-clr) 10% 30%, transparent 30% 60%, var(--root-clr) 60% 80%, transparent 80%); background-size: 25px 25px; */ } #player, #player:after { content:''; width: 25px; height: 25px; background: transparent; position: absolute; z-index: 10000; pointer-events: none; } #player:before { content:''; width: 25px; height: 25px; position: absolute; left: 0; top: 0; background: radial-gradient(circle at 85% 15%, LightSeaGreen 3px, transparent 4px), radial-gradient(circle at 15% 15%, LightSeaGreen 3px, transparent 4px), radial-gradient(circle at 65% 90%, LightSeaGreen 2px, transparent 3px), radial-gradient(circle at 35% 90%, LightSeaGreen 2px, transparent 3px); } #player:after { width: 20px; height: 25px; background: linear-gradient(to top, LightSeaGreen 0%, transparent 0%), radial-gradient(circle at 60% 40%, PaleTurquoise 2px, transparent 3px), radial-gradient(circle at 50% 50%, black 5px, transparent 6px), DarkTurquoise; position: absolute; top: -2.5px; left: 2.5px; z-index: 10000; border-radius: 50% 60% 50% 50% / 70% 70% 40% 40%; pointer-events: none; box-shadow: inset 2px 2px 3px 3px rgba(255,255,255,.5), inset -2px -2px 3px 3px rgba(0,0,0,.33); animation: blink 4s linear infinite; } .........完整代码请登录后点击上方下载按钮下载查看
网友评论0