欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HTML5 键盘监听原理实现的抓怪兽游戏+代码

程序员文章站 2022-05-28 11:45:14
html5小游戏抓怪兽,应用canvas等超多的html5技巧编写而成,下面来向大家汇报实现步骤: 1、创建游戏画布: .代码 var canvas = document.createel...

html5小游戏抓怪兽,应用canvas等超多的html5技巧编写而成,下面来向大家汇报实现步骤:

1、创建游戏画布:

.代码 HTML5 键盘监听原理实现的抓怪兽游戏+代码
  1. var canvas = document.createelement("canvas");
  2. var ctx = canvas.getcontext("2d");
  3. canvas.width = 512;
  4. canvas.height = 480;
  5. document.body.appendchild(canvas);

    我们需要做的第一件事是创建一个 canvas元素。我这样做的javascript,而不是html演示如何轻松完成。一旦我们拥有的元素,我们得到一个参考的情况下,设置它的尺寸,它附加到文档的身体。前端框架分享

    2、包括图像:

    .代码 HTML5 键盘监听原理实现的抓怪兽游戏+代码
    1. var bgready = false;
    2. var bgimage = new image();
    3. bgimage.onload = function () {
    4. bgready = true;
    5. };
    6. bgimage.src = "images/background.png";

      我们加载一些图像。我想,以做这个尽可能简单,所以它是只是一个图像,而不是被包裹起来的一个很好的类或东西。 使用bgready让画布知道,当它的安全来绘制它。

      3、 游戏对象:

      .代码 HTML5 键盘监听原理实现的抓怪兽游戏+代码
      1. var hero = {//英雄
      2. speed: 256, // 每秒256像素
      3. x: 0,
      4. y: 0
      5. };
      6. var monster = {//怪兽
      7. x: 0,
      8. y: 0
      9. };
      10. var monsterscaught = 0; //抓到了几个怪兽

        4、 玩家输入:前端框架分享

        .代码 HTML5 键盘监听原理实现的抓怪兽游戏+代码
        1. // 处理键盘输入
        2. var keysdown = {};
        3. addeventlistener("keydown", function (e) {
        4. keysdown[e.keycode] = true;
        5. }, false);
        6. addeventlistener("keyup", function (e) {
        7. delete keysdown[e.keycode];
        8. }, false);

          5、 新游戏

          .代码 HTML5 键盘监听原理实现的抓怪兽游戏+代码
          1. //当怪兽被抓住时,需执行
          2. var reset = function () {
          3. hero.x = canvas.width / 2;
          4. hero.y = canvas.height / 2;
          5. // 使怪物出现在场景的某个地方(随机化)
          6. monster.x = 32 + (math.random() * (canvas.width - 64));
          7. monster.y = 32 + (math.random() * (canvas.height - 64));
          8. };

            6、 更新对象:

            .代码 HTML5 键盘监听原理实现的抓怪兽游戏+代码
            1. var update = function (modifier)
            2. {
            3. if (38 in keysdown) { // 向上
            4. hero.y -= hero.speed * modifier;
            5. }
            6. if (40 in keysdown) { // 向下
            7. hero.y += hero.speed * modifier;
            8. }
            9. if (37 in keysdown) { // 向左
            10. hero.x -= hero.speed * modifier;
            11. }
            12. if (39 in keysdown) { //
            13. hero.x += hero.speed * modifier;
            14. }
            15. // are they touching?
            16. if (
            17. hero.x =>
            18. && monster.x =>
            19. && hero.y =>
            20. && monster.y =>
            21. ) {
            22. ++monsterscaught;
            23. reset();
            24. }
            25. };

              7、 渲染对象:前端资源分享

              .代码 HTML5 键盘监听原理实现的抓怪兽游戏+代码
              1. var render = function () {
              2. if (bgready) {
              3. ctx.drawimage(bgimage, 0, 0);
              4. }
              5. if (heroready) {
              6. ctx.drawimage(heroimage, hero.x, hero.y);
              7. }
              8. if (monsterready) {
              9. ctx.drawimage(monsterimage, monster.x, monster.y);
              10. }
              11. // score
              12. ctx.fillstyle = "rgb(250, 250, 250)";
              13. ctx.font = "24px helvetica";
              14. ctx.textalign = "left";
              15. ctx.textbaseline = "top";
              16. ctx.filltext("goblins caught: " + monsterscaught, 32, 32);
              17. };

                8、 游戏主循环:

                .代码 HTML5 键盘监听原理实现的抓怪兽游戏+代码
                1. var main = function () {
                2. var now = date.now();
                3. var delta = now - then;
                4. update(delta / 1000);
                5. render();
                6. then = now;
                7. };

                  9、 开始游戏:

                  .代码 HTML5 键盘监听原理实现的抓怪兽游戏+代码
                  1. reset();
                  2. var then = date.now();
                  3. setinterval(main, 1);