2017-07-06 10 views
-1

私はゲームサイトをプログラムしたいが、別のウェブサイトからコピーしたゲームはいつも一番上にある学校プロジェクトを持っています。 私はゲームがHotbarは:) HTMLコードの下にウェブサイトの中心になりたい:私のゲームは一番上ではなく、一番下にしたいですか?

<!DOCTYPE html> 
    <html> 
    <head> 
     <title>Games</title> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 
     <link rel="stylesheet" href="css/nav.css"> 
     <style> 
    canvas { 
     border:1px solid #d3d3d3; 
     background-color: #f1f1f1; 
    } 
    </style> 
    </head> 
    <body onload="startGame()"> 
     <div class="nav"> 
      <ul> 
       <li><a href="">Aventure Games</a></li> 
       <li><a href="">1vs1 Games</a></li> 
       <li id="logo"><img src="src/logogif.gif" style="width:300px;"></li> 
       <li><a href="">Other Categories</a></li> 
       <li><a href="">About us</a></li> 
      </ul> 
     </div> 
     <article> 
      <h1>Games</h1> 
      <p>content bla bla</p> 
     </article> 


     <p class="flappybird"> 
     <script> 

    var myGamePiece; 
    var myObstacles = []; 
    var myScore; 

    function startGame() { 
     myGamePiece = new component(30, 30, "red", 10, 120); 
     myGamePiece.gravity = 0.05; 
     myScore = new component("30px", "Consolas", "black", 280, 40, "text"); 
     myGameArea.start(); 
    } 

    var myGameArea = { 
     canvas : document.createElement("canvas"), 
     start : function() { 
      this.canvas.width = 480; 
      this.canvas.height = 270; 
      this.context = this.canvas.getContext("2d"); 
      document.body.insertBefore(this.canvas, document.body.childNodes[0]); 
      this.frameNo = 0; 
      this.interval = setInterval(updateGameArea, 20); 
      }, 
     clear : function() { 
      this.context.clearRect(0, 0, this.canvas.width, this.canvas.height); 
     } 
    } 

    function component(width, height, color, x, y, type) { 
     this.type = type; 
     this.score = 0; 
     this.width = width; 
     this.height = height; 
     this.speedX = 0; 
     this.speedY = 0;  
     this.x = x; 
     this.y = y; 
     this.gravity = 0; 
     this.gravitySpeed = 0; 
     this.update = function() { 
      ctx = myGameArea.context; 
      if (this.type == "text") { 
       ctx.font = this.width + " " + this.height; 
       ctx.fillStyle = color; 
       ctx.fillText(this.text, this.x, this.y); 
      } else { 
       ctx.fillStyle = color; 
       ctx.fillRect(this.x, this.y, this.width, this.height); 
      } 
     } 
     this.newPos = function() { 
      this.gravitySpeed += this.gravity; 
      this.x += this.speedX; 
      this.y += this.speedY + this.gravitySpeed; 
      this.hitBottom(); 
     } 
     this.hitBottom = function() { 
      var rockbottom = myGameArea.canvas.height - this.height; 
      if (this.y > rockbottom) { 
       this.y = rockbottom; 
       this.gravitySpeed = 0; 
      } 
     } 
     this.crashWith = function(otherobj) { 
      var myleft = this.x; 
      var myright = this.x + (this.width); 
      var mytop = this.y; 
      var mybottom = this.y + (this.height); 
      var otherleft = otherobj.x; 
      var otherright = otherobj.x + (otherobj.width); 
      var othertop = otherobj.y; 
      var otherbottom = otherobj.y + (otherobj.height); 
      var crash = true; 
      if ((mybottom < othertop) || (mytop > otherbottom) || (myright < otherleft) || (myleft > otherright)) { 
       crash = false; 
      } 
      return crash; 
     } 
    } 

    function updateGameArea() { 
     var x, height, gap, minHeight, maxHeight, minGap, maxGap; 
     for (i = 0; i < myObstacles.length; i += 1) { 
      if (myGamePiece.crashWith(myObstacles[i])) { 
       return; 
      } 
     } 
     myGameArea.clear(); 
     myGameArea.frameNo += 1; 
     if (myGameArea.frameNo == 1 || everyinterval(150)) { 
      x = myGameArea.canvas.width; 
      minHeight = 20; 
      maxHeight = 200; 
      height = Math.floor(Math.random()*(maxHeight-minHeight+1)+minHeight); 
      minGap = 50; 
      maxGap = 200; 
      gap = Math.floor(Math.random()*(maxGap-minGap+1)+minGap); 
      myObstacles.push(new component(10, height, "green", x, 0)); 
      myObstacles.push(new component(10, x - height - gap, "green", x, height + gap)); 
     } 
     for (i = 0; i < myObstacles.length; i += 1) { 
      myObstacles[i].x += -1; 
      myObstacles[i].update(); 
     } 
     myScore.text="SCORE: " + myGameArea.frameNo; 
     myScore.update(); 
     myGamePiece.newPos(); 
     myGamePiece.update(); 
    } 

    function everyinterval(n) { 
     if ((myGameArea.frameNo/n) % 1 == 0) {return true;} 
     return false; 
    } 

    function accelerate(n) { 
     myGamePiece.gravity = n; 
    } 
    </script> 
    <br> 
    <button onmousedown="accelerate(-0.2)" onmouseup="accelerate(0.05)">ACCELERATE</button> 
    <p>Use the ACCELERATE button to stay in the air</p> 
    <p>How long can you stay alive?</p> 
    </body> 
    </html> 

CSSコード:

*{ 

     margin: 0px; 
     background-color:darkred; 
    } 
    .nav{ 
     height: 100px; 
    } 

    ul { 
     list-style-type: none; 
     margin: 0; 
     padding: 0; 
     text-align: center; 
     /*padding-left: 30%; 
     padding-right: 30%;*/ 
     /*overflow: hidden;*/ 
     background-color: gray; 
     height:70px; 
    } 

    li { 
     /*float: left;*/ 
     display: inline-block; 
     vertical-align: top; 
     margin: 0 -2px; 

    } 

    li a { 
     display: block; 
     font-family: Verdana, Helvetica, sans-serif; 
     color: white; 
     text-align: center; 
     padding: 14px 16px; 
     text-decoration: none; 
     background-color: darkred; 
    } 
    #logo { 
     /*display: block;*/ 
     font-family: Verdana, Helvetica, sans-serif; 
     background-color: black; 
     text-align: center; 
     padding: 10px; 
     text-decoration: none; 
    } 
    #logo img{ 
     display: block; 
    } 

    li a:hover { 
     background-color: black; 
     color: white; 
    } 

    } 
    p{font-family:Tahoma;} 

    article { 
     padding-left: 12px; 
    } 

答えて

0

あなたが欲しい正しい場所を定義するために持っています新しい要素をキャンバスに挿入します。 以下のコードスニペットでは、キャンバスがドキュメント本文の最初の子ノードの前に配置されるように指示します。

document.body.insertBefore(this.canvas, document.body.childNodes[0]); 

これを配置する要素を指定する必要があります。その下には、クラス名flappybirdの最初の要素があります。

document.body.insertBefore(this.canvas, document.getElementsByClassName("flappybird")[0]); 
+0

ありがとうございましたこれは私を大いに助けました –

関連する問題