Articles from 1月 2012



TitaniumのWebViewでProcessing.jsを使ってみる。

タイトルの通りTitaniumのWebView内でprocessing.jsを動かしてみました。
Titanium側からevalJSを使ってprocessingのloopを操作 しています。
それだけですが、思ってたより全然簡単で驚きました。簡単なリズムゲームとか作ったら楽しそう。
webViewでやった方が簡単だから…的記事時々見かけるのなんでかなんとなくわかった気がする。

processingに慣れてないなら普通にjavascriptでやった方がいい気もします。僕は慣れてない方の人です。おいおい!って。

雑なコードは以下。

app.js

Ti.UI.setBackgroundColor('#000');
var tt = {}
tt.ui = {};
tt.ui.createProcessingView = function() {
	var win = Ti.UI.createWindow();
	var web = Ti.UI.createWebView({top:0,right:0,bottom:0,left:0});
	web.url = '/src/processing.html';
	win.add(web);

	var controller = Ti.UI.createView({
		bottom: 0,
		width: Ti.Platform.displayCaps.platformWidth,
		height: 50,
		layout: "horizontal"
	});
	var labelSetting = {
		width: controller.width/2,
		textAlign: "center",
		backgroundColor: "#FFF",
		font: {fontSize:16, fontWeight:'bold', fontFamily:'Helvetica'},
		height: controller.height,
		text: "start"
	};
	var startLabel = Ti.UI.createLabel(labelSetting);
	startLabel.text = "start";
	controller.add(startLabel);
	var stopLabel = Ti.UI.createLabel(labelSetting);
	stopLabel.text = "stop";
	controller.add(stopLabel);
	win.add(controller);

	startLabel.addEventListener("click", function() {
		web.evalJS("startSketch()");
	});
	stopLabel.addEventListener("click", function() {
		web.evalJS("stopSketch()");
	});

	return win;
}

var wwin = tt.ui.createProcessingView();
wwin.open();

processing.html

<!DOCTYPE html>
<html>
<head>
	<title>Hello Web</title>
 	<script src="processing-1.3.6.min.js"></script>
 	<style>
 		* { margin:0; padding:0; }
		html, body { width:100%; height:100%; }
		canvas { display:block; }
 	</style>
</head>
<body>
<canvas id="sketch"></canvas>
<script type="application/javascript">
	function sketchProc(processing) {
		var Ps = processing;
		var width = window.innerWidth;
		var height = window.innerHeight;
		Ps.setup = function(){
			Ps.size(width, height);
			Ps.smooth();
		};
		Ps.draw = function() {
			Ps.background(100);
			Ps.fill(200);
			Ps.noStroke();
			for(var i=0; i<100; i++){
				var c = Ps.random(10, 15);
				Ps.ellipse(Ps.random(width), Ps.random(height), c, c);
			}
		};
	}

	var canvas = document.getElementById("sketch");
	var processingInstance = new Processing(canvas, sketchProc);

	function startSketch() {
		processingInstance.loop();
	}

	function stopSketch() {
		processingInstance.noLoop();
	}
</script>
</body>
</html>

目が悪くなりそうなcanvasなのはお許しをば。
テキトーに書き換えて実行しましょ。 

わらったない

ネットで見かける「笑った」って、笑ってないですよね。

「ワロタ」とか「www」とかネット上の笑いの表現は東京オリンピックあたりから存在してたみたいに浸透しちゃってるけど、これらって別に「私はパソコンの前で笑ってますよ」ってことを伝えようとしているわけじゃないですよね?

衆人環視の中、しかめっ面で「笑った」っていう6バイトの情報をネットの海に吐き捨ててる人なんてザラにいると思うし、むしろ笑えない状況だからこそ、笑いたい欲求を「笑った」っていう文字情報にして発散してるって場合もありますよね。そこで「面白い」と書かずに「笑った」って書く。強引かもだけど、それはきっと「笑いたい」だったりするんじゃない、って。

まぁ、もちろん実際笑ってるから「笑った」って書いてる人もいるだろうし、もしかしたら僕以外の人間はみなそうで、笑ってないのに「笑った」とか書いてるひねくれ者は僕だけかもしれないね。実際わかんない。個室トイレの中で皆逆立ちしてるの知らないのあなただけかもしれない。

話それちゃったけど、「笑った」に限らずネット上の文字って変なエネルギーありますよね。
キーボード、タッチパネルを通してエネルギーを込めるのですよ。「よろしくお願いします!」って。

 こういうのって全世界共通?平安時代から?
少なくとも日本人なら「マジワロス」の音の響きには何か惹かれるものがある気がするね。

超欲張りじゃん

超欲張りじゃんと思って、迷わず手に取りました。@LAWSON
残念ながらダイスキです。こういうの。
 
 でもこのロゴなんて読むんだろ。Cは読むの?デザイン?
とかどーでもいいこと気になっちゃって調べたら「ビタミンレモン乳酸菌飲料」 が正式名称でした。
潔いね。男前だね。
「ピルクル-ビタミンレモン味-」って名前の方が売れそうじゃんとかちょっと思ったけど。

話題のステマじゃないですよ。
お金じゃなくて、お金払ってビタミンCもらって書いてます。

safariでWebGLを有効にするのはまだ面倒。2012/01

面倒っていうほどじゃないんだけど。

processing.jsで3dを描く、ちょっとだけ。 | 脱兎.dat

先日、WebGL使った記事書いてみたんだけど、対応してないブラウザに配慮が足りてなかった。

そもそもcanvasタグに対応してないブラウザのためにcanvasタグを飾ってメッセージを入れてあげなきゃなんない。
以下の記事が参考になる。

HTML5 Canvas & Processing JS
http://joeycadle.com/blog/article/1/2012/22/01/html5-canvas-and-processing-js#comments 

Chromeに誘導しちゃうのね。

それでもなんなのこの記事わけわかんない!って言われたから
うちのSafari見てみたらcanvasタグが空き地になってた。
canvasタグには対応しているけどWebGLが有効になってないの原因?

safariでWebGLを有効にする方法。(2012/01現在)

1.メニュー「環境設定 > 詳細」より「メニューバーに”開発”メニューを表示」をオンに。
2.メニュー「開発」より「WebGLを有効にする」をオンに。

以上。
いちいち、有効にしてくださいね。ってcanvas外に書くのもcoolじゃないし
設定取得する方法とかないのかな。ま、早めにデフォルト有効になることを願ってます。

必然とブログが書きたくなる1つの方法

「深夜に残念なタイトルの記事をポストする」

たったこれだけです。
あなたは次の日の日中気になって仕方なくなります。

「ああ、こうしている間もマスタベーションなんて言葉がブログのトップにでかでかと居座ってる。早く次の投稿しないと!」

自らを追い込むアスリートのようなストイックさが時として必要になります。
以上、皆様が戦略的なブログライフを送れることを願っております。

P.S. 深夜のラブレターにはくれぐれもお気をつけを。