HTML5响应式网页贪吃蛇小游戏

当前位置:主页 > Html5库 > HTML5游戏 > HTML5响应式网页贪吃蛇小游戏
HTML5响应式网页贪吃蛇小游戏
分享:

    插件介绍

    这是一款非常有趣的HTML5响应式网页贪吃蛇小游戏。在游戏中,你可以使用键盘的上下左右方向键来控制贪吃蛇的运动方向,屏幕中会随机出现一个绿色的食物,你的任务就是控制蛇去吃这个食物。

    浏览器兼容性

    浏览器兼容性
    时间:07-09
    阅读:
简要教程

这是一款非常有趣的HTML5响应式网页贪吃蛇小游戏。在游戏中,你可以使用键盘的上下左右方向键来控制贪吃蛇的运动方向,屏幕中会随机出现一个绿色的食物,你的任务就是控制蛇去吃这个食物。

制作方法

贪吃蛇小游戏

贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃食物,使得蛇变长,从而获得积分。这个贪吃蛇游戏的游戏布局和蛇的控制操作等均是在js文件中完成的。在CSS文件中仅是给贪吃蛇和网格布局一些基本样式。其中游戏中网格布局的样式如下:

.tile {
  background: rgba(0, 0, 0, 0.15);
  position: absolute;
  -webkit-transition-property:
    background,
    box-shadow,
    opacity,
    -webkit-transform;
  transition-property:
    background,
    box-shadow,
    opacity,
    transform;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-transition-duration: 3000ms;
          transition-duration: 3000ms;
}

.tile:before {
  bottom: 0;
  content: '';
  height: 0;
  left: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  -webkit-transition: opacity 300ms;
          transition: opacity 300ms;
}

.tile.path:before {
  opacity: 1;
}

.tile.up:before {
  border-bottom: 4px inset rgba(255, 255, 255, 0.15);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}

.tile.down:before {
  border-top: 4px inset rgba(255, 255, 255, 0.15);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}

.tile.left:before { 
  border-right: 4px inset rgba(255, 255, 255, 0.15);
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

.tile.right:before { 
  border-left: 4px inset rgba(255, 255, 255, 0.15);
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}               
              

整个游戏是一个响应式布局,它通过CSS媒体查询来实现不同屏幕尺寸下的不同游戏布局大小。

@media (max-width: 900px), (max-height: 900px) {
  .tile.up:before,
  .tile.down:before,
  .tile.left:before,
  .tile.right:before {
    border-width: 3px;
  }
}

@media (max-width: 500px), (max-height: 500px) {
  .tile.up:before,
  .tile.down:before,
  .tile.left:before,
  .tile.right:before {
    border-width: 2px;
  }
}                
              

具体的js代码请参考下载文件。