diff --git a/public/assets/cats/bengal/cook.png b/public/assets/cats/bengal/cook.png index 85d3c33..57c3ad0 100644 Binary files a/public/assets/cats/bengal/cook.png and b/public/assets/cats/bengal/cook.png differ diff --git a/public/assets/cats/bengal/idle.png b/public/assets/cats/bengal/idle.png index cc6f3db..3e2f862 100644 Binary files a/public/assets/cats/bengal/idle.png and b/public/assets/cats/bengal/idle.png differ diff --git a/public/assets/cats/bengal/sleep.png b/public/assets/cats/bengal/sleep.png index ca543b1..3256a49 100644 Binary files a/public/assets/cats/bengal/sleep.png and b/public/assets/cats/bengal/sleep.png differ diff --git a/public/assets/cats/bengal/walk1.png b/public/assets/cats/bengal/walk1.png index b377beb..5c8c89d 100644 Binary files a/public/assets/cats/bengal/walk1.png and b/public/assets/cats/bengal/walk1.png differ diff --git a/public/assets/cats/bengal/walk2.png b/public/assets/cats/bengal/walk2.png index 535e2ed..05f9f58 100644 Binary files a/public/assets/cats/bengal/walk2.png and b/public/assets/cats/bengal/walk2.png differ diff --git a/public/assets/cats/bengal/work.png b/public/assets/cats/bengal/work.png index 32d3f7b..dc7f9e4 100644 Binary files a/public/assets/cats/bengal/work.png and b/public/assets/cats/bengal/work.png differ diff --git a/public/assets/cats/korean_shorthair/cook.png b/public/assets/cats/korean_shorthair/cook.png index 297a299..1ba2fbb 100644 Binary files a/public/assets/cats/korean_shorthair/cook.png and b/public/assets/cats/korean_shorthair/cook.png differ diff --git a/public/assets/cats/korean_shorthair/idle.png b/public/assets/cats/korean_shorthair/idle.png index 1639a3c..b0b9fc7 100644 Binary files a/public/assets/cats/korean_shorthair/idle.png and b/public/assets/cats/korean_shorthair/idle.png differ diff --git a/public/assets/cats/korean_shorthair/sleep.png b/public/assets/cats/korean_shorthair/sleep.png index 093c804..cb17adf 100644 Binary files a/public/assets/cats/korean_shorthair/sleep.png and b/public/assets/cats/korean_shorthair/sleep.png differ diff --git a/public/assets/cats/korean_shorthair/walk1.png b/public/assets/cats/korean_shorthair/walk1.png index ef4e67c..4d4d10a 100644 Binary files a/public/assets/cats/korean_shorthair/walk1.png and b/public/assets/cats/korean_shorthair/walk1.png differ diff --git a/public/assets/cats/korean_shorthair/walk2.png b/public/assets/cats/korean_shorthair/walk2.png index d00c8d1..a9ebf87 100644 Binary files a/public/assets/cats/korean_shorthair/walk2.png and b/public/assets/cats/korean_shorthair/walk2.png differ diff --git a/public/assets/cats/korean_shorthair/work.png b/public/assets/cats/korean_shorthair/work.png index e6dc371..edb7058 100644 Binary files a/public/assets/cats/korean_shorthair/work.png and b/public/assets/cats/korean_shorthair/work.png differ diff --git a/public/assets/cats/maine_coon/cook.png b/public/assets/cats/maine_coon/cook.png index bcfa593..340658b 100644 Binary files a/public/assets/cats/maine_coon/cook.png and b/public/assets/cats/maine_coon/cook.png differ diff --git a/public/assets/cats/maine_coon/idle.png b/public/assets/cats/maine_coon/idle.png index 1b79647..71d237a 100644 Binary files a/public/assets/cats/maine_coon/idle.png and b/public/assets/cats/maine_coon/idle.png differ diff --git a/public/assets/cats/maine_coon/sleep.png b/public/assets/cats/maine_coon/sleep.png index c34d553..068ec15 100644 Binary files a/public/assets/cats/maine_coon/sleep.png and b/public/assets/cats/maine_coon/sleep.png differ diff --git a/public/assets/cats/maine_coon/walk1.png b/public/assets/cats/maine_coon/walk1.png index 66fdfa8..887f52e 100644 Binary files a/public/assets/cats/maine_coon/walk1.png and b/public/assets/cats/maine_coon/walk1.png differ diff --git a/public/assets/cats/maine_coon/walk2.png b/public/assets/cats/maine_coon/walk2.png index e129bb4..ebd8f34 100644 Binary files a/public/assets/cats/maine_coon/walk2.png and b/public/assets/cats/maine_coon/walk2.png differ diff --git a/public/assets/cats/maine_coon/work.png b/public/assets/cats/maine_coon/work.png index 867d70c..e257d91 100644 Binary files a/public/assets/cats/maine_coon/work.png and b/public/assets/cats/maine_coon/work.png differ diff --git a/public/assets/cats/munchkin/cook.png b/public/assets/cats/munchkin/cook.png index 2366dca..b3b0c90 100644 Binary files a/public/assets/cats/munchkin/cook.png and b/public/assets/cats/munchkin/cook.png differ diff --git a/public/assets/cats/munchkin/idle.png b/public/assets/cats/munchkin/idle.png index 4e70f37..0116b88 100644 Binary files a/public/assets/cats/munchkin/idle.png and b/public/assets/cats/munchkin/idle.png differ diff --git a/public/assets/cats/munchkin/sleep.png b/public/assets/cats/munchkin/sleep.png index d2c8b2a..1c85a3d 100644 Binary files a/public/assets/cats/munchkin/sleep.png and b/public/assets/cats/munchkin/sleep.png differ diff --git a/public/assets/cats/munchkin/walk1.png b/public/assets/cats/munchkin/walk1.png index 7dbf4d8..b4b609f 100644 Binary files a/public/assets/cats/munchkin/walk1.png and b/public/assets/cats/munchkin/walk1.png differ diff --git a/public/assets/cats/munchkin/walk2.png b/public/assets/cats/munchkin/walk2.png index 79a43a5..c44cb45 100644 Binary files a/public/assets/cats/munchkin/walk2.png and b/public/assets/cats/munchkin/walk2.png differ diff --git a/public/assets/cats/munchkin/work.png b/public/assets/cats/munchkin/work.png index d4e717e..76fede1 100644 Binary files a/public/assets/cats/munchkin/work.png and b/public/assets/cats/munchkin/work.png differ diff --git a/public/assets/cats/norwegian_forest/cook.png b/public/assets/cats/norwegian_forest/cook.png index 39bb50f..02c2f68 100644 Binary files a/public/assets/cats/norwegian_forest/cook.png and b/public/assets/cats/norwegian_forest/cook.png differ diff --git a/public/assets/cats/norwegian_forest/idle.png b/public/assets/cats/norwegian_forest/idle.png index 8f7a829..a597c82 100644 Binary files a/public/assets/cats/norwegian_forest/idle.png and b/public/assets/cats/norwegian_forest/idle.png differ diff --git a/public/assets/cats/norwegian_forest/sleep.png b/public/assets/cats/norwegian_forest/sleep.png index 80e7106..820d557 100644 Binary files a/public/assets/cats/norwegian_forest/sleep.png and b/public/assets/cats/norwegian_forest/sleep.png differ diff --git a/public/assets/cats/norwegian_forest/walk1.png b/public/assets/cats/norwegian_forest/walk1.png index 1ca0c36..c30dc58 100644 Binary files a/public/assets/cats/norwegian_forest/walk1.png and b/public/assets/cats/norwegian_forest/walk1.png differ diff --git a/public/assets/cats/norwegian_forest/walk2.png b/public/assets/cats/norwegian_forest/walk2.png index 4684848..6e22d40 100644 Binary files a/public/assets/cats/norwegian_forest/walk2.png and b/public/assets/cats/norwegian_forest/walk2.png differ diff --git a/public/assets/cats/norwegian_forest/work.png b/public/assets/cats/norwegian_forest/work.png index e6c058c..44aacdb 100644 Binary files a/public/assets/cats/norwegian_forest/work.png and b/public/assets/cats/norwegian_forest/work.png differ diff --git a/public/assets/cats/persian/cook.png b/public/assets/cats/persian/cook.png index 87fccef..ecff726 100644 Binary files a/public/assets/cats/persian/cook.png and b/public/assets/cats/persian/cook.png differ diff --git a/public/assets/cats/persian/idle.png b/public/assets/cats/persian/idle.png index eddd312..c365843 100644 Binary files a/public/assets/cats/persian/idle.png and b/public/assets/cats/persian/idle.png differ diff --git a/public/assets/cats/persian/sleep.png b/public/assets/cats/persian/sleep.png index a32c756..9326859 100644 Binary files a/public/assets/cats/persian/sleep.png and b/public/assets/cats/persian/sleep.png differ diff --git a/public/assets/cats/persian/walk1.png b/public/assets/cats/persian/walk1.png index edb2d39..4bfef8e 100644 Binary files a/public/assets/cats/persian/walk1.png and b/public/assets/cats/persian/walk1.png differ diff --git a/public/assets/cats/persian/walk2.png b/public/assets/cats/persian/walk2.png index c6d9b3e..ad1027d 100644 Binary files a/public/assets/cats/persian/walk2.png and b/public/assets/cats/persian/walk2.png differ diff --git a/public/assets/cats/persian/work.png b/public/assets/cats/persian/work.png index 7cca1a6..42ccae6 100644 Binary files a/public/assets/cats/persian/work.png and b/public/assets/cats/persian/work.png differ diff --git a/public/assets/cats/russian_blue/cook.png b/public/assets/cats/russian_blue/cook.png index 2252c6e..9e84f41 100644 Binary files a/public/assets/cats/russian_blue/cook.png and b/public/assets/cats/russian_blue/cook.png differ diff --git a/public/assets/cats/russian_blue/idle.png b/public/assets/cats/russian_blue/idle.png index 0f0cea7..9468e39 100644 Binary files a/public/assets/cats/russian_blue/idle.png and b/public/assets/cats/russian_blue/idle.png differ diff --git a/public/assets/cats/russian_blue/sleep.png b/public/assets/cats/russian_blue/sleep.png index 094a8a2..5ca283d 100644 Binary files a/public/assets/cats/russian_blue/sleep.png and b/public/assets/cats/russian_blue/sleep.png differ diff --git a/public/assets/cats/russian_blue/walk1.png b/public/assets/cats/russian_blue/walk1.png index cdd493d..4c4cad7 100644 Binary files a/public/assets/cats/russian_blue/walk1.png and b/public/assets/cats/russian_blue/walk1.png differ diff --git a/public/assets/cats/russian_blue/walk2.png b/public/assets/cats/russian_blue/walk2.png index a3d05c0..30392c8 100644 Binary files a/public/assets/cats/russian_blue/walk2.png and b/public/assets/cats/russian_blue/walk2.png differ diff --git a/public/assets/cats/russian_blue/work.png b/public/assets/cats/russian_blue/work.png index 40e4a24..1d39bf8 100644 Binary files a/public/assets/cats/russian_blue/work.png and b/public/assets/cats/russian_blue/work.png differ diff --git a/public/assets/cats/sphynx/cook.png b/public/assets/cats/sphynx/cook.png index a821044..8e25638 100644 Binary files a/public/assets/cats/sphynx/cook.png and b/public/assets/cats/sphynx/cook.png differ diff --git a/public/assets/cats/sphynx/idle.png b/public/assets/cats/sphynx/idle.png index 74aaf6d..6a266e1 100644 Binary files a/public/assets/cats/sphynx/idle.png and b/public/assets/cats/sphynx/idle.png differ diff --git a/public/assets/cats/sphynx/sleep.png b/public/assets/cats/sphynx/sleep.png index 17dd0dc..0f0b2cc 100644 Binary files a/public/assets/cats/sphynx/sleep.png and b/public/assets/cats/sphynx/sleep.png differ diff --git a/public/assets/cats/sphynx/walk1.png b/public/assets/cats/sphynx/walk1.png index 13f6d15..ea7b4e5 100644 Binary files a/public/assets/cats/sphynx/walk1.png and b/public/assets/cats/sphynx/walk1.png differ diff --git a/public/assets/cats/sphynx/walk2.png b/public/assets/cats/sphynx/walk2.png index 937f1e3..1d1d3c8 100644 Binary files a/public/assets/cats/sphynx/walk2.png and b/public/assets/cats/sphynx/walk2.png differ diff --git a/public/assets/cats/sphynx/work.png b/public/assets/cats/sphynx/work.png index ecaf284..a50ab11 100644 Binary files a/public/assets/cats/sphynx/work.png and b/public/assets/cats/sphynx/work.png differ diff --git a/src/components/game/VillageView.tsx b/src/components/game/VillageView.tsx index e8226cf..982ed76 100644 --- a/src/components/game/VillageView.tsx +++ b/src/components/game/VillageView.tsx @@ -529,8 +529,7 @@ export default function VillageView({ y: anim.y, draw: () => { shadow(anim.x, anim.y + 2, 11); - // 걷기는 프레임 교대 대신 한 프레임 + 총총 바운스 + 미세 기울임 - // (두 걷기 프레임의 몸통 각도가 달라 교대 시 도리도리처럼 보이는 문제 회피) + // 걷기: 측면 보폭 교대 2프레임 (재생성 시트는 몸통이 고정되어 교대 가능) const atKitchen = working && state.buildings.find((b) => b.id === cat.assignedTo)?.type === "kitchen"; @@ -539,7 +538,9 @@ export default function VillageView({ ? "cook" : "work" : moving - ? "walk1" + ? Math.floor(now / 200) % 2 === 0 + ? "walk1" + : "walk2" : "idle"; // 품종 스프라이트 → (cook 없으면 work) → 기본 스프라이트 순 폴백 let sprite = getImage(catSprite(cat.breed, frameName)); @@ -552,10 +553,8 @@ export default function VillageView({ if (sprite) { const sh = 42; const sw = (sprite.width / sprite.height) * sh; - const tilt = moving ? Math.sin(now / 150) * 0.06 : 0; ctx.save(); ctx.translate(anim.x, anim.y + bob); - ctx.rotate(tilt); if (anim.flip) ctx.scale(-1, 1); ctx.drawImage(sprite, -sw / 2, -sh + 4, sw, sh); ctx.restore();