fix flag: go through instead of collision

This commit is contained in:
nadiarvi 2025-05-10 16:39:19 +09:00
parent d7a220d139
commit f54f449b89
2 changed files with 17 additions and 10 deletions

View File

@ -24,7 +24,7 @@ export class Flag {
this.y - this.size * 0.8,
this.size,
this.size,
"dynamic"
"none"
);
this.sprite.layer = -1;
this.sprite.spriteSheet = img;

View File

@ -175,19 +175,26 @@ export default function Level3() {
_checkKeyObtained(cat, key, keys, flag);
if (key && !key.obtained) key.draw();
if (cat.sprite && flag.sprite) {
if (key && key.getObtain()) {
flag.setColliderMode('none');
// if (cat.sprite && flag.sprite) {
// if (key && key.getObtain()) {
// flag.setColliderMode('none');
if (cat.sprite.overlaps(flag.sprite)) {
// if (cat.sprite.overlaps(flag.sprite)) {
// levelFinished = true;
// };
// } else {
// flag.setColliderMode('static');
// }
// };
if (cat.sprite && flag.sprite) {
// Only finish if key is obtained
if (cat.sprite.overlaps(flag.sprite) && key && key.obtained) {
levelFinished = true;
};
} else {
flag.setColliderMode('static');
}
};
if (levelFinished) _finishGame(nextButton);
if (levelFinished) _drawFinishGame(nextButton);
};
this.onResize = () => {
@ -325,7 +332,7 @@ function _checkKeyObtained(cat, key, keys, flag) {
}
}
function _finishGame(nextButton){
function _drawFinishGame(nextButton){
push();
fill(35, 20, 45, 190);
rectMode(CORNER);