[[enchant.js]自分用メモ] [enchant.js]自分用メモ

enchant.jsで袋文字。
ただラベルをずらして作って重ねているからすごく重い。
いい方法知ってる方がいたらご教授願いたいです。

ShadowLabel = function(str) {
	enchant.Group.apply(this, arguments);
	var shadowPos = [[0, 1], [1, 0], [1, 2], [2, 1]];
	this.shadows = new Array();
	for (i = 0; i < 4; i++) {
		var shadowLabel = new Label(str)
		shadowLabel.color = "#000000";
		shadowLabel.moveTo(shadowPos[i][0], shadowPos[i][1]);
		this.addChild(shadowLabel);
		this.shadows.push(shadowLabel);
	}
	this.mainLabel = new Label(str)
	this.mainLabel.color = "#ffffff";
	this.mainLabel.moveTo(1, 1);
	this.addChild(this.mainLabel);
};
ShadowLabel.prototype = new enchant.Group;

ShadowLabel.prototype.__defineGetter__('_boundWidth', function(str) { return this.mainLabel._boundWidth; });
ShadowLabel.prototype.__defineGetter__('_boundHeight', function(str) { return this.mainLabel._boundHeight; });
ShadowLabel.prototype.__defineGetter__('width', function(str) { return this.mainLabel.width; });
ShadowLabel.prototype.__defineGetter__('height', function(str) { return this.mainLabel.height; });
ShadowLabel.prototype.__defineSetter__('color', function(str) { this.mainLabel.color = str; });
ShadowLabel.prototype.__defineSetter__('shadowColor', function(str) {
	for (var i = 0; i < this.shadows.length; i++) this.shadows[i].color = str;
});
ShadowLabel.prototype.__defineSetter__('font', function(str) {
	this.mainLabel.font = str;
	for (var i = 0; i < this.shadows.length; i++) this.shadows[i].font = str;
});
ShadowLabel.prototype.__defineSetter__('width', function(value) { 
	this.mainLabel.width = value;
	for (var i = 0; i < this.shadows.length; i++) this.shadows[i].width = value;
});
ShadowLabel.prototype.__defineSetter__('height', function(value) { 
	this.mainLabel.height = value;
	for (var i = 0; i < this.shadows.length; i++) this.shadows[i].height = value;
});


トラックバック

トラックバックURL: http://infinity-world.jp/mt/mt-tb.cgi/317

公開中のゲーム

オススメ商品