# HG changeset patch # User wycc # Date 1290254688 -28800 # Node ID 380464725e7576ac82eb4d6063864ba08e3f5f3d # Parent 78312b44f48c34b0e0a61aefbfcbf455288a85a1 Add scene demo program diff -r 78312b44f48c -r 380464725e75 nodejs/examples/scene/mainmenu.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nodejs/examples/scene/mainmenu.js Sat Nov 20 20:04:48 2010 +0800 @@ -0,0 +1,60 @@ +// -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*- +// vim: sw=4:ts=8:sts=4 +var svg = require("svg"); +var mbapp = require("mbapp"); +var sys=require("sys"); +var animate=require("animate"); +var fs = require("fs"); +/** + * We will fetch the EPG file from the server and fetch all images required for the main category from it. + * If these files are cached, we will not fetch it again. Otherwise, we will fetch them. The EPG class is + * responsible for the cache management. + */ +function MainMenu(app) +{ + var self = this; + this.n = 1; + this.app = app; + self.init(app); +} +MainMenu.prototype.init=function(app) +{ + var self = this; + app.loadSVG("mbtest.svg"); + + app.addKeyListener(mbapp.KEY_LEFT, function() { self.key_left();}); + app.addKeyListener(mbapp.KEY_RIGHT, function() { self.key_right();}); + app.addKeyListener(mbapp.KEY_UP, function() {self.key_up();}); + app.addKeyListener(mbapp.KEY_DOWN, function() {self.key_down();}); + app.addKeyListener(mbapp.KEY_ENTER, function() {self.key_enter();}); + app.changeScene(this.n); +} + +MainMenu.prototype.key_left=function () +{ + this.n = this.n - 1; + this.app.changeScene(this.n); + sys.puts("scene "+this.n); +} + +MainMenu.prototype.key_right=function() +{ + this.n = this.n + 1; + this.app.changeScene(this.n); + sys.puts("scene "+this.n); +} + +MainMenu.prototype.key_up=function() +{ +} + + +MainMenu.prototype.key_down=function () +{ +} + +MainMenu.prototype.key_enter=function() +{ +} + +exports.MainMenu=MainMenu; diff -r 78312b44f48c -r 380464725e75 nodejs/examples/scene/mbtest.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nodejs/examples/scene/mbtest.svg Sat Nov 20 20:04:48 2010 +0800 @@ -0,0 +1,374 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + Action + + + + Select + + + + + + + + + + + + diff -r 78312b44f48c -r 380464725e75 nodejs/examples/scene/scene.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nodejs/examples/scene/scene.js Sat Nov 20 20:04:48 2010 +0800 @@ -0,0 +1,11 @@ +// -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*- +// vim: sw=4:ts=8:sts=4 +var svg = require("svg"); +var mbapp = require("mbapp"); +var sys=require("sys"); +var animate=require("animate"); +var fs = require("fs"); +var main=require("./mainmenu"); +app = new mbapp.app(":0.0",800,600); +scene=new main.MainMenu(app); +app.loop();