一款射击类小游戏小行星游戏,空格键为射击发射键,键盘的方向键可以调整方向和前进,完成每一关击碎行星的任务时等级即可提升,整体的可玩还算不错的哦,喜欢的童鞋请收下吧。
页面的head部分,设置页面的样式,代码如下:
body {
padding: 0;
margin: 0;
background-color: #FFFFFF;
font-family: 'Microsoft YaHei','Lantinghei SC','Open Sans',Arial,'Hiragino Sans GB','STHeiti','WenQuanYi Micro Hei','SimSun',sans-serif;
}
页面的body部分,需引入p5.js文件,代码如下:
<body>
<script type="text/javascript" src="js/p5.js"></script>
</body>
页面的底部,绘出游戏的所有内容,并设置各类参数和响应事件,代码较多,这里仅贴出部分代码:
var ship;
var asteroids = [];
var astnum;
var initastnum = 2;
var debris = [];
var energy = [];
var gameLevel = 0;
var message;
function setup() {
createCanvas(windowWidth, windowHeight);
textFont("'Microsoft YaHei','Lantinghei SC','Open Sans',Arial,'Hiragino Sans GB','STHeiti','WenQuanYi Micro Hei','SimSun',sans-serif");
ship = new Ship();
initialize("开始游戏吧!", initastnum);
}
function draw() {
background(0);
for (var i = debris.length - 1; i >= 0; i--) {
debris[i].update();
debris[i].render();
if (debris[i].transparency <= 0) {
debris.splice(i, 1);
}
}
for (var i = energy.length - 1; i >= 0; i--) {
energy[i].update();
energy[i].render();
energy[i].edges();
if (ship.hit(energy[i]) && !ship.safe) {
ship.safe = true;
setTimeout(function() {
ship.safe = !ship.safe;
}, 2000);
ship.getBonus();
energy[i].alive = false;
};
if (energy[i].life <= 20) {
energy[i].alive = false;
};
if (!energy[i].alive) {
energy.splice(i, 1);
};
}
if (ship.alive) {
ship.update();
ship.render();
ship.edges();
} else {
console.log("Game Over");
message = "游戏结束!";
//restart();
};
if (asteroids.length == 0) { // player cleared the level
astnum += 3;
initialize("你赢了!等级提升!", astnum);
}
for (var i = asteroids.length - 1; i >= 0; i--) {
asteroids[i].render();
asteroids[i].update();
asteroids[i].edges();
if (ship.hit(asteroids[i]) && !ship.safe) {
ship.danger = true;
setTimeout(function() {
ship.danger = !ship.danger;
}, 100);
ship.getDamage(asteroids[i]);
console.log("Damaging the shield " + ship.shieldLevel);
asteroids[i].explode();
asteroids.splice(i, 1);
//console.log(asteroids.length);
//ship.explode();
}
}
//interface info
ship.interface();
}
function initialize(messageText, newastnum) {
message = messageText;
gameLevel += 1;
astnum = newastnum;
basicinit();
}
系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791