@shijiu/jsview-vue-samples 2.3.0 → 2.3.728-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ABImageAlt/App.vue +114 -0
- package/ABImageAlt/Item.vue +133 -0
- package/{MetroWidgetDemos/SkeletonDiagram/assets/imageList.json → ABImageAlt/assets/imageList.js} +9 -1
- package/ABImageAlt/data.js +17 -0
- package/AI_Check_Rules.txt +5 -0
- package/AnimPicture/App.vue +20 -10
- package/ApicSwitch/App.vue +90 -0
- package/ApicSwitch/TabItem.vue +65 -0
- package/ApicSwitch/WebpShow.vue +24 -0
- package/ApicSwitch/data.js +50 -0
- package/Basic/AI_skills_update.md +1 -0
- package/Basic/components/div/ColorFormatTest.vue +93 -0
- package/Basic/components/div/DivRadius.vue +97 -15
- package/Basic/components/div/DivTag3Group.vue +30 -0
- package/Basic/components/img/ImageType.vue +65 -0
- package/Basic/components/panel/Panel2.vue +13 -1
- package/Basic/components/text/TextAlign.vue +7 -1
- package/BlobLoadTest/App.vue +201 -0
- package/BreakLinesApi/App.vue +82 -0
- package/CanvasDrawChart/App.vue +11 -0
- package/CanvasDrawChart/Graph1.vue +104 -0
- package/CanvasDrawChart/Graph2.vue +115 -0
- package/DashPath/App.vue +17 -16
- package/DashPath/AppForOperator.vue +2 -4
- package/DemoForOperator/AnimPic/AnimPic.vue +24 -2
- package/DemoForOperator/Banger/Banger/Banger.vue +73 -9
- package/DemoForOperator/Blur/Blur.vue +146 -0
- package/DemoForOperator/Blur/BlurInOut/BlurInOut.vue +184 -0
- package/DemoForOperator/Blur/BlurInOut/StaticBgSlide.vue +162 -0
- package/DemoForOperator/Blur/BlurPopup/BlurPopup.vue +249 -0
- package/DemoForOperator/BookFlip/App.vue +115 -0
- package/DemoForOperator/BookFlip/BookPage.vue +82 -0
- package/DemoForOperator/Bounce/Bounce.vue +33 -1
- package/DemoForOperator/Bounce/FreeMoveBuilder.js +1 -1
- package/DemoForOperator/ChunLian/Couplets.vue +44 -1
- package/DemoForOperator/ClickSpriteAnim/App.vue +130 -0
- package/DemoForOperator/ClickSpriteAnim/Item.vue +74 -0
- package/DemoForOperator/DominantColor/App.vue +187 -0
- package/DemoForOperator/EpisodeList/EpisodeList/Controller.vue +0 -3
- package/DemoForOperator/EpisodeList/EpisodeList/EpisodeList.vue +76 -2
- package/DemoForOperator/Firework1/App.vue +13 -2
- package/DemoForOperator/Firework1/Fireworks.vue +68 -11
- package/DemoForOperator/FlipPage/FlipPage/FlipPage.vue +30 -1
- package/DemoForOperator/Focus/Alpha/AlphaFocusBox.vue +27 -2
- package/DemoForOperator/Focus/Alpha/Item.vue +1 -0
- package/DemoForOperator/Focus/Light/Item.vue +1 -0
- package/DemoForOperator/Focus/Light/LightFocusBox.vue +42 -1
- package/DemoForOperator/Focus/Normal/Item.vue +1 -0
- package/DemoForOperator/Focus/Normal/NormalFocusBox.vue +12 -0
- package/DemoForOperator/FrameShadow/App.vue +193 -0
- package/DemoForOperator/FrameShadow/FrameShadow.vue +61 -0
- package/DemoForOperator/FullscreenIn/App.vue +1 -1
- package/DemoForOperator/FullscreenIn/FullscreenPoster.vue +18 -3
- package/DemoForOperator/Genie/App.vue +20 -6
- package/DemoForOperator/Genie/App2.vue +61 -0
- package/DemoForOperator/Genie/geniePakcer/GenieImage.vue +298 -0
- package/DemoForOperator/Genie/geniePakcer/GenieSlot.vue +292 -0
- package/DemoForOperator/Genie/geniePakcer/GenieTools.ts +463 -0
- package/DemoForOperator/GrayFilter/GrayFilter.vue +21 -0
- package/DemoForOperator/Jigsaw/JigsawFull.vue +58 -11
- package/DemoForOperator/Jigsaw/JigsawSingle.vue +47 -9
- package/DemoForOperator/LongChatBox/App.vue +36 -0
- package/DemoForOperator/LongChatBox/Bubble.vue +116 -0
- package/DemoForOperator/LongChatBox/LongChat.vue +204 -0
- package/DemoForOperator/LongChatBox/testData.js +14 -0
- package/DemoForOperator/Particle/Drop/DropParticle.vue +33 -1
- package/DemoForOperator/Particle/Explode/ExplodeParticle.vue +23 -2
- package/DemoForOperator/PosterAnim/PosterAnim.js +21 -0
- package/DemoForOperator/PosterOverflow/PosterOverflow.vue +16 -0
- package/DemoForOperator/Resize/App.vue +157 -0
- package/DemoForOperator/Resize/Resize/Item.vue +234 -0
- package/DemoForOperator/Resize/Resize/Resize.vue +96 -0
- package/DemoForOperator/Ripple/Ripple.vue +16 -1
- package/DemoForOperator/ScreenShootScale/App.vue +96 -0
- package/DemoForOperator/ScreenShootScale/Back.vue +86 -0
- package/DemoForOperator/ScreenShootScale/Front.vue +133 -0
- package/DemoForOperator/ScreenShootScale/Item.vue +62 -0
- package/DemoForOperator/ScreenShootScale/ScreenShootScale.vue +109 -0
- package/DemoForOperator/SmoothSwiper/App.vue +50 -0
- package/DemoForOperator/Sound/Bounce/App.vue +56 -0
- package/DemoForOperator/Sound/Bounce/Bounce.vue +87 -0
- package/DemoForOperator/Sound/Bounce/FreeMoveBuilder.js +146 -0
- package/DemoForOperator/Sound/Bounce/bgmusic.mp3 +0 -0
- package/DemoForOperator/Sound/Bounce/coin.mp3 +0 -0
- package/DemoForOperator/Sound/FocusMove/App.vue +134 -0
- package/DemoForOperator/Sound/FocusMove/Item.vue +43 -0
- package/DemoForOperator/Sound/FocusMove/move.mp3 +0 -0
- package/DemoForOperator/Sound/Rain/App.vue +11 -0
- package/DemoForOperator/Sound/Rain/Raining/Rain.vue +69 -0
- package/DemoForOperator/Sound/Rain/Raining/RainScene.vue +118 -0
- package/DemoForOperator/Sound/Sound/Sound.vue +24 -0
- package/DemoForOperator/Sound/Sound/index.js +4 -0
- package/DemoForOperator/Sound/Sound/useSound.js +112 -0
- package/DemoForOperator/Sprite/Sprite.vue +62 -5
- package/DemoForOperator/Stretch/Stretch/Stretch.vue +52 -2
- package/DemoForOperator/Swiper/App.vue +101 -0
- package/DemoForOperator/Swiper/Item.vue +56 -0
- package/DemoForOperator/Swiper/ParallaxSlide.vue +164 -0
- package/DemoForOperator/TabContent/TabContent/TabContent.vue +39 -1
- package/DemoForOperator/TabContentVertical/App.vue +104 -0
- package/DemoForOperator/TabContentVertical/ContentPage.vue +67 -0
- package/DemoForOperator/TabContentVertical/Item.vue +94 -0
- package/DemoForOperator/TabContentVertical/PageItem.vue +40 -0
- package/DemoForOperator/TabContentVertical/TabContent/CreepFocus.vue +160 -0
- package/DemoForOperator/TabContentVertical/TabContent/Item.vue +63 -0
- package/DemoForOperator/TabContentVertical/TabContent/TabContent.vue +184 -0
- package/DemoForOperator/TabContentVertical/TabContent/TabItem.vue +368 -0
- package/DemoForOperator/TabContentVertical/TabContent/TabWidget.vue +259 -0
- package/DemoForOperator/TabContentVertical/TabContent/Util.js +3 -0
- package/DemoForOperator/TabContentVertical/TabContent/ViewSwiper.vue +110 -0
- package/DemoForOperator/TabContentVertical/assets/children_science.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/documentary.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/free.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/game.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/home_selected.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/movie_ticket.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/my_account.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/opera.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/sports.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/tv_drama.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/variety_show.png +0 -0
- package/DemoForOperator/TabContentVertical/assets/vip.png +0 -0
- package/DemoForOperator/TabContentVertical/testData.js +76 -0
- package/DemoForOperator/Vortex/Vortex/Vortex.vue +26 -0
- package/DemoForOperator/routeList.js +125 -2
- package/DemoHomepage/App.vue +74 -1
- package/DemoHomepage/components/BodyFrame.vue +5 -0
- package/DemoHomepage/components/Item.vue +11 -0
- package/DemoHomepage/components/TabFrame.vue +1 -1
- package/DemoHomepage/router.js +798 -140
- package/DemoHomepage/views/Homepage.vue +60 -2
- package/DemoHomepage/watchTest.vue +50 -0
- package/DomRenderer/App.vue +133 -0
- package/FilterDemo/AnimatePic.vue +63 -17
- package/FilterDemo/App.vue +3 -3
- package/FlexCellDemo/AI_skills_update.md +4 -0
- package/FlexCellDemo/TestFrame1.vue +12 -2
- package/FlexCellDemo/TestFrame2.vue +10 -1
- package/FlexCellDemo/TestFrame3.vue +114 -59
- package/FpsLimit/App.vue +102 -0
- package/FreeMove/App.vue +24 -279
- package/FreeMove/TestScene1.vue +260 -0
- package/FreeMove/TestScene3.vue +431 -0
- package/FreeMoveChildAttract/App.vue +18 -8
- package/FreeMoveLink/App.vue +51 -22
- package/GiftRain/components/SpriteTranslate.vue +68 -48
- package/HashHistory/App.vue +2 -2
- package/HashHistory/router.js +1 -1
- package/Hover/App.vue +144 -0
- package/HttpRequestSSE/SSEReader.js +200 -0
- package/ImpactStop/App.vue +2 -2
- package/Input/FullKeyboard.vue +3 -3
- package/Input/InputPanel.vue +63 -3
- package/JsvLine/App.vue +53 -38
- package/LatexDemo/App.vue +3 -1
- package/LatexFormula/App.vue +196 -0
- package/LongImage/App.vue +1 -1
- package/LongImage/LongImageScroll.vue +111 -46
- package/LongImage/Scroll.vue +28 -9
- package/LongText/LongTextScroll.vue +14 -1
- package/Markdown/App.vue +36 -0
- package/Markdown/Bubble.vue +109 -0
- package/Markdown/LongChat.vue +216 -0
- package/Markdown/data.js +633 -0
- package/MetroWidgetDemos/AI_skills_update.md +2 -0
- package/MetroWidgetDemos/EpgFlowListType/App.vue +206 -0
- package/MetroWidgetDemos/EpgFlowListType/components/ContentCard.vue +105 -0
- package/MetroWidgetDemos/EpgFlowListType/components/FloorSection.vue +131 -0
- package/MetroWidgetDemos/EpgFlowListType/components/LeftTabItem.vue +41 -0
- package/MetroWidgetDemos/EpgFlowListType/data.js +78 -0
- package/MetroWidgetDemos/ListExpand/ChildItem.vue +130 -0
- package/MetroWidgetDemos/ListExpand/ExpandItem.vue +375 -0
- package/MetroWidgetDemos/ListExpand/ExpandItem1.vue +403 -0
- package/MetroWidgetDemos/ListExpand/assets/arrow-down.png +0 -0
- package/MetroWidgetDemos/ListExpand/assets/up-arrow.png +0 -0
- package/MetroWidgetDemos/ListExpand/components/WidgetListHandler.vue +150 -0
- package/MetroWidgetDemos/ListExpand/index.vue +88 -0
- package/MetroWidgetDemos/ListExpand/list.js +2421 -0
- package/MetroWidgetDemos/RefreshDemo/App.vue +14 -1
- package/MetroWidgetDemos/RenderAccelerate/App.vue +142 -0
- package/MetroWidgetDemos/RenderAccelerate/AppPage.vue +78 -0
- package/MetroWidgetDemos/RenderAccelerate/AppTab.vue +62 -0
- package/MetroWidgetDemos/RenderAccelerate/ContentItem.vue +409 -0
- package/MetroWidgetDemos/{TripleWidget → RenderAccelerate}/Item.vue +6 -3
- package/MetroWidgetDemos/RenderAccelerate/TabItem.vue +100 -0
- package/MetroWidgetDemos/RenderAccelerate/ViewSwiper.vue +215 -0
- package/MetroWidgetDemos/RenderAccelerate/WidgetItem.vue +107 -0
- package/MetroWidgetDemos/SkeletonDiagram/App.vue +35 -8
- package/MetroWidgetDemos/SkeletonDiagram/Item.vue +11 -2
- package/MetroWidgetDemos/SkeletonDiagram/assets/imageList.js +245 -0
- package/MetroWidgetDemos/SkeletonDiagram/data.js +3 -3
- package/MetroWidgetDemos/SpatialNav/App.vue +177 -0
- package/MetroWidgetDemos/SpatialNav/Buttons.vue +83 -0
- package/MetroWidgetDemos/SpatialNav/CustomFocus.vue +57 -0
- package/MetroWidgetDemos/SpatialNav/Item.vue +71 -0
- package/MetroWidgetDemos/SpatialNav/SimpleFloor.vue +86 -0
- package/MetroWidgetDemos/SpatialNav/StepMw.vue +113 -0
- package/MetroWidgetDemos/SpatialNav/TabContent/TabContent.vue +185 -0
- package/MetroWidgetDemos/SpatialNav/TripleSection/TripleSection.vue +69 -0
- package/MetroWidgetDemos/SpatialNav/TripleSection/WidgetItem.vue +100 -0
- package/MetroWidgetDemos/SpatialNav/TvSection/List.vue +75 -0
- package/MetroWidgetDemos/SpatialNav/TvSection/TvSection.vue +91 -0
- package/MetroWidgetDemos/basic2/App.vue +407 -0
- package/MetroWidgetDemos/basic2/Item.vue +68 -0
- package/MetroWidgetDemos/direction/App.vue +22 -0
- package/MetroWidgetDemos/gazeFocusDiff/App.vue +126 -0
- package/MetroWidgetDemos/gazeFocusDiff/Item.vue +87 -0
- package/MetroWidgetDemos/minimalUsage/App.vue +66 -0
- package/MetroWidgetDemos/minimalUsage/Item.vue +54 -0
- package/MetroWidgetDemos/ninePatchFocusPage/App.vue +23 -7
- package/MetroWidgetDemos/ninePatchFocusPage/Item.vue +7 -5
- package/MetroWidgetDemos/ninePatchFocusPage/focusConstants.js +2 -0
- package/MetroWidgetDemos/routeList.js +229 -8
- package/MetroWidgetDemos/slideSetting/App.vue +288 -99
- package/MetroWidgetDemos/zIndex/App.vue +117 -0
- package/MetroWidgetDemos/zIndex/Item.vue +61 -0
- package/NinePatchTester/App.vue +24 -31
- package/PosterPacker/App.vue +2 -2
- package/PreDecode/App.vue +140 -0
- package/ReactiveTest/App.vue +115 -0
- package/ReactiveTest/Item.vue +92 -0
- package/ReactiveTest/assets/imageList.js +245 -0
- package/ReactiveTest/component/TestSmartDiv.vue +50 -0
- package/ReactiveTest/component/TestSmartDivSrcList.vue +74 -0
- package/ReactiveTest/component/TestSmartImage.vue +46 -0
- package/ReactiveTest/component/TestSmartImageSrcList.vue +90 -0
- package/ReactiveTest/component/TestSmartImageStyle.vue +41 -0
- package/ReactiveTest/data.js +49 -0
- package/ScreenToBlob/App.vue +250 -0
- package/ScrollBoxTest/App.vue +52 -28
- package/ScrollBoxTest/ClipBar.vue +64 -2
- package/ScrollBoxTest/NinePatchBar.vue +64 -2
- package/ScrollBoxTest/SizeDivBar.vue +64 -2
- package/SecTorTest/App.vue +9 -3
- package/SpringFestival/SpringFestivalScene/FreeMoveBuilder.js +3 -3
- package/SyncDecode/App.vue +137 -0
- package/TextSizeLimit/App.vue +211 -0
- package/TextureAnimation/App3.vue +11 -1
- package/TouchWidget/App.vue +90 -5
- package/TouchWidget/WidgetItem.vue +1 -0
- package/TransitPage/App.vue +2 -0
- package/ViewOpacity/App.vue +19 -0
- package/assets/logo.png +0 -0
- package/package.json +1 -1
- package/DashPath/DashPath.vue +0 -118
- package/DemoForOperator/Genie/geniePakcer/Genie.vue +0 -699
- package/DemoForOperator/ScalePoster/App.vue +0 -4
- package/DemoForOperator/ScalePoster/ScalePoster.vue +0 -0
- package/DivMetroPerformance/App.vue +0 -157
- package/DivMetroPerformance/Item.vue +0 -58
- package/DivMetroPerformance/assets/bg.jpg +0 -0
- package/DivMetroPerformance/assets/coupon_content.png +0 -0
- package/DivMetroPerformance/assets/coupon_left.png +0 -0
- package/DivMetroPerformance/assets/coupon_mid.png +0 -0
- package/DivMetroPerformance/assets/coupon_right.png +0 -0
- package/DivMetroPerformance/assets/focus_border.png +0 -0
- package/DivMetroPerformance/assets/holder_logo.png +0 -0
- package/DivMetroPerformance/assets/jrbm.png +0 -0
- package/DivMetroPerformance/assets/line_left.png +0 -0
- package/DivMetroPerformance/assets/line_mid.png +0 -0
- package/DivMetroPerformance/assets/line_right.png +0 -0
- package/DivMetroPerformance/assets/loading.png +0 -0
- package/DivMetroPerformance/assets/logo.png +0 -0
- package/DivMetroPerformance/assets/mcjx.png +0 -0
- package/DivMetroPerformance/assets/tao.png +0 -0
- package/DivMetroPerformance/assets/tmall.png +0 -0
- package/DivMetroPerformance/border.png +0 -0
- package/DivMetroPerformance/components/ContentItem.vue +0 -384
- package/DivMetroPerformance/components/MyTab.vue +0 -129
- package/DivMetroPerformance/data.js +0 -124
- package/DivMetroPerformance/utils/GridItem.vue +0 -28
- package/DivMetroPerformance/utils/GridPlate.vue +0 -85
- package/MediaDemo/App.vue +0 -127
- package/MediaDemo/assets/audio-poster.png +0 -0
- package/MediaDemo/components/Button.vue +0 -69
- package/MediaDemo/components/Controllor.vue +0 -286
- package/MediaDemo/components/StatusBar.vue +0 -100
- package/MediaDemo/components/frames/AudioFrame.vue +0 -39
- package/MediaDemo/components/frames/AudioPoster.vue +0 -48
- package/MediaDemo/components/frames/MediaFrame.vue +0 -153
- package/MediaDemo/components/frames/VideoFrame.vue +0 -39
- package/MetroWidgetDemos/TripleWidget/App.vue +0 -81
- package/MetroWidgetDemos/TripleWidget/SWidgetItem.vue +0 -93
- package/MetroWidgetDemos/TripleWidget/WidgetItem.vue +0 -111
- package/Parkour/App.vue +0 -13
- package/Parkour/Common/Context.js +0 -21
- package/Parkour/Common/MatchmanInfo.js +0 -62
- package/Parkour/Common/Random.js +0 -61
- package/Parkour/Common/Sound.js +0 -50
- package/Parkour/appConfig/HOW_TO_CONFIG.md +0 -20
- package/Parkour/appConfig/app.config.mjs +0 -5
- package/Parkour/appConfig/app_sign_private_key_sample.crt +0 -28
- package/Parkour/appConfig/app_sign_public_key_sample.pem +0 -9
- package/Parkour/appConfig/jsview.config.mjs +0 -39
- package/Parkour/assets/Bgimages/bg1.png +0 -0
- package/Parkour/assets/Bgimages/bg2.png +0 -0
- package/Parkour/assets/Bgimages/bg3.png +0 -0
- package/Parkour/assets/Bgimages/bg4.png +0 -0
- package/Parkour/assets/Bgimages/bg5.png +0 -0
- package/Parkour/assets/audio/jump.mp3 +0 -0
- package/Parkour/assets/audio/lose.mp3 +0 -0
- package/Parkour/assets/role_skin1/fail.json +0 -44
- package/Parkour/assets/role_skin1/fail.png +0 -0
- package/Parkour/assets/role_skin1/jump_down.json +0 -20
- package/Parkour/assets/role_skin1/jump_down.png +0 -0
- package/Parkour/assets/role_skin1/jump_up.json +0 -44
- package/Parkour/assets/role_skin1/jump_up.png +0 -0
- package/Parkour/assets/role_skin1/roll.json +0 -44
- package/Parkour/assets/role_skin1/roll.png +0 -0
- package/Parkour/assets/role_skin1/run.json +0 -52
- package/Parkour/assets/role_skin1/run.png +0 -0
- package/Parkour/components/Backdrop.vue +0 -61
- package/Parkour/components/GameSence.vue +0 -602
- package/Parkour/components/Matchman.vue +0 -85
- package/TextureAnimation/utils/FrameCanvasStore.ts +0 -68
- package/TextureAnimation/utils/RotateFrame.vue +0 -146
- package/TextureAnimation/utils/circleHaloMask.png +0 -0
- package/ThrowMoveDemo/AccelerateDemo.vue +0 -85
- package/ThrowMoveDemo/App.vue +0 -104
- package/ThrowMoveDemo/LRParabolicDemo.vue +0 -101
- package/ThrowMoveDemo/TargetDemo.vue +0 -87
- package/ThrowMoveDemo/UDParabolicDemo.vue +0 -92
- /package/{AnimPicture/assets → assets}/animated_webp.webp +0 -0
- /package/{AnimPicture/assets → assets}/ball_3.webp +0 -0
- /package/{AnimPicture/assets → assets}/girl_run.gif +0 -0
- /package/{AnimPicture/assets → assets}/quan.webp +0 -0
|
@@ -1,97 +1,152 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import { onMounted, onBeforeUnmount, shallowRef } from "vue";
|
|
2
3
|
import { JsvFlexDiv } from "jsview";
|
|
3
4
|
import image1 from "./images/1.png";
|
|
4
5
|
import image2 from "./images/2.png";
|
|
5
6
|
import image3 from "./images/3.png";
|
|
6
7
|
import image4 from "./images/4.jpg";
|
|
8
|
+
|
|
9
|
+
let vInvToken = null;
|
|
10
|
+
let showText = shallowRef(true);
|
|
11
|
+
|
|
12
|
+
onMounted(() => {
|
|
13
|
+
vInvToken = setInterval(() => {
|
|
14
|
+
showText.value = !showText.value;
|
|
15
|
+
}, 1000);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
onBeforeUnmount(() => {
|
|
19
|
+
if (vInvToken > 0) {
|
|
20
|
+
clearInterval(vInvToken);
|
|
21
|
+
vInvToken = -1;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
7
24
|
</script>
|
|
8
25
|
|
|
9
26
|
<template>
|
|
27
|
+
<div
|
|
28
|
+
:style="{
|
|
29
|
+
left: -50,
|
|
30
|
+
width: 350,
|
|
31
|
+
height: 400,
|
|
32
|
+
overflow: 'hidden'
|
|
33
|
+
}"
|
|
34
|
+
>
|
|
10
35
|
<div
|
|
11
36
|
:style="{
|
|
12
|
-
left:
|
|
13
|
-
width:
|
|
37
|
+
left: 50,
|
|
38
|
+
width: 300,
|
|
14
39
|
height: 400,
|
|
15
|
-
|
|
40
|
+
backgroundColor: 'rgba(100,100,100,0.5)',
|
|
41
|
+
fontSize: 12,
|
|
42
|
+
color: '#000000',
|
|
43
|
+
textAlign: 'center',
|
|
44
|
+
lineHeight: 16
|
|
16
45
|
}"
|
|
17
46
|
>
|
|
18
|
-
<div
|
|
47
|
+
<jsv-flex-div
|
|
19
48
|
:style="{
|
|
20
|
-
left: 50,
|
|
21
49
|
width: 300,
|
|
22
50
|
height: 400,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
textAlign: 'center',
|
|
27
|
-
lineHeight: 16,
|
|
51
|
+
flexDirection: 'column',
|
|
52
|
+
alignItems: 'flex-end',
|
|
53
|
+
justifyContent: 'center'
|
|
28
54
|
}"
|
|
29
55
|
>
|
|
30
|
-
|
|
56
|
+
<!-- 文字绘制区域超过容器尺寸的内容的测试 -->
|
|
57
|
+
<div
|
|
31
58
|
:style="{
|
|
32
|
-
width:
|
|
33
|
-
|
|
34
|
-
flexDirection: 'column',
|
|
35
|
-
alignItems: 'flex-end',
|
|
36
|
-
justifyContent: 'center',
|
|
59
|
+
width: 450,
|
|
60
|
+
backgroundColor: 'rgba(0, 50, 0, 0.5)'
|
|
37
61
|
}"
|
|
38
62
|
>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}}
|
|
44
|
-
</div>
|
|
63
|
+
{{
|
|
64
|
+
"对于涉嫌借款或其他涉及财产的网络信息、账户密码、广告或推广等信息的,用户请谨慎对待并自行判断,基于前述原因您因此遭受的利润、商业信誉、资料损失或其他有形或无形损失的,我们不承担任何直接、间接、附带、特别、衍生性或惩罚性的赔偿责任。"
|
|
65
|
+
}}
|
|
66
|
+
</div>
|
|
45
67
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
68
|
+
<!-- 文字绘制区域未超过容器尺寸的内容的测试 -->
|
|
69
|
+
<div
|
|
70
|
+
:style="{
|
|
71
|
+
width: 250,
|
|
72
|
+
backgroundColor: 'rgba(0, 70, 0, 0.5)'
|
|
73
|
+
}"
|
|
74
|
+
>
|
|
75
|
+
{{
|
|
76
|
+
"对于涉嫌借款或其他涉及财产的网络信息、账户密码、广告或推广等信息的,用户请谨慎对待并自行判断,基于前述原因您因此遭受的利润、商业信誉、资料损失或其他有形或无形损失的,我们不承担任何直接、间接、附带、特别、衍生性或惩罚性的赔偿责任。"
|
|
77
|
+
}}
|
|
78
|
+
</div>
|
|
52
79
|
|
|
53
|
-
|
|
80
|
+
<!-- 超长折行文字测试点,文字字数大于3000字,最后一个字为'拾' -->
|
|
81
|
+
<div
|
|
82
|
+
:style="{
|
|
83
|
+
height: 16,
|
|
84
|
+
backgroundColor: 'rgba(0, 90, 0, 0.5)',
|
|
85
|
+
whiteSpace: 'nowrap'
|
|
86
|
+
}"
|
|
87
|
+
>
|
|
88
|
+
{{
|
|
89
|
+
"一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九拾"
|
|
90
|
+
}}
|
|
91
|
+
</div>
|
|
92
|
+
<!-- 短文字横向排布接续的测试 -->
|
|
93
|
+
<jsv-flex-div
|
|
94
|
+
:style="{
|
|
95
|
+
flexDirection: 'row',
|
|
96
|
+
alignItems: 'center',
|
|
97
|
+
backgroundColor: 'rgba(0, 110, 0, 0.5)',
|
|
98
|
+
alignSelf: 'center',
|
|
99
|
+
}"
|
|
100
|
+
>
|
|
101
|
+
<div :style="{ height: 16 }">
|
|
102
|
+
{{ "++一二三" }}
|
|
103
|
+
</div>
|
|
54
104
|
<div
|
|
105
|
+
v-show="showText"
|
|
55
106
|
:style="{
|
|
56
|
-
height:
|
|
57
|
-
|
|
58
|
-
|
|
107
|
+
height: 35,
|
|
108
|
+
lineHeight: 35,
|
|
109
|
+
fontSize: 32,
|
|
110
|
+
backgroundColor: 'rgba(10, 0, 0, 0.5)',
|
|
59
111
|
}"
|
|
60
112
|
>
|
|
61
|
-
{{
|
|
62
|
-
|
|
63
|
-
|
|
113
|
+
{{ "四五六" }}
|
|
114
|
+
</div>
|
|
115
|
+
<div :style="{ height: 16 }">
|
|
116
|
+
{{ "七八九++" }}
|
|
64
117
|
</div>
|
|
118
|
+
</jsv-flex-div>
|
|
65
119
|
|
|
66
|
-
|
|
67
|
-
|
|
120
|
+
<!-- 短文字横向排布接续的测试 -->
|
|
121
|
+
<jsv-flex-div
|
|
122
|
+
:style="{
|
|
123
|
+
flexDirection: 'row',
|
|
124
|
+
alignItems: 'center',
|
|
125
|
+
backgroundColor: 'rgba(0, 110, 0, 0.5)',
|
|
126
|
+
alignSelf: 'center',
|
|
127
|
+
}"
|
|
128
|
+
>
|
|
129
|
+
<div :style="{ height: 16 }">
|
|
130
|
+
{{ "++一二三" }}
|
|
131
|
+
</div>
|
|
132
|
+
<div
|
|
133
|
+
v-if="showText"
|
|
68
134
|
:style="{
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
135
|
+
height: 35,
|
|
136
|
+
lineHeight: 35,
|
|
137
|
+
fontSize: 32,
|
|
138
|
+
backgroundColor: 'rgba(10, 0, 0, 0.5)',
|
|
73
139
|
}"
|
|
74
140
|
>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
height: 20,
|
|
81
|
-
lineHeight: 20,
|
|
82
|
-
fontSize: 18,
|
|
83
|
-
backgroundColor: 'rgba(10, 0, 0, 0.5)',
|
|
84
|
-
}"
|
|
85
|
-
>
|
|
86
|
-
{{ "四五六" }}
|
|
87
|
-
</div>
|
|
88
|
-
<div :style="{ height: 16 }">
|
|
89
|
-
{{ "七八九++" }}
|
|
90
|
-
</div>
|
|
91
|
-
</jsv-flex-div>
|
|
141
|
+
{{ "四五六" }}
|
|
142
|
+
</div>
|
|
143
|
+
<div :style="{ height: 16 }">
|
|
144
|
+
{{ "七八九++" }}
|
|
145
|
+
</div>
|
|
92
146
|
</jsv-flex-div>
|
|
93
|
-
</div>
|
|
147
|
+
</jsv-flex-div>
|
|
94
148
|
</div>
|
|
149
|
+
</div>
|
|
95
150
|
</template>
|
|
96
151
|
|
|
97
152
|
<style scoped></style>
|
package/FpsLimit/App.vue
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<jsv-focus-block autoFocus :onKeyDown="processKeyDown"> </jsv-focus-block>
|
|
3
|
+
<div
|
|
4
|
+
:style="{
|
|
5
|
+
width: 1280,
|
|
6
|
+
height: 720,
|
|
7
|
+
backgroundColor: '#007788',
|
|
8
|
+
}"
|
|
9
|
+
></div>
|
|
10
|
+
<div
|
|
11
|
+
:style="{
|
|
12
|
+
width: 1280,
|
|
13
|
+
height: 100,
|
|
14
|
+
fontSize: 30,
|
|
15
|
+
top: 100,
|
|
16
|
+
backgroundColor: '#00000066',
|
|
17
|
+
color: '#FFFFFF',
|
|
18
|
+
}"
|
|
19
|
+
>
|
|
20
|
+
帧率限制功能。左键切换降帧开关,右键切换保持高帧率开关,降帧开启且保持高帧率关闭时功能启动。功能开启后,任意按键后5秒内帧率正常,之后帧率下降为5fps。
|
|
21
|
+
</div>
|
|
22
|
+
<div
|
|
23
|
+
:style="{
|
|
24
|
+
left: 413,
|
|
25
|
+
top: 400,
|
|
26
|
+
width: 200,
|
|
27
|
+
height: 200,
|
|
28
|
+
backgroundColor: backgroundColor,
|
|
29
|
+
animation: 'myrotate 2s linear infinite',
|
|
30
|
+
}"
|
|
31
|
+
></div>
|
|
32
|
+
<div
|
|
33
|
+
:style="{
|
|
34
|
+
width: 1280,
|
|
35
|
+
height: 40,
|
|
36
|
+
fontSize: 30,
|
|
37
|
+
top: 210,
|
|
38
|
+
backgroundColor: '#00000066',
|
|
39
|
+
color: '#FFFFFF',
|
|
40
|
+
}"
|
|
41
|
+
>
|
|
42
|
+
{{ switchBig ? "降帧:打开" : "降帧:关闭" }}
|
|
43
|
+
{{ switchSmall ? "保持高帧率:打开" : "保持高帧率:关闭" }}
|
|
44
|
+
</div>
|
|
45
|
+
</template>
|
|
46
|
+
|
|
47
|
+
<script setup>
|
|
48
|
+
import { onMounted, ref, onBeforeMount } from "vue";
|
|
49
|
+
import { jJsvRuntimeBridge } from "jsview";
|
|
50
|
+
|
|
51
|
+
const backgroundColor = ref("#0000FF");
|
|
52
|
+
const switchBig = ref(false);
|
|
53
|
+
const switchSmall = ref(false);
|
|
54
|
+
|
|
55
|
+
const processKeyDown = (ev) => {
|
|
56
|
+
if (ev.keyCode == 37) {
|
|
57
|
+
switchBig.value = !switchBig.value;
|
|
58
|
+
if (switchBig.value) {
|
|
59
|
+
window.JsvCoreApi.setIdleFps(true, 5, 5000);
|
|
60
|
+
} else {
|
|
61
|
+
window.JsvCoreApi.setIdleFps(false);
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
if (ev.keyCode == 39) {
|
|
66
|
+
switchSmall.value = !switchSmall.value;
|
|
67
|
+
if (switchSmall.value) {
|
|
68
|
+
window.JsvCoreApi.keepFpsHighPerf(true);
|
|
69
|
+
} else {
|
|
70
|
+
window.JsvCoreApi.keepFpsHighPerf(false);
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
if (ev.keyCode == 13) {
|
|
75
|
+
backgroundColor.value =
|
|
76
|
+
backgroundColor.value == "#00FF00" ? "#00FFFF" : "#00FF00";
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
return false;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
onMounted(() => {
|
|
83
|
+
jJsvRuntimeBridge.notifyPageLoaded();
|
|
84
|
+
window.JsvCoreApi.enableFpsDisplay(true);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
onBeforeMount(() => {
|
|
88
|
+
window.JsView?.setIdleFps?.(false);
|
|
89
|
+
window.JsView?.keepFpsHighPerf?.(false);
|
|
90
|
+
});
|
|
91
|
+
</script>
|
|
92
|
+
|
|
93
|
+
<style scoped>
|
|
94
|
+
@keyframes myrotate {
|
|
95
|
+
from {
|
|
96
|
+
transform: rotate3d(0, 0, 1, 0deg);
|
|
97
|
+
}
|
|
98
|
+
to {
|
|
99
|
+
transform: rotate3d(0, 0, 1, 360deg);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
</style>
|
package/FreeMove/App.vue
CHANGED
|
@@ -1,289 +1,34 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<jsv-focus-block
|
|
3
|
-
<
|
|
4
|
-
<div v-for="(item, index) in 6">
|
|
5
|
-
<div v-show="index == num - 1">
|
|
6
|
-
<jsv-free-move-actor :ref="(el) => (actRef[index] = el)">
|
|
7
|
-
<div class="box">{{ "测试文字1" }}</div>
|
|
8
|
-
</jsv-free-move-actor>
|
|
9
|
-
<jsv-free-move-actor :ref="(el) => (actRef2[index] = el)">
|
|
10
|
-
<div class="box" :style="{ backgroundColor: '#b52489' }">
|
|
11
|
-
{{ "测试文字2" }}
|
|
12
|
-
</div>
|
|
13
|
-
</jsv-free-move-actor>
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
<div class="tip">{{ "左右键翻页 " + `${num}/6 页` }}</div>
|
|
17
|
-
</div>
|
|
2
|
+
<jsv-focus-block :name="focusBlockName" :onAction="onActionObj">
|
|
3
|
+
<component :is="currentSceneComponent" />
|
|
18
4
|
</jsv-focus-block>
|
|
19
5
|
</template>
|
|
20
6
|
|
|
21
7
|
<script setup>
|
|
22
|
-
import {
|
|
23
|
-
import
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
num.value -= 1;
|
|
42
|
-
} else {
|
|
43
|
-
num.value = 1;
|
|
44
|
-
}
|
|
45
|
-
break;
|
|
46
|
-
case 39:
|
|
47
|
-
if (num.value !== 6) {
|
|
48
|
-
num.value += 1;
|
|
49
|
-
} else {
|
|
50
|
-
num.value = 6;
|
|
51
|
-
}
|
|
8
|
+
import { computed, shallowRef } from "vue";
|
|
9
|
+
import TestScene1 from "./TestScene1.vue";
|
|
10
|
+
import TestScene3 from "./TestScene3.vue";
|
|
11
|
+
|
|
12
|
+
const currentSceneIndex = shallowRef(0);
|
|
13
|
+
const scenes = [
|
|
14
|
+
TestScene3,
|
|
15
|
+
TestScene1,
|
|
16
|
+
// TestScene2,
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
const currentSceneComponent = computed(() => scenes[currentSceneIndex.value]);
|
|
20
|
+
const focusBlockName = computed(() => `FreeMoveScene-${currentSceneIndex.value}`);
|
|
21
|
+
|
|
22
|
+
const onKeyDown = (ev) => {
|
|
23
|
+
// 10001 为菜单键:循环切换场景
|
|
24
|
+
if (ev.keyCode === 10001 || ev.key === '1') {
|
|
25
|
+
currentSceneIndex.value = (currentSceneIndex.value + 1) % scenes.length;
|
|
26
|
+
return true;
|
|
52
27
|
}
|
|
53
|
-
|
|
54
|
-
// ******* 直接跳转位置 *******
|
|
55
|
-
window.DebugResetPos = (x, y) => {
|
|
56
|
-
actorControl.run((cmds) => [
|
|
57
|
-
cmds.state().clearAllConditions(),
|
|
58
|
-
cmds.action().teleportTo(x, y),
|
|
59
|
-
]);
|
|
60
|
-
|
|
61
|
-
actorControl2.run((cmds) => [
|
|
62
|
-
cmds.state().clearAllConditions(),
|
|
63
|
-
cmds.action().teleportTo(x, y + 50),
|
|
64
|
-
]);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
window.DebugResetOffsetPos = (x, y) => {
|
|
68
|
-
actorControl.run((cmds) => [
|
|
69
|
-
cmds.state().clearAllConditions(),
|
|
70
|
-
cmds.action().teleportOffset(x, y),
|
|
71
|
-
]);
|
|
72
|
-
|
|
73
|
-
actorControl2.run((cmds) => [
|
|
74
|
-
cmds.state().clearAllConditions(),
|
|
75
|
-
cmds.action().teleportOffset(x, y),
|
|
76
|
-
]);
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
// ******* 有参照物的刹车测试,仅X轴移动 *******
|
|
80
|
-
window.DebugBrakeToPosX = () => {
|
|
81
|
-
// 参照物
|
|
82
|
-
actorControl.run((cmds) => [
|
|
83
|
-
cmds.state().clearAllConditions(),
|
|
84
|
-
cmds.action().teleportTo(400, 50),
|
|
85
|
-
]);
|
|
86
|
-
// 运动体
|
|
87
|
-
actorControl2.run((cmds) => [
|
|
88
|
-
cmds.state().clearAllConditions(),
|
|
89
|
-
cmds.state().setStartPos(0, 200),
|
|
90
|
-
cmds.action().moveTo(300, undefined, 10, undefined),
|
|
91
|
-
cmds
|
|
92
|
-
.condition()
|
|
93
|
-
.reachPosition(200, undefined)
|
|
94
|
-
.then([
|
|
95
|
-
cmds.action(1).brakeToPosition(
|
|
96
|
-
400,
|
|
97
|
-
undefined,
|
|
98
|
-
(a, b, c, d) => {
|
|
99
|
-
console.log(
|
|
100
|
-
`LudlDebugCB DebugBrakeToPos enter a=${a} b=${b} c=${c} d=${d}`
|
|
101
|
-
);
|
|
102
|
-
},
|
|
103
|
-
() => {
|
|
104
|
-
console.log("LudlDebugCB DebugBrakeToPos onRejected");
|
|
105
|
-
}
|
|
106
|
-
),
|
|
107
|
-
]),
|
|
108
|
-
]);
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
// ******* 有参照物的刹车测试,XY都移动 *******
|
|
112
|
-
window.DebugBrakeToPosXY = () => {
|
|
113
|
-
// 参照物
|
|
114
|
-
actorControl.run((cmds) => [
|
|
115
|
-
cmds.state().clearAllConditions(),
|
|
116
|
-
cmds.action().teleportTo(400, 50),
|
|
117
|
-
]);
|
|
118
|
-
// 运动体
|
|
119
|
-
actorControl2.run((cmds) => [
|
|
120
|
-
cmds.state().clearAllConditions(),
|
|
121
|
-
cmds.state().setStartPos(800, 400),
|
|
122
|
-
cmds.action().moveTo(100, 50, 10, undefined),
|
|
123
|
-
cmds
|
|
124
|
-
.condition()
|
|
125
|
-
.reachPosition(400, undefined)
|
|
126
|
-
.then([
|
|
127
|
-
cmds.action(3).brakeToPosition(
|
|
128
|
-
100,
|
|
129
|
-
50,
|
|
130
|
-
(a, b, c, d) => {
|
|
131
|
-
console.log(
|
|
132
|
-
`LudlDebugCB DebugBrakeToPos enter a=${a} b=${b} c=${c} d=${d}`
|
|
133
|
-
);
|
|
134
|
-
},
|
|
135
|
-
() => {
|
|
136
|
-
console.log("LudlDebugCB DebugBrakeToPos onRejected");
|
|
137
|
-
}
|
|
138
|
-
),
|
|
139
|
-
]),
|
|
140
|
-
]);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
// ******* 定向移动 *******
|
|
144
|
-
window.DebugMoveTarget = () => {
|
|
145
|
-
actorControl2.run((cmds) => [
|
|
146
|
-
cmds.state().clearAllConditions(),
|
|
147
|
-
cmds.state().setStartPos(0, 400),
|
|
148
|
-
cmds.action().moveTo(300, undefined, 10, undefined),
|
|
149
|
-
]);
|
|
28
|
+
return false;
|
|
150
29
|
};
|
|
151
30
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
let actRef = {};
|
|
155
|
-
actorControl.run((cmds) => [
|
|
156
|
-
cmds.state().clearAllConditions(),
|
|
157
|
-
cmds.state().setStartPos(160, 150),
|
|
158
|
-
cmds.action(0, 0, actRef).moveTo(x, y, 2, 2, (a, b, c, d) => {
|
|
159
|
-
console.log(
|
|
160
|
-
"LudlDebugCB DebugTestMove enter " +
|
|
161
|
-
" a=" +
|
|
162
|
-
a +
|
|
163
|
-
" b=" +
|
|
164
|
-
b +
|
|
165
|
-
" c=" +
|
|
166
|
-
c +
|
|
167
|
-
" d=" +
|
|
168
|
-
d
|
|
169
|
-
);
|
|
170
|
-
}),
|
|
171
|
-
cmds
|
|
172
|
-
.condition()
|
|
173
|
-
.onNexusEvent(actRef, actEvents.ActFinish)
|
|
174
|
-
.then([
|
|
175
|
-
() => {
|
|
176
|
-
console.log("on move finished");
|
|
177
|
-
},
|
|
178
|
-
]),
|
|
179
|
-
]);
|
|
31
|
+
const onActionObj = {
|
|
32
|
+
onKeyDown,
|
|
180
33
|
};
|
|
181
|
-
|
|
182
|
-
window.DebugTestOffset = (control, startPos) => {
|
|
183
|
-
control.run((cmds) => [
|
|
184
|
-
cmds.state().clearAllConditions(),
|
|
185
|
-
cmds.state().setStartPos(startPos, 150),
|
|
186
|
-
cmds.action().altSpeed(3, undefined, 0),
|
|
187
|
-
cmds
|
|
188
|
-
.condition(undefined, true)
|
|
189
|
-
.reachPosition(460, undefined)
|
|
190
|
-
.then([cmds.action(1, 0).teleportOffset(-300, undefined)]),
|
|
191
|
-
]);
|
|
192
|
-
};
|
|
193
|
-
window.DebugTestThrowStart = () => {
|
|
194
|
-
// 参照物
|
|
195
|
-
actorControl2.run((cmds) => [
|
|
196
|
-
cmds.state().clearAllConditions(),
|
|
197
|
-
cmds.action().teleportTo(400, 300),
|
|
198
|
-
]);
|
|
199
|
-
|
|
200
|
-
actorControl.run((cmds) => [
|
|
201
|
-
cmds.state().clearAllConditions(),
|
|
202
|
-
cmds.state().setStartPos(100, 300),
|
|
203
|
-
cmds.action().setSpeed(2, undefined),
|
|
204
|
-
cmds.action(1).setSpdAndAccel(undefined, -20, undefined, 0.3, null, () => {
|
|
205
|
-
console.log("on pole");
|
|
206
|
-
// 在接触地板时停止
|
|
207
|
-
actorControl.run((cmds) => [
|
|
208
|
-
cmds
|
|
209
|
-
.condition(undefined, true)
|
|
210
|
-
.reachPosition(undefined, 300)
|
|
211
|
-
.then([cmds.action(3, 3).stopMoving()]),
|
|
212
|
-
]);
|
|
213
|
-
}),
|
|
214
|
-
]);
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
window.DebugTestThrow = () => {};
|
|
218
|
-
|
|
219
|
-
watch(num, (n, o) => {
|
|
220
|
-
switch (n) {
|
|
221
|
-
case 1:
|
|
222
|
-
actorControl = actRef.value[0].control;
|
|
223
|
-
actorControl2 = actRef2.value[0].control;
|
|
224
|
-
window.DebugTestMove(200, 200);
|
|
225
|
-
break;
|
|
226
|
-
case 2:
|
|
227
|
-
actorControl = actRef.value[1].control;
|
|
228
|
-
actorControl2 = actRef2.value[1].control;
|
|
229
|
-
window.DebugTestOffset(actorControl, 160);
|
|
230
|
-
window.DebugTestOffset(actorControl2, 310);
|
|
231
|
-
break;
|
|
232
|
-
case 3:
|
|
233
|
-
actorControl = actRef.value[2].control;
|
|
234
|
-
actorControl2 = actRef2.value[2].control;
|
|
235
|
-
window.DebugMoveTarget();
|
|
236
|
-
break;
|
|
237
|
-
case 4:
|
|
238
|
-
actorControl = actRef.value[3].control;
|
|
239
|
-
actorControl2 = actRef2.value[3].control;
|
|
240
|
-
window.DebugBrakeToPosX();
|
|
241
|
-
break;
|
|
242
|
-
case 5:
|
|
243
|
-
actorControl = actRef.value[4].control;
|
|
244
|
-
actorControl2 = actRef2.value[4].control;
|
|
245
|
-
window.DebugTestThrowStart();
|
|
246
|
-
break;
|
|
247
|
-
case 6:
|
|
248
|
-
actorControl = actRef.value[5].control;
|
|
249
|
-
actorControl2 = actRef2.value[5].control;
|
|
250
|
-
window.DebugBrakeToPosXY();
|
|
251
|
-
break;
|
|
252
|
-
default:
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
onMounted(() => {
|
|
257
|
-
actorControl = actRef.value[0].control;
|
|
258
|
-
actorControl2 = actRef2.value[0].control;
|
|
259
|
-
window.DebugControl = actorControl;
|
|
260
|
-
window.DebugTestMove(200, 200);
|
|
261
|
-
});
|
|
262
34
|
</script>
|
|
263
|
-
|
|
264
|
-
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
265
|
-
<style scoped>
|
|
266
|
-
.bgStyle {
|
|
267
|
-
width: 1280;
|
|
268
|
-
height: 720;
|
|
269
|
-
background-color: #007788;
|
|
270
|
-
}
|
|
271
|
-
.box {
|
|
272
|
-
width: 150;
|
|
273
|
-
height: 150;
|
|
274
|
-
font-size: 30;
|
|
275
|
-
color: #000000;
|
|
276
|
-
background-color: #3fb524;
|
|
277
|
-
}
|
|
278
|
-
.tip {
|
|
279
|
-
width: 300;
|
|
280
|
-
height: 30;
|
|
281
|
-
line-height: 28;
|
|
282
|
-
font-size: 28;
|
|
283
|
-
left: 980;
|
|
284
|
-
top: 680;
|
|
285
|
-
text-align: center;
|
|
286
|
-
font-weight: bold;
|
|
287
|
-
color: #ffffff;
|
|
288
|
-
}
|
|
289
|
-
</style>
|