为了账号安全,请及时绑定邮箱和手机立即绑定

画布出现不了,网页无反应

画布出现不了,网页无反应

牛肉速冻矮子 2016-11-25 13:57:49
HTML文件:<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <srcipt src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></srcipt>        <script src="script.js" type="text/javascript"></script>    </head>    <body>     <canvas id="myCanvas" width="320px" height="480px"></canvas>    </body></html>JavaScript文件:/** @Author: Administrator* @Date:   2016-11-24 21:00:25* @Last Modified by:   Administrator* @Last Modified time: 2016-11-25 11:27:40*/'use strict';var canvas = document.getElementById("myCanvas");var ctx = canvas.getContext("2d");var bgcolor = "black";var score;var highScore;var fps = 30;var player;var bullets = [];var enemies = [];// 重置function reset(){ if(score > highScore) highScore = score; score = 0;}// 背景画布function drawBackground(){ ctx.fillStyle = bgcolor; ctx.fillRect(0,0,canvas.width,canvas.height);}//分数画布function drawScore(){ ctx.fillStyle = "#CCFF99"; ctx.font ="24px sans-serif"; ctx.fillText("Score:" + score,10,24); ctx.font ="16px sans-serif";    ctx.fillText("HighScore:" + highScore,10,48);} // Ready画布function drawReady(){ drawBackground();    drawScore();    ctx.fillStyle = "white";    ctx.font = "72px sans-serif";    ctx.fillText("Ready?",canvas.width/2 - 140,canvas.height/2);}setInterval(function(){ update(); draw();},1000/fps);$(document).bind("keydown","left",function(){});function update(){ if(keydown.left){ player.x -= 1; } if(keydown.right){ player.x += 1; } if(keydown.space){ player.shoot(); } player.x = player.x.clamp(0,canvas.width-player.width);    bullets.forEach(function(bullet){    bullet.update();    });    bullets = bullets.filter(function(bullet){    return bullet.active;    });    enemies.forEach(function(enemy){    enemy.update();    };    enemies = enemies.filter(function(enemy){    returnenemy.active;    });    handleCollisions(); }function draw(){ canvas.clearRect(0,0,canvas.width,canvas.height); player.draw(); bullets.forEach(function(bullet){ bullet.draw();  }); enemies.forEach(function(enemy){ enemy.draw(); });}var player ={ color:"#0000AA", x:220, y:270, width:32, height:32, draw:function(){ canvas.fillStyle=this.color; canvas.fillRect(this.x,this.y,this.width,this.height); }}; // 创建炮弹function bullet(p){ p.active = true; p.xVelocity = 0; p.yVelocity = speed; p.color = "#FFFFFF"; p.width = 3px; p.width = 3px;    p.inBounds = function(){    return p.x >= 0 && p.x <= canvas.width && p.y >= 0 && p.y <= canvas.height;    };    p.draw = function(){    canvas.fillStyle = this.color;    canvas.fillRect(this.x,this.y,this.width,this.height);    };    p.update = function(){    p.x += p.xVelocity;    p.y += p.yVelocity;    p.active = p.active && p.inBounds();    };    return p; }// player射击player.shoot = function(){ var bulletPosition = this.midpoint(); bullets.push(bullet({ speed:5, x:bulletPosition.x, y:bulletPosition.y }));};player.midpoint = function(){ return{ x:this.x+this.width/2, y:this.y+this.height/2 };};// 创建敌人function enemy(e){ e.active=true; e.age=Math.floor(Math.random()*128); e.color="#A2B"; e.x= canvas.width/4+Math.random()*canvas.width/2; e.y=0;   e.xVelocity=0  e.yVelocity=2; e.width=32;  e.height=32; e.inBounds = function(){ return e.x >= 0 && e.x <= canvas.width && e.y >= 0 && e.y <= canvas.height; }; e.draw = function(){ canvas.fillStyle=this.color; canvas.fillRect(this.x,this.y,this.width,this.height);     };      e.update = function(){        e.x += e.xVelocity;         e.y += e.yVelocity;        e.xVelocity=3*Math.sin(I.age*Math.PI/64);        e.age++;        e.active = e.active && e.inBounds();    };    e.explode = function(){    this.active = false;    };      return e;}// 碰撞检测function collides(a, b){ return a.x < b.x + b.width && a.x + a.width > b.x && a.y < b.y + b.height && a.y + a.height > b.y;}// 碰撞处理function handleCollisions(){ bullets.forEach(function(bullet){ enemies.forEach(function(enemy){ if(collides(bullet,enemy)){ enemy.explode(); bullet.active=false; } }) });}document.addEventListener('DOMContentLoaded',reset());
查看完整描述

1 回答

?
Doit的信仰

TA贡献44条经验 获得超11个赞

目测这个是飞机大战

查看完整回答
反对 回复 2016-11-30
  • 1 回答
  • 0 关注
  • 1484 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信