转载

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

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

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

查看演示     下载插件

制作方法

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

贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃食物,使得蛇变长,从而获得积分。这个贪吃蛇游戏的游戏布局和蛇的控制操作等均是在js文件中完成的。在CSS文件中仅是给贪吃蛇和网格布局一些基本样式。其中游戏中网格布局的样式如下:
  1. .tile {
  2.   background: rgba(0, 0, 0, 0.15);
  3.   position: absolute;
  4.   -webkit-transition-property:
  5.     background,
  6.     box-shadow,
  7.     opacity,
  8.     -webkit-transform;
  9.   transition-property:
  10.     background,
  11.     box-shadow,
  12.     opacity,
  13.     transform;
  14.   -webkit-transform: translateZ(0);
  15.           transform: translateZ(0);
  16.   -webkit-transition-duration: 3000ms;
  17.           transition-duration: 3000ms;
  18. }
  19. .tile:before {
  20.   bottom: 0;
  21.   content: '';
  22.   height: 0;
  23.   left: 0;
  24.   margin: auto;
  25.   opacity: 0;
  26.   position: absolute;
  27.   right: 0;
  28.   top: 0;
  29.   width: 0;
  30.   -webkit-transition: opacity 300ms;
  31.           transition: opacity 300ms;
  32. }
  33. .tile.path:before {
  34.   opacity: 1;
  35. }
  36. .tile.up:before {
  37.   border-bottom: 4px inset rgba(255, 255, 255, 0.15);
  38.   border-left: 4px solid transparent;
  39.   border-right: 4px solid transparent;
  40. }
  41. .tile.down:before {
  42.   border-top: 4px inset rgba(255, 255, 255, 0.15);
  43.   border-left: 4px solid transparent;
  44.   border-right: 4px solid transparent;
  45. }
  46. .tile.left:before {
  47.   border-right: 4px inset rgba(255, 255, 255, 0.15);
  48.   border-top: 4px solid transparent;
  49.   border-bottom: 4px solid transparent;
  50. }
  51. .tile.right:before {
  52.   border-left: 4px inset rgba(255, 255, 255, 0.15);
  53.   border-top: 4px solid transparent;
  54.   border-bottom: 4px solid transparent;
  55. }               
复制代码
整个游戏是一个响应式布局,它通过CSS媒体查询来实现不同屏幕尺寸下的不同游戏布局大小。
  1. @media (max-width: 900px), (max-height: 900px) {
  2.   .tile.up:before,
  3.   .tile.down:before,
  4.   .tile.left:before,
  5.   .tile.right:before {
  6.     border-width: 3px;
  7.   }
  8. }
  9. @media (max-width: 500px), (max-height: 500px) {
  10.   .tile.up:before,
  11.   .tile.down:before,
  12.   .tile.left:before,
  13.   .tile.right:before {
  14.     border-width: 2px;
  15.   }
  16. }            
复制代码
具体的js代码请参考下载文件。 本文版权属于jQuery之家,转载请注明出处: http://www.htmleaf.com/html5/html5youxi/201507092197.html
正文到此结束
Loading...