基本信息
源码名称:HTML5小游戏开发实例源码
源码大小:1.73M
文件格式:.zip
开发语言:CSS
更新时间:2013-01-09
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
小游戏开发HTML5实例,下图只是其中一个游戏,更多游戏见压缩包
<html>
<head>
<title>Hangman</title>
<style>
.letters {position:absolute;left: 0px; top: 0px; border: 2px; border-style: double; margin: 5px; padding: 5px; color:#F00; background-color:#0FC; font-family:"Courier New", Courier, monospace;
}
.blanks {position:absolute;left: 0px; top: 0px; border:none; margin: 5px; padding: 5px; color:#006; background-color:white; font-family:"Courier New", Courier, monospace; text-decoration:underline; color: black; font-size:24px;
}
</style>
<script src="words1.js" defer></script>
<script type="text/javascript">
var ctx;
var thingelem;
var alphabet = "abcdefghijklmnopqrstuvwxyz";
var alphabety = 300;
var alphabetx = 20;
var alphabetwidth = 25;
var secret;
var lettersguessed = 0;
var secretx = 160;
var secrety = 50;
var secretwidth = 50;
var gallowscolor = "brown";
var facecolor = "tan";
var bodycolor = "tan";
var noosecolor = "#F60";
var bodycenterx = 70;
var steps = [
drawgallows,
drawhead,
drawbody,
drawrightarm,
drawleftarm,
drawrightleg,
drawleftleg,
drawnoose
];
var cur = 0;
function drawgallows() {
ctx.lineWidth = 8;
ctx.strokeStyle = gallowscolor;
ctx.beginPath();
ctx.moveTo(2,180);
ctx.lineTo(40,180);
ctx.moveTo(20,180);
ctx.lineTo(20,40);
ctx.moveTo(2,40);
ctx.lineTo(80,40);
ctx.stroke();
ctx.closePath();
}
function drawhead() {
ctx.lineWidth = 3;
ctx.strokeStyle = facecolor;
ctx.save(); //before scaling of circle to be oval
ctx.scale(.6,1);
ctx.beginPath();
ctx.arc (bodycenterx/.6,80,10,0,Math.PI*2,false);
ctx.stroke();
ctx.closePath();
ctx.restore();
}
function drawbody() {
ctx.strokeStyle = bodycolor;
ctx.beginPath();
ctx.moveTo(bodycenterx,90);
ctx.lineTo(bodycenterx,125);
ctx.stroke();
ctx.closePath();
}
function drawrightarm() {
ctx.beginPath();
ctx.moveTo(bodycenterx,100);
ctx.lineTo(bodycenterx 20,110);
ctx.stroke();
ctx.closePath();
}
function drawleftarm() {
ctx.beginPath();
ctx.moveTo(bodycenterx,100);
ctx.lineTo(bodycenterx-20,110);
ctx.stroke();
ctx.closePath();
}
function drawrightleg() {
ctx.beginPath();
ctx.moveTo(bodycenterx,125);
ctx.lineTo(bodycenterx 10,155);
ctx.stroke();
ctx.closePath();
}
function drawleftleg() {
ctx.beginPath();
ctx.moveTo(bodycenterx,125);
ctx.lineTo(bodycenterx-10,155);
ctx.stroke();
ctx.closePath();
}
function drawnoose() {
ctx.strokeStyle = noosecolor;
ctx.beginPath();
ctx.moveTo(bodycenterx-10,40);
ctx.lineTo(bodycenterx-5,95);
ctx.stroke();
ctx.closePath();
ctx.save();
ctx.scale(1,.3);
ctx.beginPath();
ctx.arc(bodycenterx,95/.3,8,0,Math.PI*2,false);
ctx.stroke();
ctx.closePath();
ctx.restore();
drawneck();
drawhead();
}
function drawneck() {
ctx.strokeStyle=bodycolor;
ctx.beginPath();
ctx.moveTo(bodycenterx,90);
ctx.lineTo(bodycenterx,95);
ctx.stroke();
ctx.closePath();
}
function init(){
ctx = document.getElementById('canvas').getContext('2d');
setupgame();
ctx.font="bold 20pt Ariel";
}
function setupgame() {
var i;
var x;
var y;
var uniqueid;
var an = alphabet.length;
for(i=0;i<an;i ) {
uniqueid = "a" String(i);
d = document.createElement('alphabet');
d.innerHTML = (
"<div class='letters' id='" uniqueid "'>" alphabet[i] "</div>");
document.body.appendChild(d);
thingelem = document.getElementById(uniqueid);
x = alphabetx alphabetwidth*i;
y = alphabety;
thingelem.style.top = String(y) "px";
thingelem.style.left = String(x) "px";
thingelem.addEventListener('click',pickelement,false);
}
var ch = Math.floor(Math.random()* words.length);
secret = words[ch];
for (i=0;i<secret.length;i ) {
uniqueid = "s" String(i);
d = document.createElement('secret');
d.innerHTML = (
"<div class='blanks' id='" uniqueid "'> __ </div>");
document.body.appendChild(d);
thingelem = document.getElementById(uniqueid);
x = secretx secretwidth*i;
y = secrety;
thingelem.style.top = String(y) "px";
thingelem.style.left = String(x) "px";
}
steps[cur]();
cur ;
return false;
}
function pickelement(ev) {
var not = true;
var picked = this.textContent;
var i;
var j;
var uniqueid;
var thingelem;
var out;
for (i=0;i<secret.length;i ) {
if (picked==secret[i]) {
id = "s" String(i);
document.getElementById(id).textContent = picked;
not = false;
lettersguessed ;
if (lettersguessed==secret.length) {
ctx.fillStyle=gallowscolor;
out = "You won!";
ctx.fillText(out,200,80);
ctx.fillText("Reload the page to try again.",200,120);
for (j=0;j<alphabet.length;j ) {
uniqueid = "a" String(j);
thingelem = document.getElementById(uniqueid);
thingelem.removeEventListener('click',pickelement,false);
}
}
}
}
if (not) {
steps[cur]();
cur ;
if (cur>=steps.length) {
for (i=0;i<secret.length;i ) {
id = "s" String(i);
document.getElementById(id).textContent = secret[i];
}
ctx.fillStyle=gallowscolor;
out = "You lost!";
ctx.fillText(out,200,80);
ctx.fillText("Reload the page to try again.",200,120);
for (j=0;j<alphabet.length;j ) {
uniqueid = "a" String(j);
thingelem = document.getElementById(uniqueid);
thingelem.removeEventListener('click',pickelement,false);
}
}
}
var id = this.id;
document.getElementById(id).style.display = "none";
}
</script>
</head>
<body onLoad="init();">
<h1>Hangman</h1><br/>
<p>
<canvas id="canvas" width="600" height="400">
Your browser doesn't support the HTML5 element canvas.
</canvas>
<br/>
</p>
</body>
</html>