fix(drop-and-fusion): バブルゲームのリトライボタンでリトライができない問題を修正 (MisskeyIO#350)
This commit is contained in:
commit
38469c2b87
|
@ -153,7 +153,8 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
</div>
|
||||
<div :class="$style.frame">
|
||||
<div :class="$style.frameInner">
|
||||
<MkButton danger @click="surrender">Retry</MkButton>
|
||||
<MkButton v-if="!isGameOver && !replaying" full danger @click="surrender">Surrender</MkButton>
|
||||
<MkButton v-else full @click="retry">Retry</MkButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -483,15 +484,22 @@ async function surrender() {
|
|||
game.surrender();
|
||||
}
|
||||
|
||||
async function retry() {
|
||||
end();
|
||||
await start();
|
||||
}
|
||||
|
||||
function end() {
|
||||
game.dispose();
|
||||
isGameOver.value = false;
|
||||
replaying.value = false;
|
||||
currentPick.value = null;
|
||||
dropReady.value = true;
|
||||
stock.value = [];
|
||||
score.value = 0;
|
||||
combo.value = 0;
|
||||
comboPrev.value = 0;
|
||||
maxCombo.value = 0;
|
||||
bgmNodes?.soundSource.stop();
|
||||
gameStarted.value = false;
|
||||
}
|
||||
|
|
|
@ -500,12 +500,13 @@ export class DropAndFusionGame extends EventEmitter<{
|
|||
});
|
||||
this.emit('changeStock', this.stock);
|
||||
|
||||
const x = Math.min(this.gameWidth - this.PLAYAREA_MARGIN - (head.mono.size / 2), Math.max(this.PLAYAREA_MARGIN + (head.mono.size / 2), Math.round(_x)));
|
||||
const inputX = Math.round(_x);
|
||||
const x = Math.min(this.gameWidth - this.PLAYAREA_MARGIN - (head.mono.size / 2), Math.max(this.PLAYAREA_MARGIN + (head.mono.size / 2), inputX));
|
||||
const body = this.createBody(head.mono, x, 50 + head.mono.size / 2);
|
||||
this.logs.push({
|
||||
frame: this.frame,
|
||||
operation: 'drop',
|
||||
x,
|
||||
x: inputX,
|
||||
});
|
||||
Matter.Composite.add(this.engine.world, body);
|
||||
this.activeBodyIds.push(body.id);
|
||||
|
|
Loading…
Reference in a new issue