mirror of
https://github.com/Cola-Echo/memory-manager-concurrent.git
synced 2026-06-06 11:15:51 +00:00
Update memory-manager-concurrent
This commit is contained in:
99
games/mario/gui/main.js
Normal file
99
games/mario/gui/main.js
Normal file
@@ -0,0 +1,99 @@
|
||||
$(window).on("load", function() {
|
||||
|
||||
var NATIVE = navigator.isCocoonJS,
|
||||
MOBILE = "onorientationchange" in window ||
|
||||
window.navigator.msMaxTouchPoints ||
|
||||
window.navigator.isCocoonJS;
|
||||
|
||||
var canvas = document.getElementById("foreground"),
|
||||
context = canvas.getContext("2d");
|
||||
|
||||
if (MOBILE) {
|
||||
canvas.height = Math.round(Math.min(canvas.height, canvas.width * Math.min(window.innerHeight, window.innerWidth) / Math.max(window.innerHeight, window.innerWidth) ));
|
||||
} else {
|
||||
canvas.height = Math.round(Math.min(canvas.height, window.innerHeight));
|
||||
adjustViewport(canvas, canvas.width, canvas.height);
|
||||
}
|
||||
console.log("canvas.width=" + canvas.width + " canvas.height=" + canvas.height);
|
||||
|
||||
_.extend(Backbone, {
|
||||
NATIVE: NATIVE,
|
||||
MOBILE: MOBILE,
|
||||
HEIGHT: canvas.height,
|
||||
WIDTH: canvas.width
|
||||
});
|
||||
|
||||
Backbone.Controller = Backbone.Model.extend({
|
||||
initialize: function(attributes, options) {
|
||||
options || (options = {});
|
||||
var controller = this;
|
||||
|
||||
this.debugPanel = new Backbone.DebugPanel({}, {color: "#fff"});
|
||||
|
||||
this.titleScreenGui = new Backbone.TitleScreenGui({
|
||||
id: "titleScreenGui",
|
||||
}, {
|
||||
saved: {
|
||||
level: 1,
|
||||
coins: 10,
|
||||
time: 1000000
|
||||
}
|
||||
});
|
||||
|
||||
// The game engine
|
||||
this.engine = new Backbone.Engine({}, {
|
||||
canvas: canvas,
|
||||
debugPanel: this.debugPanel
|
||||
});
|
||||
|
||||
// Controls
|
||||
$(document).on("keypress.Controller", function(e) {
|
||||
if (e.keyCode == 66 || e.keyCode == 98)
|
||||
controller.engine.toggle(); // b to break the animation
|
||||
});
|
||||
|
||||
this.listenTo(this.engine, "play", this.play);
|
||||
this.listenTo(this.engine, "nextLevel", this.nextLevel);
|
||||
|
||||
this.showTitleScreen();
|
||||
},
|
||||
showTitleScreen: function() {
|
||||
this.engine.stop();
|
||||
this.engine.reset();
|
||||
if (this.debugPanel) this.debugPanel.clear();
|
||||
|
||||
// Start everything
|
||||
this.engine.set("clearOnDraw", true);
|
||||
|
||||
this.engine.add([
|
||||
this.titleScreenGui,
|
||||
this.debugPanel
|
||||
]);
|
||||
this.engine.start();
|
||||
},
|
||||
play: function() {
|
||||
this.engine.stop();
|
||||
this.engine.reset();
|
||||
if (this.debugPanel) this.debugPanel.clear();
|
||||
|
||||
// TO DO: start a new game. Set the state and add world, input, etc to engine
|
||||
},
|
||||
nextLevel: function() {
|
||||
this.engine.stop();
|
||||
this.engine.reset();
|
||||
if (this.debugPanel) this.debugPanel.clear();
|
||||
|
||||
// TO DO: continue an existing game. Reset the state and add world, input, etc to engine
|
||||
}
|
||||
});
|
||||
|
||||
var controller = new Backbone.Controller();
|
||||
|
||||
// Expose things as globals - easier to debug
|
||||
_.extend(window, {
|
||||
canvas: canvas,
|
||||
context: context,
|
||||
controller: controller,
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user