view nodejs/testdesktop.js @ 892:23dffb564ace

Implemnet new animation framework as the WIKI.
author wycc
date Mon, 27 Sep 2010 22:37:37 +0800
parents d1c98eb474e1
children cad38ddb1253
line wrap: on
line source

// 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");

app = new mbapp.app();
app.loadSVG("desktop.svg");

video = app.get("video");
//var an = new animate.alpha(app,video,0,1);
//an.start();
audio = app.get("audio");
picture = app.get("picture");
setting = app.get("setting");

lightbar = app.get("lightbar");
lines=[app.get("line1"),app.get("line2"),app.get("line3"), app.get("line4"),app.get("line5")];
line=0;

items=[video,audio,picture,setting];
item = 0;

animate.run([new animate.scale(app,items[item],1,1.5)],0,0.1);
app.refresh();

app.addKeyListener(mbapp.KEY_LEFT, function() {
	var old = items[item];
	item = item - 1;
	if (item == -1) {
		item = 0;
		return;
	}
        var target = items[item];
	animate.run([new animate.scale(app,old,1,1)],0,0.1);
	animate.run([new animate.scale(app,target,1,1.5)],0,0.3);
});

app.addKeyListener(mbapp.KEY_RIGHT, function() {
	var old = items[item];
	item = item + 1;
	if (item == items.length) {
		item = item - 1;
		return;
	}
        var target = items[item];
	animate.run([new animate.scale(app,old,1,1)],0,0.1);
	animate.run([new animate.scale(app,target,1,1.5)],0,0.3);
});

app.addKeyListener(mbapp.KEY_UP, function() {
	var old = lines[line];
	line = line - 1;
	if (line == -1) {
		line = 0;
		return;
	}
        var target = lines[line];
	var sy = target.y-lightbar.y;
	sys.puts(sy);
	animate.run([new animate.shift(app,lightbar,0,sy)],0,0.3);
});
app.addKeyListener(mbapp.KEY_DOWN, function() {
	var old = lines[line];
	line = line + 1;
	if (line == lines.length) {
		line = line - 1; 
		return;
	}
        var target = lines[line];
	var sy = target.y-lightbar.y;
	sys.puts("line="+line);
	sys.puts("sy="+sy);
	sys.puts("target.y="+target.y);
	sys.puts("lightbar.y="+lightbar.y);
	animate.run([new animate.shift(app,lightbar,0,sy)],0,0.3);
});

app.addKeyListener(mbapp.KEY_ENTER, function() {
	var target = items[item];
	var sx = 500-target.x;
	var sy = 220-target.y;
	sys.puts("target "+sx+','+sy);
	animate.run([new animate.shift(app,target,sx,sy)],0,1);
	for(i=0;i<items.length;i++) {
	    if (i == item) continue;
	    var x = Math.random();
	    var y = Math.random();
	    if (x > 0.5) x = 900;
	    else x = -500;
	    if (y > 0.5) y = 900;
	    else y = -500;
	    sx = x-items[i].x;
	    sy = y-items[i].y;
	    animate.run([new animate.shift(app,items[i], sx,sy)],0,2);
	    animate.run([new animate.alpha(app,items[i],0)],0, 1);
	}
});

app.loop();