|
@@ -28,9 +28,10 @@
|
|
|
})"
|
|
|
/>
|
|
|
<button
|
|
|
- v-if="sceneIdx === 1"
|
|
|
- class="ship-btn"
|
|
|
- @click="showShipGame = true"
|
|
|
+ class="game-entry-page-btn"
|
|
|
+ @click="showGameEntryPage({
|
|
|
+ gameName: sceneIdx === 0 ? '广寒宫' : sceneIdx === 1 ? '聊城古船' : '多宝阁',
|
|
|
+ })"
|
|
|
/>
|
|
|
<button
|
|
|
v-if="sceneIdx === 0 && cameraIdx === 0"
|
|
@@ -51,6 +52,11 @@
|
|
|
class="character-wrap"
|
|
|
draggable="false"
|
|
|
>
|
|
|
+ <div
|
|
|
+ v-if="$isMobile"
|
|
|
+ :class="['character-wrap__menu', isShowMenu && 'active']"
|
|
|
+ @click="isShowMenu = !isShowMenu"
|
|
|
+ />
|
|
|
<button
|
|
|
class="name"
|
|
|
@click="isShowCharacterDesc = true"
|
|
@@ -124,26 +130,26 @@
|
|
|
draggable="false"
|
|
|
>
|
|
|
<button
|
|
|
- class="one btn-on-track"
|
|
|
+ :class="['one btn-on-track', isShowMenu && 'hover']"
|
|
|
@click="showingContentIdx = 1"
|
|
|
>
|
|
|
<span>{{ btnOnTrack1Name }}</span>
|
|
|
</button>
|
|
|
<button
|
|
|
- class="two btn-on-track"
|
|
|
+ :class="['two btn-on-track', isShowMenu && 'hover']"
|
|
|
@click="showingContentIdx = 2"
|
|
|
>
|
|
|
<span>{{ btnOnTrack2Name }}</span>
|
|
|
</button>
|
|
|
<button
|
|
|
v-if="!(sceneIdx === 1 && cameraIdx === 1)"
|
|
|
- class="three btn-on-track"
|
|
|
+ :class="['three btn-on-track', isShowMenu && 'hover']"
|
|
|
@click="showingContentIdx = 3"
|
|
|
>
|
|
|
<span>{{ btnOnTrack3Name }}</span>
|
|
|
</button>
|
|
|
<button
|
|
|
- :class="['btn-on-track four', (sceneIdx === 1 && cameraIdx === 1) && 'four2']"
|
|
|
+ :class="['btn-on-track four', (sceneIdx === 1 && cameraIdx === 1) && 'four2', isShowMenu && 'hover']"
|
|
|
@click="router[$isMobile ? 'replace' : 'push']({
|
|
|
name: 'RelicList',
|
|
|
query: {
|
|
@@ -409,6 +415,12 @@ const btnReturnHomeImgUrl = computed(() => {
|
|
|
const btnReturnHomeActiveImgUrl = computed(() => {
|
|
|
return `url(${process.env.VUE_APP_CLI_MODE === 'dev' ? '' : '../'}` + require(`@/assets/images/btn-return-home-active-${sceneIdx.value + 1}.png`) + ')'
|
|
|
})
|
|
|
+const btnGameEntryPageImgUrl = computed(() => {
|
|
|
+ return `url(${process.env.VUE_APP_CLI_MODE === 'dev' ? '' : '../'}` + require(`@/assets/images/btn-game-entry-page-${sceneIdx.value + 1}.png`) + ')'
|
|
|
+})
|
|
|
+const btnGameEntryPageActiveImgUrl = computed(() => {
|
|
|
+ return `url(${process.env.VUE_APP_CLI_MODE === 'dev' ? '' : '../'}` + require(`@/assets/images/btn-game-entry-page-active-${sceneIdx.value + 1}.png`) + ')'
|
|
|
+})
|
|
|
|
|
|
const btnOnTrack1ImgUrl = computed(() => {
|
|
|
return `url(${process.env.VUE_APP_CLI_MODE === 'dev' ? '' : '../'}` + require(`@/assets/images/camera-btn-${sceneIdx.value + 1}-${cameraIdx.value + 1}-1.png`) + ')'
|
|
@@ -946,6 +958,7 @@ watch(() => store.getters.iframeAttrs, (v) => {
|
|
|
}
|
|
|
})
|
|
|
|
|
|
+const isShowMenu = ref(false)
|
|
|
const isShowHotspotDetail = ref(false)
|
|
|
const isShowHotspotDetail2 = ref(!!route.query.hotspot)
|
|
|
const isShowHotspotDetail3 = ref(false)
|
|
@@ -985,10 +998,11 @@ window.showIframe = (hotspotInfo) => {
|
|
|
console.log('parent window: showIframe...')
|
|
|
store.dispatch('openIframePage', hotspotInfo)
|
|
|
}
|
|
|
-window.showGameEntryPage = function(hotspotInfo) {
|
|
|
+function showGameEntryPage(hotspotInfo) {
|
|
|
console.log('parent window: showGameEntryPage. param: ', hotspotInfo)
|
|
|
store.dispatch('openGameEntryPage', hotspotInfo)
|
|
|
}
|
|
|
+window.showGameEntryPage = showGameEntryPage
|
|
|
/**
|
|
|
* end of iframe的逻辑
|
|
|
*/
|
|
@@ -1114,47 +1128,47 @@ onMounted(() => {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
}
|
|
|
- >button.guide-btn{
|
|
|
+ >button.return-home{
|
|
|
position: absolute;
|
|
|
width: 77px;
|
|
|
height: 77px;
|
|
|
- top: 128px;
|
|
|
+ top: 43px;
|
|
|
right: 51px;
|
|
|
- background-image: url('@/assets/images/guide/tbn_help-min.png');
|
|
|
+ background-image: v-bind(btnReturnHomeImgUrl);
|
|
|
background-size: cover;
|
|
|
background-repeat: no-repeat;
|
|
|
background-position: center center;
|
|
|
z-index: 5;
|
|
|
+ &:hover{
|
|
|
+ background-image: v-bind(btnReturnHomeActiveImgUrl);
|
|
|
+ }
|
|
|
}
|
|
|
- >button.ship-btn{
|
|
|
+ >button.game-entry-page-btn{
|
|
|
position: absolute;
|
|
|
width: 77px;
|
|
|
height: 77px;
|
|
|
top: 128px;
|
|
|
right: 51px;
|
|
|
- background-image: url('@/assets/images/ship-game/tbn_game_boat-min.png');
|
|
|
+ background-image: v-bind(btnGameEntryPageImgUrl);
|
|
|
background-size: cover;
|
|
|
background-repeat: no-repeat;
|
|
|
background-position: center center;
|
|
|
z-index: 5;
|
|
|
&:hover{
|
|
|
- background-image: url('@/assets/images/ship-game/btn_game boat_hover_green-min.png');
|
|
|
+ background-image: v-bind(btnGameEntryPageActiveImgUrl);
|
|
|
}
|
|
|
}
|
|
|
- >button.return-home{
|
|
|
+ >button.guide-btn{
|
|
|
position: absolute;
|
|
|
width: 77px;
|
|
|
height: 77px;
|
|
|
- top: 43px;
|
|
|
+ top: 213px;
|
|
|
right: 51px;
|
|
|
- background-image: v-bind(btnReturnHomeImgUrl);
|
|
|
+ background-image: url('@/assets/images/guide/tbn_help-min.png');
|
|
|
background-size: cover;
|
|
|
background-repeat: no-repeat;
|
|
|
background-position: center center;
|
|
|
z-index: 5;
|
|
|
- &:hover{
|
|
|
- background-image: v-bind(btnReturnHomeActiveImgUrl);
|
|
|
- }
|
|
|
}
|
|
|
>.camera-desc{
|
|
|
z-index: 7;
|
|
@@ -1168,6 +1182,20 @@ onMounted(() => {
|
|
|
bottom: 0;
|
|
|
width: 300px;
|
|
|
height: 452px;
|
|
|
+
|
|
|
+ .character-wrap__menu {
|
|
|
+ position: absolute;
|
|
|
+ left: -10px;
|
|
|
+ bottom: 30px;
|
|
|
+ width: 85px;
|
|
|
+ height: 95px;
|
|
|
+ background: url('@/assets/images/mobile/btn_menu_open-min.png') no-repeat center / contain;
|
|
|
+ z-index: 6;
|
|
|
+
|
|
|
+ &.active {
|
|
|
+ background-image: url('@/assets/images/mobile/btn_menu_close-min.png');
|
|
|
+ }
|
|
|
+ }
|
|
|
>button.name{
|
|
|
position: absolute;
|
|
|
top: 50px;
|
|
@@ -1290,7 +1318,8 @@ onMounted(() => {
|
|
|
line-height: 27px;
|
|
|
letter-spacing: 5px;
|
|
|
}
|
|
|
- &:hover{
|
|
|
+ &:hover,
|
|
|
+ &.hover{
|
|
|
width: 390px;
|
|
|
height: 104px;
|
|
|
transform: translate(-13px, -5px);
|
|
@@ -1303,7 +1332,8 @@ onMounted(() => {
|
|
|
left: 210px;
|
|
|
top: -42px;
|
|
|
background-image: v-bind(btnOnTrack1ImgUrl);
|
|
|
- &:hover{
|
|
|
+ &:hover,
|
|
|
+ &.hover{
|
|
|
top: -49px;
|
|
|
left: 217px;
|
|
|
background-image: v-bind(btnOnTrack1ActiveImgUrl);
|
|
@@ -1313,7 +1343,8 @@ onMounted(() => {
|
|
|
left: 336px;
|
|
|
top: 62px;
|
|
|
background-image: v-bind(btnOnTrack2ImgUrl);
|
|
|
- &:hover{
|
|
|
+ &:hover,
|
|
|
+ &.hover{
|
|
|
top: 54px;
|
|
|
background-image: v-bind(btnOnTrack2ActiveImgUrl);
|
|
|
}
|
|
@@ -1322,7 +1353,8 @@ onMounted(() => {
|
|
|
left: 385px;
|
|
|
top: 205px;
|
|
|
background-image: v-bind(btnOnTrack3ImgUrl);
|
|
|
- &:hover{
|
|
|
+ &:hover,
|
|
|
+ &.hover{
|
|
|
top: 196px;
|
|
|
left: 391px;
|
|
|
background-image: v-bind(btnOnTrack3ActiveImgUrl);
|
|
@@ -1332,7 +1364,8 @@ onMounted(() => {
|
|
|
left: 352px;
|
|
|
top: 353px;
|
|
|
background-image: v-bind(btnOnTrack4ImgUrl);
|
|
|
- &:hover{
|
|
|
+ &:hover,
|
|
|
+ &.hover{
|
|
|
top: 344px;
|
|
|
left: 359px;
|
|
|
background-image: v-bind(btnOnTrack4ActiveImgUrl);
|
|
@@ -1342,7 +1375,8 @@ onMounted(() => {
|
|
|
left: 385px;
|
|
|
top: 205px;
|
|
|
|
|
|
- &:hover {
|
|
|
+ &:hover,
|
|
|
+ &.hover {
|
|
|
top: 196px;
|
|
|
left: 391px;
|
|
|
}
|