<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      參賽作品

      2011-11-22 07:29  【當耐特】  閱讀(6369)  評論(15)    收藏  舉報

      p11

      一.簡介

      3D貪吃蛇是貪吃蛇游戲的3D版本。通過攝取食物,累積數量來通關,隨著攝取食物的增加,蛇身體會慢慢變長變肥大。游戲開放了許多快捷鍵,方便玩家操作。游戲一共七個關卡,一關比一關難。最后一關的隨機障礙物更加是玩家的噩夢。為了獲取更好的游戲體驗,推薦使用谷歌瀏覽器或者楓樹瀏覽器。

       

      二.游戲框架和開發團隊

      這個游戲是使用Jscex作為動畫引擎,使用Three.js框架作為3D引擎開發的HTML5游戲.

      使用到的HTML5特性主要包括Canvas, CSS3 (按鈕),沒有使用WebGL。后期打算加入localStorage存儲關卡信息。

      在游戲中, 控制小蛇躲避前方的障礙物, 同時去吃前方的食物。與傳統的貪吃蛇區別是:蛇吃完食物后身體會長大,而不僅僅是變長。

      通過該游戲的開發,讓團隊對HTML5的未來更加充滿信心.

      • 團隊名稱:磚家隊
      • 作品名稱:《3D Anakonda》
      • 團隊成員:張磊、方方瑩

      隊長+主程:張磊

      策劃:張磊、方方瑩

      測試:張磊、方方瑩

      美工:張磊

      程序:張磊

       

      三.游戲指南

      a. 上下左右控制蛇的運動方向

      b. SHIFT切換速度模式

      c. 按住Ctrl加速,放開不加速

      d. L打開或者關閉光影開關,關閉光影的效果如下:

      p22

      e. V切換到推薦視角

      image

      f. 按住鼠標旋轉視角

      QQ截圖20111121194904

       

      四.核心代碼

      見2D貪吃蛇http://www.rzrgm.cn/iamzhanglei/archive/2011/10/08/2200858.html

      光影開關:

                  // Lights
                  if (scene.lights.length == 0) {
                      var ambientLight = new THREE.AmbientLight(0x555555);
                      scene.addLight(ambientLight);
      
                      var directionalLight = new THREE.DirectionalLight(0xffffff);
                      directionalLight.position.x = -0.5;
      
                      directionalLight.position.y = -0.5;
                      directionalLight.position.z = 0.005;
                      directionalLight.position.normalize();
                      scene.addLight(directionalLight);
      
                      var directionalLight = new THREE.DirectionalLight(0x808080);
                      directionalLight.position.x = -0.1;
                      directionalLight.position.y = 0.3;
                      directionalLight.position.z = 0.5;
                      directionalLight.position.normalize();
                      scene.addLight(directionalLight);
                  } else {
                      scene.lights.length = 0;
                  }

      加速和減速控制:

              var moveAsync = eval(Jscex.compile("async", function () {
                  while (true) {
                      ......
                      ......
                      ......
                      $await(Jscex.Async.sleep(speed));
                  }
              }));

      相當于通過鍵盤事件來控制speed就可以了。

      文字旋轉以及移動特效:

              var wordMoveAsync = eval(Jscex.compile("async", function () {
                  while (playParent.position.x > -500) {
                      $await(Jscex.Async.sleep(1));
      
                      playParent.position.x -= 30;
      
                      render();
                  }
              }))
              var logoMoveAsync = eval(Jscex.compile("async", function () {
                  while (true) {
                      $await(Jscex.Async.sleep(1));
      
                      logoParent.position.z -= 30;
                      if (logoParent.position.z < -450) {
                          initSnakeBody();
                          moveAsync().start();
                          break;
      
                      }
      
                  }
              }))
              var wordMoveBackAsync = eval(Jscex.compile("async", function () {
                  while (playParent.position.x < 0) {
                      $await(Jscex.Async.sleep(1));
                      //-100
                      playParent.position.x += 30;
      
                      render();
                  }
              }))
              var logoMoveBackAsync = eval(Jscex.compile("async", function () {
                  while (true) {
                      $await(Jscex.Async.sleep(1));
      
                      logoParent.position.z += 30;
                      if (logoParent.position.z > 300) {
                          if (gameOverTextParent) {
                              scene.removeChild(gameOverTextParent);
                          }
                          if (completeTextParent) {
                              scene.removeChild(completeTextParent);
      
                          }
                          for (var i = 1; i < mission + 1; i++) {
                              document.getElementById("Button" + i).disabled = ""
                          }
                          break;
      
                      }
      
                  }
              }))
      
              var rotationLogoAsync = eval(Jscex.compile("async", function () {
                  while (true) {
                      $await(Jscex.Async.sleep(50))
                      logoParent.rotation.y += 0.1;
                      render();
                  }
      
              }))
              rotationLogoAsync().start();

      五.總結

      本游戲由兩人團隊完成,還有很多不足,本想增加一些可玩性,比如加入一些變速食物和中毒的食物,比如蛇大到一定程度可以吃障礙物,但是由于時間關系,最終沒抽出時間去實現。

       

      同步

      本文已同步更新至:

      HTML5實驗室【目錄】:   http://www.rzrgm.cn/iamzhanglei/archive/2011/11/06/2237870.html

      主站蜘蛛池模板: 亚洲偷自拍国综合| 色欲aⅴ亚洲情无码av蜜桃| 国产色无码精品视频免费| 国产午夜免费高清久久影院| 国产中文字幕在线精品| 亚洲电影在线观看| 国产精品久久久久久福利| 神马久久亚洲一区 二区| 日本熟妇hdsex视频| 在线视频中文字幕二区| 色综合久久综合中文综合网| 久久精品免视看国产成人| 中文字幕av高清片| 亚洲春色在线视频| 激情综合色综合啪啪开心| 一 级做人爱全视频在线看| 国精品91人妻无码一区二区三区 | 丰满人妻一区二区三区色| 麻豆国产成人AV在线播放| 99热在线观看| 亚洲午夜精品国产电影在线观看| 亚洲国产精品综合久久网各| 免费看无码自慰一区二区| 久久国产精品老女人| 亚洲人妻中文字幕一区| 亚洲日本va午夜蜜芽在线电影| 欧美大胆老熟妇乱子伦视频| 国产综合视频一区二区三区| 廊坊市| 色综合久久综合中文综合网| 成年女人碰碰碰视频播放| 久久96国产精品久久久| 色一伊人区二区亚洲最大| 国偷自产一区二区三区在线视频| 亚洲色欲在线播放一区二区三区| 久热99热这里只有精品| 亚洲天堂av日韩精品| 亚洲精品乱码久久久久久蜜桃 | 精品国产av无码一区二区三区 | 国产一区二区三区小说| 国产一区二区一卡二卡|