入力候補文字を強調させる
update: function () {
var mojiKouho = 'abcdefghijklnmopqrstuvwsyz';
var mondaiMoji = mojiKouho.charAt(Random.randint(0, mojiKouho.length - 1));
if (Math.randbool(4)) {
var mojiLabel = Label({
text: mondaiMoji,
fill: 'black',
fontSize: 30,
}).addChildTo(this)
.setPosition(-50, Random.randint(100, this.height - 100));
var self = this;
mojiLabel.tweener
.to({ x: this.width + 50 }, 6500)
.call(function () {
mojiLabel.remove();
var index = self.mojiList.indexOf(mojiLabel);
if (index >= 0) {
self.mojiList.splice(index, 1);
}
self.changeTargetMoji();
});
this.mojiList.push(mojiLabel);
if (this.mojiList.length === 1) {
this.changeTargetMoji();
}
}
},
changeTargetMoji: function () {
var mojiLabel = this.mojiList[0];
if (mojiLabel == null) {
return;
}
mojiLabel.fill = 'lightseagreen';
mojiLabel.fontWeight = 'bold';
mojiLabel.fontSize = '40';
},
removeMoji: function (mojiLabel, effect, effectTime) {
var effectLabel = Label(effect)
.addChildTo(this)
.setPosition(mojiLabel.x, mojiLabel.y);
effectLabel.tweener
.wait(effectTime)
.call(function () {
effectLabel.remove();
});
mojiLabel.remove();
this.mojiList.shift();
this.changeTargetMoji();
}
▷入力候補文字を強調させる関数を追加
changeTargetMoji: function () {
var mojiLabel = this.mojiList[0];
if (mojiLabel == null) {
return;
}
mojiLabel.fill = 'lightseagreen';
mojiLabel.fontWeight = 'bold';
mojiLabel.fontSize = '40';
},
配列の1番最初の文字が空であれば何もしない
どう強調させるかを追加
▷入力候補文字をどのタイミングで強調させるか
mojiLabel.tweener
.to({ x: this.width + 50 }, 6500)
.call(function () {
mojiLabel.remove();
var index = self.mojiList.indexOf(mojiLabel);
if (index >= 0) {
self.mojiList.splice(index, 1);
}
self.changeTargetMoji(); //①
});
this.mojiList.push(mojiLabel);
if (this.mojiList.length === 1) {
this.changeTargetMoji(); //②
}
①入力候補文字がゲーム画面から出た後、次の候補へ変わるタイミング
②文字が1つもない状態から新しく文字が作られたタイミング
removeMoji: function (mojiLabel, effect, effectTime) {
var effectLabel = Label(effect)
.addChildTo(this)
.setPosition(mojiLabel.x, mojiLabel.y);
effectLabel.tweener
.wait(effectTime)
.call(function () {
effectLabel.remove();
});
mojiLabel.remove();
this.mojiList.shift();
this.changeTargetMoji(); //③
}
③文字入力をして入力候補文字が消えた後