確認お願いします
https://www.youtube.com/watch?v=mUAjC4Grdu8
// 初期化処理(プロパティの初期化・スプライトの作成等を行う)
HzInputCommand.prototype.initialize = function(x, y, command, align, mode, switchNo) {
this._mode = mode; // モード。 1:ミスを許す 2:ミスを許さない
this._switchNo = switchNo; // 結果を返すスイッチの番号
this._sprites = []; // コマンド表示用スプライト
this._command = command; // コマンドの内容
this._cursorIdx = 0; // コマンドの入力位置
this._penalty = 0; // コマンド入力ミス時のペナルティ
var space = 80;
if(align === "center") {
x-= command.length * space / 2;
} else if(align === "right") {
x-= command.length * space;
}
x += space / 2;
for(var i=0;i<command.length;i++) {
var c = command.charAt(i);
var sprite;
switch(c) {
case '2':
sprite = createCursorSprite(2, x + space * i, y);
sprite.successBitmap = ImageManager.loadBitmap('img/system/', 'CursorDown2');
break;
case '4':
sprite = createCursorSprite(4, x + space * i, y);
sprite.successBitmap = ImageManager.loadBitmap('img/system/', 'CursorLeft2');
break;
case '6':
sprite = createCursorSprite(6, x + space * i, y);
sprite.successBitmap = ImageManager.loadBitmap('img/system/', 'CursorRight2');
break;
case '8':
sprite = createCursorSprite(8, x + space * i, y);
sprite.successBitmap = ImageManager.loadBitmap('img/system/', 'CursorUp2');
break;
case 'z':
sprite = this.createButtonSprite('z', x + space * i, y);
sprite.successBitmap = ImageManager.loadBitmap('img/system/', 'ButtonZ2');
break;
case 'x':
sprite = this.createButtonSprite('x', x + space * i, y);
sprite.successBitmap = ImageManager.loadBitmap('img/system/', 'ButtonX2');
break;
case 'c':
sprite = this.createButtonSprite('c', x + space * i, y);
sprite.successBitmap = ImageManager.loadBitmap('img/system/', 'ButtonC2');
break;
}
this._sprites.push(sprite);
}
this._sprites.forEach(function(elm) {
SceneManager._scene._spriteset.addChild(elm);
});
};
// 入力チェック
HzInputCommand.prototype.checkInput = function() {
if(Input.isTriggered ('down')) {
if(this._command.charAt(this._cursorIdx) === '2') {
return 1;
} else {
return 2;
}
} else if(Input.isTriggered ('left')) {
if(this._command.charAt(this._cursorIdx) === '4') {
return 1;
} else {
return 2;
}
} else if(Input.isTriggered ('right')) {
if(this._command.charAt(this._cursorIdx) === '6') {
return 1;
} else {
return 2;
}
} else if(Input.isTriggered ('up')) {
if(this._command.charAt(this._cursorIdx) === '8') {
return 1;
} else {
return 2;
}
} else if(Input.isTriggered ('ok')) {
if(this._command.charAt(this._cursorIdx) === 'z') {
return 1;
} else {
return 2;
}
} else if(Input.isTriggered ('cancel')) {
if(this._command.charAt(this._cursorIdx) === 'x') {
return 1;
} else {
return 2;
}
}
return 0;
};
// 更新処理(終了時はfalseを返す)
HzInputCommand.prototype.update = function() {
// タイマーによる時間制限
if ($gameTimer.isWorking() && $gameTimer._frames === 0) {
// 終了(失敗)
$gameSwitches.setValue(this._switchNo, false);
return false;
}
// ミス時のペナルティ処理
if(this._penalty > 0) {
this._penalty --;
return true;
}
// 入力チェック
var result = this.checkInput();
if(result === 1) {
// 成功
console.log("Input successful!"); // この行を追加
var sprite = this._sprites[this._cursorIdx];
if (sprite && sprite.successBitmap) {
sprite.bitmap = sprite.successBitmap;
sprite.setFrame(0, 0, sprite.successBitmap.width, sprite.successBitmap.height);
}
// SceneManager._scene._spriteset.removeChild(this._sprites[this._cursorIdx]);
if(successSe) {
AudioManager.playSe({name:successSe, volume:90, pitch:100, pan:0});
}
this._cursorIdx ++;
if(this._cursorIdx >= this._command.length) {
// 終了(成功)
$gameSwitches.setValue(this._switchNo, true);
return false;
}
if(sprite.successBitmap.isReady()) {
console.log("Success Bitmap is loaded correctly!");
} else {
console.log("Waiting for Success Bitmap to load...");
}
} else if(result === 2) {
// 失敗
this._penalty = penaltyFrame; // nフレーム入力不可
if(this._mode === 2) {
// 終了(失敗)
$gameSwitches.setValue(this._switchNo, false);
return false;
} else if(missSe) {
// 失敗時SE再生
AudioManager.playSe({name:missSe, volume:90, pitch:100, pan:0});
}
}
return true;
};
// 終了処理
HzInputCommand.prototype.terminate = function() {
this._sprites.forEach(function(sprite) {
SceneManager._scene._spriteset.removeChild(sprite);
});
this._sprites = null;
};