diff --git a/spx-gui/src/components/stage-viewer-demo/StageViewerDemo.vue b/spx-gui/src/components/stage-viewer-demo/StageViewerDemo.vue index 63e37ea1a..f1ee7a667 100644 --- a/spx-gui/src/components/stage-viewer-demo/StageViewerDemo.vue +++ b/spx-gui/src/components/stage-viewer-demo/StageViewerDemo.vue @@ -2,21 +2,14 @@ * @Author: Zhang Zhi Yang * @Date: 2024-02-05 14:18:34 * @LastEditors: Zhang Zhi Yang - * @LastEditTime: 2024-02-20 16:27:48 - * @FilePath: /spx-gui/src/components/stage-viewer-demo/StageViewerDemo.vue + * @LastEditTime: 2024-02-21 18:11:56 + * @FilePath: /builder/spx-gui/src/components/stage-viewer-demo/StageViewerDemo.vue * @Description: --> - @@ -84,7 +77,7 @@ @update:value="(val) => { currentSprite && currentSprite.setCy(val as number) }"> - @@ -92,7 +85,7 @@ import { NInputNumber, NSwitch } from "naive-ui"; import type { Sprite } from "@/class/sprite"; import StageViewer from "../stage-viewer"; -import type { StageSprite, SpriteDragEndEvent, StageBackdrop, ZorderChangeEvent } from "../stage-viewer" +import type { StageSprite, SpriteDragEndEvent, StageBackdrop, ZorderChangeEvent, SelectedSpriteChangeEvent } from "../stage-viewer" import { useProjectStore } from "@/store/modules/project"; import type { Project } from "@/class/project"; import { storeToRefs } from "pinia"; @@ -102,7 +95,7 @@ const projectStore = useProjectStore(); const { project } = storeToRefs(projectStore); const currentSprite = ref(null); -const currentSpriteNames = ref([]) +const selectedSpriteNames = ref([]) // current sprite config const x = computed(() => currentSprite.value ? currentSprite.value.config.x : 0) @@ -128,20 +121,26 @@ const zorderList = computed(() => { return project.value.backdrop.config.zorder }) -watch(() => project.value.id, () => { - currentSpriteNames.value = project.value.sprite.list.map(sprite => sprite.name) -}) +// watch(() => project.value.id, () => { +// currentSpriteNames.value = project.value.sprite.list.map(sprite => sprite.name) +// }) // accept the new sprite position config when dragend from stage viewer -const onDragEnd = (e: SpriteDragEndEvent) => { - currentSprite.value = project.value.sprite.list.find(sprite => sprite.name === e.targets[0].sprite.name) as Sprite - currentSprite.value?.setSx(e.targets[0].position.x) - currentSprite.value?.setSy(e.targets[0].position.y) -} - -// accept the new zorder configuration from stage viewer -const onZorderChange = (e: ZorderChangeEvent) => { - project.value.backdrop.config.zorder = e.zorder +// const onDragEnd = (e: SpriteDragEndEvent) => { +// currentSprite.value = project.value.sprite.list.find(sprite => sprite.name === e.targets[0].sprite.name) as Sprite +// currentSprite.value?.setSx(e.targets[0].position.x) +// currentSprite.value?.setSy(e.targets[0].position.y) +// } + +// // accept the new zorder configuration from stage viewer +// const onZorderChange = (e: ZorderChangeEvent) => { +// project.value.backdrop.config.zorder = e.zorder +// } + +const onSelectedSpriteChange = (e: SelectedSpriteChangeEvent) => { + selectedSpriteNames.value = e.names + console.log(e.names) + currentSprite.value = project.value.sprite.list.find(sprite => sprite.name === e.names[0]) as Sprite } // import file @@ -157,13 +156,7 @@ const spriteToTop = (index: number) => { zorderList.value.push(spriteToMove); } -// choose the sprite to show in stage -const toggleShowInStage = (name: string) => { - currentSpriteNames.value = - currentSpriteNames.value.includes(name) ? - currentSpriteNames.value.filter(_name => _name !== name) - : [...currentSpriteNames.value, name] -} + // choose the scene to show in stage // in spx project the first scene will be shown in stage diff --git a/spx-gui/src/components/stage-viewer/Costume.vue b/spx-gui/src/components/stage-viewer/Costume.vue index e21730f25..72ffbe248 100644 --- a/spx-gui/src/components/stage-viewer/Costume.vue +++ b/spx-gui/src/components/stage-viewer/Costume.vue @@ -2,43 +2,50 @@ * @Author: Zhang Zhi Yang * @Date: 2024-01-25 14:19:57 * @LastEditors: Zhang Zhi Yang - * @LastEditTime: 2024-02-20 14:17:43 - * @FilePath: /spx-gui/src/components/stage-viewer/Costume.vue + * @LastEditTime: 2024-02-21 17:26:41 + * @FilePath: /builder/spx-gui/src/components/stage-viewer/Costume.vue * @Description: --> diff --git a/spx-gui/src/components/stage-viewer/SpriteLayer.vue b/spx-gui/src/components/stage-viewer/SpriteLayer.vue index 665d1cfe9..c6d4179e0 100644 --- a/spx-gui/src/components/stage-viewer/SpriteLayer.vue +++ b/spx-gui/src/components/stage-viewer/SpriteLayer.vue @@ -2,8 +2,8 @@ * @Author: Zhang Zhi Yang * @Date: 2024-01-25 16:13:37 * @LastEditors: Zhang Zhi Yang - * @LastEditTime: 2024-02-20 15:04:03 - * @FilePath: /spx-gui/src/components/stage-viewer/SpriteLayer.vue + * @LastEditTime: 2024-02-21 17:41:06 + * @FilePath: /builder/spx-gui/src/components/stage-viewer/SpriteLayer.vue * @Description: -->