From 16a8435f7b94b98f0f88c6d103fe903b387b7cd5 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Wed, 2 Oct 2024 17:07:43 +0200 Subject: [PATCH] #146 : Set camera on player's position after loading into a zone --- src/components/sprites/Character.vue | 7 ++++++- src/components/zone/Zone.vue | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/sprites/Character.vue b/src/components/sprites/Character.vue index f96e4ff..a5d4157 100644 --- a/src/components/sprites/Character.vue +++ b/src/components/sprites/Character.vue @@ -22,7 +22,7 @@ import { type ExtendedCharacter } from '@/types' import { useGameStore } from '@/stores/gameStore' import { useZoneStore } from '@/stores/zoneStore' import { watch, computed, ref, onMounted, onUnmounted } from 'vue' -import { Container, refObj, RoundRectangle, Sprite, Text, useGame } from 'phavuer' +import { Container, refObj, RoundRectangle, Sprite, Text, useGame, useScene } from 'phavuer' import { calculateIsometricDepth, tileToWorldX, tileToWorldY } from '@/composables/zoneComposable' enum Direction { @@ -43,6 +43,7 @@ const charSprite = refObj() const game = useGame() const gameStore = useGameStore() const zoneStore = useZoneStore() +const scene = useScene() const currentX = ref(0) const currentY = ref(0) @@ -177,6 +178,10 @@ onMounted(() => { if (props.character.id === gameStore.character!.id) { zoneStore.setCharacterLoaded(true) + + // #146 : Set camera position to character, need to be improved still + scene.cameras.main.startFollow(charContainer.value as Phaser.GameObjects.Container) + scene.cameras.main.stopFollow() } // Set sprite diff --git a/src/components/zone/Zone.vue b/src/components/zone/Zone.vue index 8a2d6d4..f94c321 100644 --- a/src/components/zone/Zone.vue +++ b/src/components/zone/Zone.vue @@ -8,7 +8,7 @@ import { useScene } from 'phavuer' import { useGameStore } from '@/stores/gameStore' import { useZoneStore } from '@/stores/zoneStore' -import { onBeforeMount, onBeforeUnmount, onMounted, ref } from 'vue' +import { onBeforeMount, onBeforeUnmount, ref } from 'vue' import type { Character as CharacterT, Zone as ZoneT, ExtendedCharacter as ExtendedCharacterT } from '@/types' import Tiles from '@/components/zone/Tiles.vue' import Objects from '@/components/zone/Objects.vue'