マTiックス作った


またかよ。はい、またです。
今回はバッファでかく取り過ぎたせいか、実機ではもっさりします。
すっきり動かしたい場合はチューニングが必要ですので気をつけてください。

myApp = {};
myApp.quicktigame2d = require('com.googlecode.quicktigame2d');
Z=[];
S=[];
count=0;
star = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨワヲン";
for(i=1536;i--;)S[i]=parseInt(Math.random()*1000)%star.length;

// create gameview
myApp.gameView = myApp.quicktigame2d.createGameView();
myApp.gameView.timerType = myApp.quicktigame2d.ENGINE_TIMER_DISPLAYLINK;
myApp.gameView.screen = {width:320, height:480};
myApp.gameView.size.width = 320;
myApp.gameView.size.height = 480;
myApp.gameView.fps = 30;
myApp.scene = myApp.quicktigame2d.createScene();
myApp.gameView.pushScene(myApp.scene);
myApp.dispfps = myApp.quicktigame2d.createTextSprite({
	text:'', 
	fontSize:12, 
	fontFamily:'Mosamosa', 
	width:320, 
	height:20, 
	x:10, 
	y:10
});
myApp.dispfps.color(1, 1, 1);
myApp.scene.add(myApp.dispfps);
myApp.vconsole = [];
for(i=0;i<6;i++){ 
	myApp.vconsole[i] = myApp.quicktigame2d.createTextSprite({text:'', fontSize:10, fontFamily:'Mosamosa', width:320, height:480, x:0, y:(i<3)?0:-80});
	myApp.scene.add(myApp.vconsole[i]);
	myApp.vconsole[i].rotateX((i<3)?70:90);
}
myApp.vconsole[0].color(0.8, 1.0, 0.8);
myApp.vconsole[1].color(0.0, 0.5, 0.0);
myApp.vconsole[2].color(0.0, 0.2, 0.0);
myApp.vconsole[3].color(0.8, 1.0, 0.8);
myApp.vconsole[4].color(0.0, 0.5, 0.0);
myApp.vconsole[5].color(0.0, 0.2, 0.0);

myApp.gameView.addEventListener('onload', function (event) {
	myApp.gameView.start();
});
myApp.gameView.addEventListener('enterframe', function(event) {
	myApp.dispfps.text = "マTiックス FPS:" + Math.floor(1000 / event.delta);

	count--;
	lBuf = ['', '', '', '', '', ''];
	for(i=1536;i--;){
		if (count <= 0) {
			if (i>=32) {
				if (Z[i-32]==16)Z[i]=16;
				Z[i-32]--;
			} else {
				Z[i]=(parseInt(Math.random()*1000)%16==0)?16:0;
			}
			if(Z[i]==16)S[i]=parseInt(Math.random()*1000)%star.length;
		}
		lBuf[0]=((Z[i]==16)?star[S[i]]:' ')+lBuf[0];
		lBuf[1]=((Z[i]>=9&&Z[i]<=15)?star[S[i]]:' ')+lBuf[1];
		lBuf[2]=((Z[i]>=1&&Z[i]<=8)?star[S[i]]:' ')+lBuf[2];
		lBuf[3]=((Z[i]==10)?star[S[i]]:' ')+lBuf[3];
		lBuf[4]=((Z[i]>=9&&Z[i]<=15)?star[S[i]]:' ')+lBuf[4];
		lBuf[5]=((Z[i]>=1&&Z[i]<=8)?star[S[i]]:' ')+lBuf[5];
		if(i%32==0)for(j=0;j<6;j++)lBuf[j]="\n"+lBuf[j];
	}
	for (j=0;j<6;j++) myApp.vconsole[j].text = lBuf[j];
	if (count <= 0) count = 2;
});

(function() {
	Ti.UI.setBackgroundColor('#000');
	var win = Ti.UI.createWindow({});
	win.add(myApp.gameView);
	win.open();
})();