@shijiu/jsview-vue 1.9.727 → 1.9.747

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.
Files changed (217) hide show
  1. package/index.d.ts +4 -1
  2. package/index.js +4 -1
  3. package/package.json +5 -16
  4. package/samples/AnimPicture/App.vue +0 -207
  5. package/samples/AnimPicture/assets/animated_webp.webp +0 -0
  6. package/samples/AnimPicture/assets/ball_3.webp +0 -0
  7. package/samples/AnimPicture/assets/girl_run.gif +0 -0
  8. package/samples/AnimPicture/assets/quan.webp +0 -0
  9. package/samples/Basic/App.vue +0 -134
  10. package/samples/Basic/assets/border.png +0 -0
  11. package/samples/Basic/assets/border2.png +0 -0
  12. package/samples/Basic/assets/icon.png +0 -0
  13. package/samples/Basic/assets/test.jpg +0 -0
  14. package/samples/Basic/components/ContentBlock.vue +0 -38
  15. package/samples/Basic/components/FontStyle.css +0 -16
  16. package/samples/Basic/components/anim/AnimGroup.vue +0 -66
  17. package/samples/Basic/components/anim/AnimKeyframeBasic.vue +0 -119
  18. package/samples/Basic/components/anim/AnimKeyframeComposite.vue +0 -52
  19. package/samples/Basic/components/anim/AnimTransition.vue +0 -157
  20. package/samples/Basic/components/div/DivBackground.vue +0 -44
  21. package/samples/Basic/components/div/DivClip.vue +0 -159
  22. package/samples/Basic/components/div/DivCssScoped.vue +0 -20
  23. package/samples/Basic/components/div/DivCssVar.vue +0 -53
  24. package/samples/Basic/components/div/DivGroup1.vue +0 -47
  25. package/samples/Basic/components/div/DivGroup2.vue +0 -65
  26. package/samples/Basic/components/div/DivLayout.vue +0 -70
  27. package/samples/Basic/components/div/DivRadius.vue +0 -65
  28. package/samples/Basic/components/div/DivTransform.vue +0 -32
  29. package/samples/Basic/components/img/ImageGroup.vue +0 -31
  30. package/samples/Basic/components/img/ImgLayout.vue +0 -41
  31. package/samples/Basic/components/panel/Panel1.vue +0 -55
  32. package/samples/Basic/components/panel/Panel2.vue +0 -31
  33. package/samples/Basic/components/panel/TitleBar.vue +0 -29
  34. package/samples/Basic/components/text/TextAlign.vue +0 -66
  35. package/samples/Basic/components/text/TextEmoji.vue +0 -26
  36. package/samples/Basic/components/text/TextFontStyle.vue +0 -89
  37. package/samples/Basic/components/text/TextGroup1.vue +0 -49
  38. package/samples/Basic/components/text/TextGroup2.vue +0 -28
  39. package/samples/Basic/components/text/TextOverflow.vue +0 -110
  40. package/samples/BasicFocusControl/App.vue +0 -104
  41. package/samples/BasicFocusControl/components/BaseBlock.vue +0 -50
  42. package/samples/BasicFocusControl/components/MainArea.vue +0 -83
  43. package/samples/BasicFocusControl/components/MainAreaLeftBlock.vue +0 -17
  44. package/samples/BasicFocusControl/components/MainAreaRightBlock.vue +0 -27
  45. package/samples/BasicFocusControl/components/SideBar.vue +0 -58
  46. package/samples/BasicFocusControl/components/SideBarBlock.vue +0 -27
  47. package/samples/Collision/App.vue +0 -452
  48. package/samples/ColorSpace/App.vue +0 -126
  49. package/samples/DemoHomepage/App.vue +0 -27
  50. package/samples/DemoHomepage/components/BodyFrame.vue +0 -95
  51. package/samples/DemoHomepage/components/Dialog.vue +0 -94
  52. package/samples/DemoHomepage/components/Item.vue +0 -77
  53. package/samples/DemoHomepage/components/TabFrame.vue +0 -85
  54. package/samples/DemoHomepage/router.js +0 -196
  55. package/samples/DemoHomepage/views/Homepage.vue +0 -195
  56. package/samples/FilterDemo/AnimatePic.vue +0 -58
  57. package/samples/FilterDemo/App.vue +0 -159
  58. package/samples/FilterDemo/VideoLayer.vue +0 -62
  59. package/samples/FlipCard/App.vue +0 -71
  60. package/samples/FlipCard/FlipCard.vue +0 -118
  61. package/samples/FlipCard/assets/blue_egg.png +0 -0
  62. package/samples/FlipCard/assets/red_egg.png +0 -0
  63. package/samples/FlipCard/data.js +0 -13
  64. package/samples/GridDemo/App.vue +0 -215
  65. package/samples/GridDemo/ButtonBlock.vue +0 -112
  66. package/samples/GridDemo/FocusItem.vue +0 -37
  67. package/samples/GridDemo/Item.vue +0 -93
  68. package/samples/HashHistory/App.vue +0 -115
  69. package/samples/HashHistory/components/HorizontalButtonList.vue +0 -91
  70. package/samples/HashHistory/components/Item.vue +0 -60
  71. package/samples/HashHistory/router.js +0 -41
  72. package/samples/HashHistory/views/MainPage.vue +0 -57
  73. package/samples/HashHistory/views/SubPage.vue +0 -66
  74. package/samples/ImpactStop/App.vue +0 -435
  75. package/samples/Input/App.vue +0 -164
  76. package/samples/Input/FullKeyboard.vue +0 -87
  77. package/samples/Input/InputPanel.vue +0 -131
  78. package/samples/Input/KeyboardItem.vue +0 -58
  79. package/samples/LongImage/App.vue +0 -80
  80. package/samples/LongImage/Button.vue +0 -58
  81. package/samples/LongImage/ButtonItem.vue +0 -44
  82. package/samples/LongImage/LongImageScroll.vue +0 -92
  83. package/samples/LongImage/Scroll.vue +0 -14
  84. package/samples/LongImage/assets/1280x7200.jpg +0 -0
  85. package/samples/LongText/App.vue +0 -96
  86. package/samples/LongText/Button.vue +0 -51
  87. package/samples/LongText/ButtonItem.vue +0 -44
  88. package/samples/LongText/LongTextScroll.vue +0 -192
  89. package/samples/LongText/Scroll.vue +0 -14
  90. package/samples/Marquee/App.vue +0 -247
  91. package/samples/Marquee/longText.js +0 -14
  92. package/samples/MaskClip/App.vue +0 -122
  93. package/samples/MaskClip/images/mask-025/config.json +0 -29
  94. package/samples/MaskClip/images/mask-025/res/1.png +0 -0
  95. package/samples/MaskClip/images/mask-025/res/2.png +0 -0
  96. package/samples/MaskClip/images/mask-025/res/3.png +0 -0
  97. package/samples/MaskClip/images/mask-025/res/4.png +0 -0
  98. package/samples/MaskClip/images/mask-025/res/icon.png +0 -0
  99. package/samples/MaskClip/images/mask-025/res/stroke.png +0 -0
  100. package/samples/MaskClip/images/php.jpg +0 -0
  101. package/samples/MetroWidgetDemos/Advanced/App.vue +0 -46
  102. package/samples/MetroWidgetDemos/Advanced/ButtonItem.vue +0 -90
  103. package/samples/MetroWidgetDemos/Advanced/Buttons.vue +0 -70
  104. package/samples/MetroWidgetDemos/Advanced/Mixed.vue +0 -77
  105. package/samples/MetroWidgetDemos/Advanced/widgets/Item.vue +0 -83
  106. package/samples/MetroWidgetDemos/Advanced/widgets/WidgetItem.vue +0 -89
  107. package/samples/MetroWidgetDemos/Advanced/widgets/Widgets.vue +0 -116
  108. package/samples/MetroWidgetDemos/Advanced/widgets/focus1.png +0 -0
  109. package/samples/MetroWidgetDemos/Item.vue +0 -85
  110. package/samples/MetroWidgetDemos/PerformanceTest/App.vue +0 -210
  111. package/samples/MetroWidgetDemos/PerformanceTest/Item.vue +0 -90
  112. package/samples/MetroWidgetDemos/PerformanceTest/assets/bg.jpg +0 -0
  113. package/samples/MetroWidgetDemos/PerformanceTest/assets/coupon_content.png +0 -0
  114. package/samples/MetroWidgetDemos/PerformanceTest/assets/coupon_left.png +0 -0
  115. package/samples/MetroWidgetDemos/PerformanceTest/assets/coupon_mid.png +0 -0
  116. package/samples/MetroWidgetDemos/PerformanceTest/assets/coupon_right.png +0 -0
  117. package/samples/MetroWidgetDemos/PerformanceTest/assets/focus_border.png +0 -0
  118. package/samples/MetroWidgetDemos/PerformanceTest/assets/holder_logo.png +0 -0
  119. package/samples/MetroWidgetDemos/PerformanceTest/assets/jrbm.png +0 -0
  120. package/samples/MetroWidgetDemos/PerformanceTest/assets/line_left.png +0 -0
  121. package/samples/MetroWidgetDemos/PerformanceTest/assets/line_mid.png +0 -0
  122. package/samples/MetroWidgetDemos/PerformanceTest/assets/line_right.png +0 -0
  123. package/samples/MetroWidgetDemos/PerformanceTest/assets/loading.png +0 -0
  124. package/samples/MetroWidgetDemos/PerformanceTest/assets/logo.png +0 -0
  125. package/samples/MetroWidgetDemos/PerformanceTest/assets/mcjx.png +0 -0
  126. package/samples/MetroWidgetDemos/PerformanceTest/assets/tao.png +0 -0
  127. package/samples/MetroWidgetDemos/PerformanceTest/assets/tmall.png +0 -0
  128. package/samples/MetroWidgetDemos/PerformanceTest/border.png +0 -0
  129. package/samples/MetroWidgetDemos/PerformanceTest/components/ContentItem.vue +0 -386
  130. package/samples/MetroWidgetDemos/PerformanceTest/components/MyTab.vue +0 -129
  131. package/samples/MetroWidgetDemos/PerformanceTest/data.js +0 -45
  132. package/samples/MetroWidgetDemos/PingPong/App.vue +0 -135
  133. package/samples/MetroWidgetDemos/PingPong/AppPage.vue +0 -73
  134. package/samples/MetroWidgetDemos/PingPong/AppTab.vue +0 -62
  135. package/samples/MetroWidgetDemos/PingPong/TabItem.vue +0 -84
  136. package/samples/MetroWidgetDemos/PingPong/ViewSwiper.vue +0 -214
  137. package/samples/MetroWidgetDemos/Simple/AbsoluteTemplate.vue +0 -75
  138. package/samples/MetroWidgetDemos/Simple/App.vue +0 -45
  139. package/samples/MetroWidgetDemos/Simple/RelativeTemplate.vue +0 -111
  140. package/samples/MetroWidgetDemos/WidgetItem.vue +0 -89
  141. package/samples/MetroWidgetDemos/data.js +0 -205
  142. package/samples/NinePatchDemo/App.vue +0 -145
  143. package/samples/NinePatchDemo/Item.vue +0 -69
  144. package/samples/NinePatchDemo/assets/border.png +0 -0
  145. package/samples/Preload/App.vue +0 -135
  146. package/samples/Preload/Item.vue +0 -32
  147. package/samples/Preload/data.js +0 -23
  148. package/samples/Preload/images/awesomeface.png +0 -0
  149. package/samples/Preload/images/cat.jpg +0 -0
  150. package/samples/Preload/images/rank.png +0 -0
  151. package/samples/Preload/images/rank_focus.png +0 -0
  152. package/samples/Preload/images/rule.png +0 -0
  153. package/samples/Preload/images/rule_focus.png +0 -0
  154. package/samples/Preload/images/start.png +0 -0
  155. package/samples/Preload/images/start_focus.png +0 -0
  156. package/samples/QrcodeDemo/App.vue +0 -68
  157. package/samples/ScaleDownNeon/App.vue +0 -107
  158. package/samples/SoundPool/App.vue +0 -134
  159. package/samples/SoundPool/bgmusic.mp3 +0 -0
  160. package/samples/SoundPool/coin.mp3 +0 -0
  161. package/samples/SoundPool/jump.mp3 +0 -0
  162. package/samples/SoundPool/lose.mp3 +0 -0
  163. package/samples/SoundPool/run.mp3 +0 -0
  164. package/samples/SprayView/App.vue +0 -272
  165. package/samples/SprayView/assets/snow.png +0 -0
  166. package/samples/SpriteImage/App.vue +0 -173
  167. package/samples/SpriteImage/images/cat_run.png +0 -0
  168. package/samples/SpriteImage/images/egg_break.json +0 -116
  169. package/samples/SpriteImage/images/egg_break.png +0 -0
  170. package/samples/SpriteImage/images/sprite.png +0 -0
  171. package/samples/TextBox/App.vue +0 -91
  172. package/samples/TextBox/RenderCenter.vue +0 -133
  173. package/samples/TextBox/RenderLeft.vue +0 -138
  174. package/samples/TextBox/RenderOneLine.vue +0 -101
  175. package/samples/TextBox/RenderRight.vue +0 -131
  176. package/samples/TextShadowDemo/App.vue +0 -91
  177. package/samples/TextureAnimation/App.vue +0 -336
  178. package/samples/TextureAnimation/App2.vue +0 -111
  179. package/samples/TextureAnimation/assets/blackWhiteGrid.png +0 -0
  180. package/samples/TextureAnimation/assets/light.png +0 -0
  181. package/samples/TextureAnimation/assets/light2.png +0 -0
  182. package/samples/TextureAnimation/assets/mask.png +0 -0
  183. package/samples/TextureAnimation/assets/php.jpg +0 -0
  184. package/samples/TextureAnimation/assets/php2.png +0 -0
  185. package/samples/TextureAnimation/assets/swipLight.png +0 -0
  186. package/samples/TextureSize/App.vue +0 -132
  187. package/samples/TextureSize/bmpDemo.bmp +0 -0
  188. package/samples/TextureSize/jpegDemo.jpeg +0 -0
  189. package/samples/TextureSize/jpgDemo.jpg +0 -0
  190. package/samples/TextureSize/pngDemo.png +0 -0
  191. package/samples/TextureSize/pngNoAlphaDemo.png +0 -0
  192. package/samples/ThrowMoveDemo/AccelerateDemo.vue +0 -116
  193. package/samples/ThrowMoveDemo/App.vue +0 -114
  194. package/samples/ThrowMoveDemo/LRParabolicDemo.vue +0 -115
  195. package/samples/ThrowMoveDemo/TargetDemo.vue +0 -116
  196. package/samples/ThrowMoveDemo/UDParabolicDemo.vue +0 -121
  197. package/samples/TouchSample/App.vue +0 -136
  198. package/samples/TouchSample/Item.vue +0 -103
  199. package/samples/TouchSample/MetroWidgetHorizontal.vue +0 -144
  200. package/samples/TouchSample/MetroWidgetVertical.vue +0 -144
  201. package/samples/TouchSample/TouchContainerHorizontal.vue +0 -160
  202. package/samples/TouchSample/TouchContainerVertical.vue +0 -160
  203. package/samples/TouchSample/data.js +0 -81
  204. package/samples/TransitPage/App.vue +0 -29
  205. package/samples/VideoDemo/App.vue +0 -121
  206. package/samples/VideoDemo/components/Button.vue +0 -58
  207. package/samples/VideoDemo/components/Controllor.vue +0 -197
  208. package/samples/VideoDemo/components/VideoFrame.vue +0 -140
  209. package/samples/VisibleSensorDemo/App.vue +0 -234
  210. package/samples/assets/bmpDemo.bmp +0 -0
  211. package/samples/assets/jpegDemo.jpeg +0 -0
  212. package/samples/assets/pngDemo.png +0 -0
  213. package/samples/assets/pngNoAlphaDemo.png +0 -0
  214. package/samples/assets/webpDemo.webp +0 -0
  215. package/tsconfig.json +0 -47
  216. package/utils/index.d.ts +0 -3
  217. package/utils/index.js +0 -10
@@ -1,68 +0,0 @@
1
- <script setup>
2
- import { JsvQrcode } from "jsview";
3
- import { ref, shallowRef } from "vue";
4
- import { useRouter } from "vue-router";
5
-
6
- const router = useRouter();
7
- const value = "http://www.baidu.com/";
8
- const size = 400;
9
- const fgColor = "#0000FF";
10
- const bgColor = "#ffff00";
11
- const level = "H"; // ,容错级别,分别是L(7%)、M(15%)、Q(25%)、H(30%),
12
- const includeImage = true;
13
- const imageH = 64;
14
- const imageW = 64;
15
- const imageSrc =
16
- "http://oss.image.51vtv.cn/homepage/20191224/0fdcdc8b258fe7baac16b73f58f8989d.jpg";
17
- const tipsInfo = `功能:二维码展示可配置项:1.前景色
18
- 2.背景色
19
- 3.指定小图标
20
- 4.容错级别:'L', 'M', 'Q', 'H'`;
21
- const onKeyDown = (ev) => {
22
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
23
- router.go(-1); // 有router时,是从DemoHomepage进入,回退
24
- }
25
- return true;
26
- };
27
- </script>
28
-
29
- <template>
30
- <jsv-focus-block
31
- autoFocus
32
- :onAction="{
33
- onKeyDown: onKeyDown,
34
- }"
35
- >
36
- <div :style="{ width: 1280, height: 720, backgroundColor: '#D8D8D8' }">
37
- <div
38
- :style="{
39
- textAlign: 'left',
40
- fontSize: '30px',
41
- lineHeight: '50px',
42
- color: '#ffffff',
43
- left: 200 + 420,
44
- top: 100,
45
- width: 400,
46
- height: 50 * 8,
47
- backgroundColor: 'rgba(27,38,151,0.8)',
48
- }"
49
- >
50
- {{ tipsInfo }}
51
- </div>
52
- <div :style="{ left: 200, top: 100 }">
53
- <jsv-qrcode
54
- :value="value"
55
- :size="size"
56
- :fgColor="fgColor"
57
- :bgColor="bgColor"
58
- :level="level"
59
- :imageSettings="
60
- includeImage
61
- ? { src: imageSrc, height: imageH, width: imageW }
62
- : null
63
- "
64
- />
65
- </div>
66
- </div>
67
- </jsv-focus-block>
68
- </template>
@@ -1,107 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2022-10-24 13:19:41
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2022-10-24 13:50:18
6
- * @Description: file content
7
- -->
8
- <script setup>
9
- import { useRouter } from "vue-router";
10
- const router = useRouter();
11
-
12
- const test1 = "url(https://qcast-image.oss-cn-qingdao.aliyuncs.com/JsViewVideo/ImageTestSample/ScaleDownTest/test_1.jpeg)";
13
- const test2 = "url(https://qcast-image.oss-cn-qingdao.aliyuncs.com/JsViewVideo/ImageTestSample/ScaleDownTest/test_2.jpeg)";
14
- const test3 = "url(https://qcast-image.oss-cn-qingdao.aliyuncs.com/JsViewVideo/ImageTestSample/ScaleDownTest/test_3.jpeg)";
15
- const test4 = "url(https://qcast-image.oss-cn-qingdao.aliyuncs.com/JsViewVideo/ImageTestSample/ScaleDownTest/test_4.jpeg)";
16
-
17
- const onKeyDown = (ev) => {
18
- // 8:Backspace, 27:Escape, 10000:盒子返回键
19
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
20
- if (window.JsView) {
21
- window.JsView.setGlobalConfig({
22
- texCache: -1,
23
- });
24
- }
25
-
26
- router.go(-1); // 有router时,回退
27
- return true;
28
- }
29
- return false;
30
- };
31
-
32
- const style1 = {
33
- left: 0,
34
- top: 0,
35
- width: 250,
36
- height: 250,
37
- borderRadius: "15px",
38
- };
39
-
40
- const style2 = {
41
- left: 0,
42
- top: 260,
43
- width: 250,
44
- height: 250,
45
- borderRadius: "15px",
46
- };
47
- </script>
48
- <template>
49
- <jsv-focus-block autoFocus :onKeyDown="onKeyDown">
50
- <div class="allBgc">
51
- <div class="block">
52
- <div :style="{ left: 0, top: 0 }">
53
- <div class="leftFont top0">
54
- {{ `原图加载` }}
55
- </div>
56
- <div class="leftFont top250">
57
- {{ `使用缩小算法优化` }}
58
- </div>
59
- </div>
60
-
61
- <div :style="{ left: 120, top: 0 }">
62
- <img alt="" :style="style1" :src="test4" />
63
- <img alt="" :style="style2" jsvImgScaledownTex :src="test4" />
64
- </div>
65
-
66
- <div :style="{ left: 380, top: 0 }">
67
- <img alt="" :style="style1" :src="test1" />
68
- <img alt="" :style="style2" jsvImgScaledownTex :src="test1" />
69
- </div>
70
-
71
- <div :style="{ left: 640, top: 0 }">
72
- <img alt="" :style="style1" :src="test2" />
73
- <img alt="" :style="style2" jsvImgScaledownTex :src="test2" />
74
- </div>
75
-
76
- <div :style="{ left: 900, top: 0 }">
77
- <img alt="" :style="style1" :src="test3" />
78
- <img alt="" :style="style2" jsvImgScaledownTex :src="test3" />
79
- </div>
80
- </div>
81
- </div>
82
- </jsv-focus-block>
83
- </template>
84
- <style scoped>
85
- .allBgc {
86
- width: 1920;
87
- height: 1080;
88
- background-color: #334c4c;
89
- }
90
- .block {
91
- left: 20;
92
- top: 50;
93
- }
94
- .leftFont {
95
- left: 0;
96
- width: 100;
97
- height: 200;
98
- color: #ffffff;
99
- font-size: 25px;
100
- }
101
- .top0 {
102
- top: 0;
103
- }
104
- .top250 {
105
- top: 250;
106
- }
107
- </style>
@@ -1,134 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2022-01-25 09:56:46
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2022-07-08 18:09:10
6
- * @Description: file content
7
- -->
8
- <script setup>
9
- import coin from "./coin.mp3";
10
- import lose from "./lose.mp3";
11
- import bgmusic from "./bgmusic.mp3";
12
- import { JsvSoundPool, jJsvRuntimeBridge } from "jsview";
13
- import { onMounted, onBeforeUnmount, shallowRef } from "vue";
14
- import { useRouter } from "vue-router";
15
-
16
- const router = useRouter();
17
- const soundPool = new JsvSoundPool(10);
18
- let coinController1 = null;
19
- let coinController2 = null;
20
- let loseController1 = null;
21
- let loseController2 = null;
22
- let bgm = shallowRef(null);
23
- const _onKeyDown = (ev) => {
24
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
25
- router.go(-1); // 有router时,是从DemoHomepage进入,回退
26
- return true;
27
- }
28
- switch (ev.keyCode) {
29
- case 37:
30
- if (loseController1) {
31
- loseController1.play();
32
- }
33
- break;
34
- case 38:
35
- if (coinController1) {
36
- coinController1.play();
37
- }
38
- break;
39
- case 39:
40
- if (loseController2) {
41
- loseController2.play();
42
- }
43
- break;
44
- case 40:
45
- if (coinController2) {
46
- coinController2.play();
47
- }
48
- break;
49
- case 13:
50
- bgm.value?.play();
51
- break;
52
- }
53
- return true;
54
- };
55
- soundPool.request(`url(${coin})`, null, 1, (state, audioController) => {
56
- console.log("cchtest load succeed", audioController);
57
- if (state === 0) {
58
- coinController1 = audioController;
59
- }
60
- });
61
- soundPool.request(`url(${coin})`, null, 1, (state, audioController) => {
62
- if (state === 0) {
63
- coinController2 = audioController;
64
- coinController2.setLoop(0);
65
- }
66
- });
67
-
68
- soundPool.request(`url(${lose})`, null, 1, (state, audioController) => {
69
- if (state === 0) {
70
- loseController1 = audioController;
71
- }
72
- });
73
- soundPool.request(`url(${lose})`, null, 1, (state, audioController) => {
74
- if (state === 0) {
75
- loseController2 = audioController;
76
- }
77
- });
78
-
79
- onMounted(() => {
80
- jJsvRuntimeBridge.notifyPageLoaded();
81
- });
82
- onBeforeUnmount(() => {
83
- coinController1 = null;
84
- coinController2 = null;
85
- loseController1 = null;
86
- loseController2 = null;
87
- soundPool.destroy();
88
- bgm.value?.pause();
89
- bgm.value?.unload();
90
- });
91
- </script>
92
-
93
- <template>
94
- <jsv-focus-block
95
- autoFocus
96
- :onAction="{
97
- onKeyDown: _onKeyDown,
98
- }"
99
- >
100
- <div :style="{ width: 1920, height: 1080, backgroundColor: '#FFFFFF' }">
101
- <div
102
- :style="{
103
- textAlign: 'center',
104
- fontSize: '30px',
105
- lineHeight: '50px',
106
- color: '#ffffff',
107
- left: 100,
108
- top: 20,
109
- width: 1280 - 200,
110
- height: 50,
111
- backgroundColor: 'rgba(27,38,151,0.8)',
112
- }"
113
- >
114
- {{ `适合游戏场景的多音效混音效果` }}
115
- </div>
116
- <div
117
- :style="{
118
- left: 400,
119
- top: 300,
120
- width: 500,
121
- height: 500,
122
- color: '#000000',
123
- textAlign: 'center',
124
- fontSize: 30,
125
- }"
126
- >
127
- {{
128
- `[确定]: 播放背景音乐\n[左]: 播放失败音乐1\n[右]: 播放失败音乐2\n[上]: 播放硬币音乐1\n[下]: 播放硬币音乐2`
129
- }}
130
- </div>
131
- <audiotrack ref="bgm" :src="bgmusic" loop="loop" />
132
- </div>
133
- </jsv-focus-block>
134
- </template>
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,272 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-10-13 11:19:26
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2022-07-08 17:09:58
6
- * @Description: file content
7
- -->
8
- <script>
9
- import { JsvSpray } from "jsview";
10
- import snow from "./assets/snow.png";
11
- const sprayOk = {
12
- type: 0,
13
- particleNum: 100,
14
- deltaAngle: 180,
15
- deltaWidth: 50,
16
- deltaHeight: 50,
17
- pointSizeMin: 20,
18
- pointSizeMax: 30,
19
- speedMin: 1,
20
- speedMax: 7,
21
- lifeMin: 1000,
22
- lifeMax: 2000,
23
- accelerateX: 0,
24
- accelerateY: 0,
25
- addNumSpeed: 0.001,
26
- enableFade: true,
27
- enableShrink: true,
28
- };
29
-
30
- const sprayRotate = {
31
- type: 1,
32
- particleNum: 100,
33
- deltaAngle: 0,
34
- deltaWidth: 0,
35
- deltaHeight: 50,
36
- pointSizeMin: 10,
37
- pointSizeMax: 20,
38
- speedMin: 5,
39
- speedMax: 10,
40
- lifeMin: 1000,
41
- lifeMax: 3000,
42
- accelerateX: 0,
43
- accelerateY: -100,
44
- addNumSpeed: 0.001,
45
- enableFade: true,
46
- enableShrink: false,
47
- };
48
-
49
- const sprayMove = {
50
- type: 1,
51
- particleNum: 100,
52
- deltaAngle: 20,
53
- deltaWidth: 50,
54
- deltaHeight: 50,
55
- pointSizeMin: 10,
56
- pointSizeMax: 20,
57
- speedMin: 5,
58
- speedMax: 10,
59
- lifeMin: 1000,
60
- lifeMax: 3000,
61
- accelerateX: -50,
62
- accelerateY: -120,
63
- addNumSpeed: 0.001,
64
- enableFade: true,
65
- enableShrink: true,
66
- };
67
-
68
- const sprayCycle = {
69
- type: 1,
70
- particleNum: 200,
71
- deltaAngle: 20,
72
- deltaWidth: 20,
73
- deltaHeight: 20,
74
- pointSizeMin: 10,
75
- pointSizeMax: 20,
76
- speedMin: 0,
77
- speedMax: 0,
78
- lifeMin: 1000,
79
- lifeMax: 3000,
80
- accelerateX: 0,
81
- accelerateY: 0,
82
- addNumSpeed: 0.001,
83
- enableFade: true,
84
- enableShrink: false,
85
- };
86
- export default {
87
- components: {
88
- JsvSpray,
89
- },
90
- data() {
91
- return {
92
- okCount: 0,
93
- };
94
- },
95
- setup() {
96
- return {
97
- sprayOk,
98
- sprayRotate,
99
- sprayMove,
100
- sprayCycle,
101
- snow,
102
- };
103
- },
104
- methods: {
105
- onKeyDown(ev) {
106
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
107
- this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
108
- return true;
109
- }
110
- switch (ev.keyCode) {
111
- case 13:
112
- this.okCount++;
113
- break;
114
- }
115
- return true;
116
- },
117
- },
118
- };
119
- </script>
120
-
121
- <template>
122
- <div class="root">
123
- <jsv-focus-block
124
- autoFocus
125
- :onAction="{
126
- onKeyDown: onKeyDown,
127
- }"
128
- >
129
- <div :style="{ top: 400, left: 200 }">
130
- <div class="spray-ok">
131
- <jsv-spray
132
- v-if="okCount > 0"
133
- :key="okCount"
134
- :pointRes="`url(${snow})`"
135
- :sprayStyle="sprayOk"
136
- />
137
- </div>
138
- <div class="describe">
139
- {{ `#摁OK键\n#粒子在方形内生成\n#初速度方向360度随机\n#无外力作用` }}
140
- </div>
141
- </div>
142
- <div :style="{ top: 400, left: 600 }">
143
- <div class="spray-rotate">
144
- <jsv-spray pointRes="rgba(0, 255, 0, 1)" :sprayStyle="sprayRotate" />
145
- </div>
146
- <div class="describe">
147
- {{ `#粒子沿长边随机生成\n#初速度沿长边方向\n#受竖直方向的力作用` }}
148
- </div>
149
- </div>
150
- <div :style="{ top: 400, left: 1000 }">
151
- <div class="spray-move">
152
- <jsv-spray :pointRes="`url(${snow})`" :sprayStyle="sprayMove" />
153
- </div>
154
- <div class="describe">
155
- {{
156
- `#粒子在方形随机生成\n#初速度方向为竖直向上方向正负20度内随机\n#受水平方向和竖直方向的力作用`
157
- }}
158
- </div>
159
- </div>
160
- <div :style="{ top: 20, left: 400 }">
161
- <div
162
- :style="{
163
- width: 40,
164
- height: 40,
165
- animation: 'cycle 3s linear infinite',
166
- }"
167
- >
168
- <jsv-spray :pointRes="`url(${snow})`" :sprayStyle="sprayCycle" />
169
- </div>
170
- <div
171
- :style="{
172
- top: 20,
173
- width: 500,
174
- height: 100,
175
- lineHeight: '100px',
176
- textAlign: 'center',
177
- fontSize: '50px',
178
- color: '#FFFFFF',
179
- }"
180
- >
181
- 粒子效果
182
- </div>
183
- <div class="describe">
184
- {{ `#粒子在方形随机生成\n#初速度为0\n#不受外力` }}
185
- </div>
186
- </div>
187
- </jsv-focus-block>
188
- </div>
189
- </template>
190
-
191
- <style scoped>
192
- @keyframes move-back-force {
193
- 0% {
194
- transform: translate3d(0, 0, 0);
195
- }
196
- 25% {
197
- transform: translate3d(100px, 0, 0);
198
- }
199
- 50% {
200
- transform: translate3d(0, 0, 0);
201
- }
202
- 75% {
203
- transform: translate3d(100px, 0, 0);
204
- }
205
- 100% {
206
- transform: translate3d(0, 0, 0);
207
- }
208
- }
209
-
210
- @keyframes rotate {
211
- from {
212
- transform: rotate3d(0, 0, 1, 0);
213
- }
214
- to {
215
- transform: rotate3d(0, 0, 1, 360deg);
216
- }
217
- }
218
-
219
- @keyframes cycle {
220
- 0% {
221
- transform: translate3d(0, 0, 0);
222
- }
223
- 25% {
224
- transform: translate3d(500px, 0, 0);
225
- }
226
- 50% {
227
- transform: translate3d(500px, 100px, 0);
228
- }
229
- 75% {
230
- transform: translate3d(0, 100px, 0);
231
- }
232
- 100% {
233
- transform: translate3d(0, 0, 0);
234
- }
235
- }
236
- .root {
237
- width: 1280px;
238
- height: 720;
239
- background-color: #334c4c;
240
- }
241
-
242
- .spray-ok {
243
- width: 100px;
244
- height: 100px;
245
- background-color: #00ff00;
246
- }
247
- .spray-rotate {
248
- width: 10px;
249
- height: 100px;
250
- background-color: #00ff00;
251
- animation: rotate 3s linear infinite;
252
- }
253
- .spray-move {
254
- width: 100px;
255
- height: 100px;
256
- background-color: #00ff00;
257
- animation: move-back-force 10s linear infinite;
258
- }
259
- .spray-cycle {
260
- width: 40px;
261
- height: 40px;
262
- animation: cycle 3s linear infinite;
263
- }
264
- .describe {
265
- left: 0px;
266
- top: 140px;
267
- width: 250px;
268
- height: 200px;
269
- color: #ffffff;
270
- font-size: 20px;
271
- }
272
- </style>
Binary file