Lost Souls
Compiled Javascript version of game written in Dart (dartlang.org).
HTML
<div id="areaTitle">LOST SOULS</div>
<div id="areaSubtitle">A TUTORIAL HTML5 CANVAS GAME WRITTEN IN DART</div>
<div id="areaMain">
<div id="areaScoreB"></div>
<div id="areaScoreT"></div>
<div id="areaTime"></div>
<div id="areaFps"></div>
<div id="areaGame">
<canvas id="gameCanvas"></canvas>
</div>
<div id="areaGameTextMain">MAIN GAME TEXT</div>
<div id="areaGameTextInstruction">
KEYS TO USE<br/>
W A S D KEYS TO MOVE<br/>
. AND , TO STRAFE<br/>
N TO STOP MUSIC<br/>
M TO START MUSIC<br/>
</div>
</div>
CSS
@font-face {
font-family: 'pressstart';
src: url(PrStart.ttf);
}
body {
font-family: pressstart;
}
table {
width: 100%;
background-color: #7FA0F0;
border: 1px solid silver;
}
thead {
text-align: left;
}
td {
font-size: smaller;
color: white;
}
#areaTitle {
text-align: center;
color: black;
}
#areaSubtitle {
font-size: xx-small;
text-align: center;
color: graytext;
}
#areaMain {
position: relative;
width: 800px;
height: 600px;
margin: 0 auto;
}
#areaScoreB {
font-size: xx-large;
color: graytext;
position: absolute;
width: auto;
margin: 4;
z-index: 1;
}
#areaScoreT {
font-size: xx-large;
color: #A00000;
position: absolute;
width: auto;
margin: 4;
z-index: 1;
}
#areaTime {
color: white;
position: absolute;
text-align: right;
right: 0px;
width: auto;
margin: 4;
z-index: 1;
}
#areaFps {
font-size: small;
color: white;
position: absolute;
right: 0px;
bottom: 0px;
width: auto;
margin: 4;
z-index: 1;
}
#areaGameTextMain {
font-size: larger;
color: white;
position: absolute;
text-align: center;
width: 100%;
top: 50%;
}
#areaGameTextInstruction {
font-size: small;
position: absolute;
text-align: left;
width: 100%;
bottom: 0px;
margin: 8px;
}
#gameCanvas {
position: absolute;
width: 100%;
height: 100%;
}
#areaNotes {
text-align: center;
font-size: xx-small;
color: graytext;
margin: 4;
}
JavaScript
// Generated by dart2js, the Dart to JavaScript compiler.
(function($){function dart() {}var A=new dart
delete A.x
var B=new dart
delete B.x
var C=new dart
delete C.x
var D=new dart
delete D.x
var E=new dart
delete E.x
var F=new dart
delete F.x
var G=new dart
delete G.x
var H=new dart
delete H.x
var J=new dart
delete J.x
var K=new dart
delete K.x
var L=new dart
delete L.x
var M=new dart
delete M.x
var N=new dart
delete N.x
var O=new dart
delete O.x
var P=new dart
delete P.x
var Q=new dart
delete Q.x
var R=new dart
delete R.x
var S=new dart
delete S.x
var T=new dart
delete T.x
var U=new dart
delete U.x
var V=new dart
delete V.x
var W=new dart
delete W.x
var X=new dart
delete X.x
var Y=new dart
delete Y.x
var Z=new dart
delete Z.x
function I(){}
init()
$=I.p
var $$={}
;(function (reflectionData) {
"use strict";
function map(x){x={x:x};delete x.x;return x}
function processStatics(descriptor) {
for (var property in descriptor) {
if (!hasOwnProperty.call(descriptor, property)) continue;
if (property === "^") continue;
var element = descriptor[property];
var firstChar = property.substring(0, 1);
var previousProperty;
if (firstChar === "+") {
mangledGlobalNames[previousProperty] = property.substring(1);
var flag = descriptor[property];
if (flag > 0) descriptor[previousProperty].$reflectable = flag;
if (element && element.length) init.typeInformation[previousProperty] = element;
} else if (firstChar === "@") {
property = property.substring(1);
$[property]["@"] = element;
} else if (firstChar === "*") {
globalObject[previousProperty].$defaultValues = element;
var optionalMethods = descriptor.$methodsWithOptionalArguments;
if (!optionalMethods) {
descriptor.$methodsWithOptionalArguments = optionalMethods = {}
}
optionalMethods[property] = previousProperty;
} else if...