ペン変更シールを作った。
すでに、ペン色とペン幅を数値入力で自由に変更できるシールを作られている方がいる。
それを使ってもいいのだが、「固定色、固定幅でいい!」って場合もあるので、enchantMOONのプログラミングの勉強がてら作った。
(シール作成(その1)で書いてたもの)
以下、”?”となっているところは、本当は出来るかもしれないことです。
このシールを作るにあたって悩んだのは、変更内容を選ぶメニュー(MOONBlockでのパペット)の表示位置。
MOONBlockでの設定では、置いたシールからの相対位置しか(?)設定できない。
最初、シールの右側に表示するようにしていたが、それだとシールを右の方に置いた時に、メニューを押せない。
シール位置を取得して、そこからどこに出すか計算すればいい。
ところがMOONBlockでは、シールの表示位置取得することはできない(?)ので、hack.jsを独自に書き換えなくてはならない。
ここまできて、位置計算をするのも面倒になった。
「画面右上に表示」固定でいいじゃないか…と。
ということで、シールをタップすると画面右上に以下のようにメニューが出て、それをタップするとペンの色や幅が変わります。
で、まぁ、できたのは下のようなコードが幾つか書いてあるだけです。
特に不都合がないので、このままにしてます。
ダウンロードはこちら
pen.moon.zip
StickerPuppet.create("シール", {
behavior: [{
stickertap: function(event) {
var Constructor = enchant.puppet.Actor.constructors["しろ"];
if (Constructor) {
var x = 10;
var y = 15;
var puppet = new Constructor(x, y);
puppet.addBehavior();
}
・・・
}]
});
SignBoard.create("しろ", {
w: 17,
h: 20,
t: "白",
f: "16px monospace",
color: "#ffffff",
behavior: [{
touchend: function(event) {
MOON.setPenColor(255, 255, 255, 255);
enchant.puppet.stopTheatre();
}
}]
});
・・・
すでに、ペン色とペン幅を数値入力で自由に変更できるシールを作られている方がいる。
それを使ってもいいのだが、「固定色、固定幅でいい!」って場合もあるので、enchantMOONのプログラミングの勉強がてら作った。
(シール作成(その1)で書いてたもの)
以下、”?”となっているところは、本当は出来るかもしれないことです。
このシールを作るにあたって悩んだのは、変更内容を選ぶメニュー(MOONBlockでのパペット)の表示位置。
MOONBlockでの設定では、置いたシールからの相対位置しか(?)設定できない。
最初、シールの右側に表示するようにしていたが、それだとシールを右の方に置いた時に、メニューを押せない。
シール位置を取得して、そこからどこに出すか計算すればいい。
ところがMOONBlockでは、シールの表示位置取得することはできない(?)ので、hack.jsを独自に書き換えなくてはならない。
ここまできて、位置計算をするのも面倒になった。
「画面右上に表示」固定でいいじゃないか…と。
ということで、シールをタップすると画面右上に以下のようにメニューが出て、それをタップするとペンの色や幅が変わります。
で、まぁ、できたのは下のようなコードが幾つか書いてあるだけです。
特に不都合がないので、このままにしてます。
ダウンロードはこちら
pen.moon.zip
StickerPuppet.create("シール", {
behavior: [{
stickertap: function(event) {
var Constructor = enchant.puppet.Actor.constructors["しろ"];
if (Constructor) {
var x = 10;
var y = 15;
var puppet = new Constructor(x, y);
puppet.addBehavior();
}
・・・
}]
});
SignBoard.create("しろ", {
w: 17,
h: 20,
t: "白",
f: "16px monospace",
color: "#ffffff",
behavior: [{
touchend: function(event) {
MOON.setPenColor(255, 255, 255, 255);
enchant.puppet.stopTheatre();
}
}]
});
・・・