@shijiu/jsview-vue-samples 2.3.151-test.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.
Files changed (244) hide show
  1. package/ABImageAlt/App.vue +114 -0
  2. package/ABImageAlt/Item.vue +133 -0
  3. package/{MetroWidgetDemos/SkeletonDiagram/assets/imageList.json → ABImageAlt/assets/imageList.js} +9 -1
  4. package/ABImageAlt/data.js +17 -0
  5. package/AI_Check_Rules.txt +5 -0
  6. package/AnimPicture/App.vue +20 -10
  7. package/ApicSwitch/App.vue +90 -0
  8. package/ApicSwitch/TabItem.vue +65 -0
  9. package/ApicSwitch/WebpShow.vue +24 -0
  10. package/ApicSwitch/data.js +50 -0
  11. package/Basic/AI_skills_update.md +1 -0
  12. package/Basic/components/div/ColorFormatTest.vue +93 -0
  13. package/Basic/components/div/DivRadius.vue +97 -15
  14. package/Basic/components/div/DivTag3Group.vue +30 -0
  15. package/Basic/components/img/ImageType.vue +65 -0
  16. package/Basic/components/panel/Panel2.vue +13 -1
  17. package/Basic/components/text/TextAlign.vue +7 -1
  18. package/BlobLoadTest/App.vue +201 -0
  19. package/BreakLinesApi/App.vue +82 -0
  20. package/CanvasDrawChart/App.vue +11 -0
  21. package/CanvasDrawChart/Graph1.vue +104 -0
  22. package/CanvasDrawChart/Graph2.vue +115 -0
  23. package/DemoForOperator/Blur/Blur.vue +1 -1
  24. package/DemoForOperator/Blur/BlurInOut/BlurInOut.vue +49 -23
  25. package/DemoForOperator/Blur/BlurInOut/StaticBgSlide.vue +1 -1
  26. package/DemoForOperator/Blur/BlurPopup/BlurPopup.vue +156 -20
  27. package/DemoForOperator/BookFlip/App.vue +1 -1
  28. package/DemoForOperator/Bounce/FreeMoveBuilder.js +1 -1
  29. package/DemoForOperator/Firework1/App.vue +12 -1
  30. package/DemoForOperator/Firework1/Fireworks.vue +18 -0
  31. package/DemoForOperator/FlipPage/FlipPage/FlipPage.vue +1 -0
  32. package/DemoForOperator/Focus/Alpha/Item.vue +1 -0
  33. package/DemoForOperator/Focus/Light/Item.vue +1 -0
  34. package/DemoForOperator/Focus/Normal/Item.vue +1 -0
  35. package/DemoForOperator/Genie/App.vue +20 -6
  36. package/DemoForOperator/Genie/App2.vue +61 -0
  37. package/DemoForOperator/Genie/geniePakcer/GenieImage.vue +298 -0
  38. package/DemoForOperator/Genie/geniePakcer/GenieSlot.vue +292 -0
  39. package/DemoForOperator/Genie/geniePakcer/GenieTools.ts +463 -0
  40. package/DemoForOperator/Jigsaw/JigsawFull.vue +12 -7
  41. package/DemoForOperator/Jigsaw/JigsawSingle.vue +13 -7
  42. package/DemoForOperator/LongChatBox/App.vue +13 -13
  43. package/DemoForOperator/LongChatBox/Bubble.vue +78 -66
  44. package/DemoForOperator/LongChatBox/LongChat.vue +67 -36
  45. package/DemoForOperator/LongChatBox/testData.js +7 -44
  46. package/DemoForOperator/Sound/Bounce/FreeMoveBuilder.js +1 -1
  47. package/DemoForOperator/routeList.js +8 -2
  48. package/DemoHomepage/App.vue +74 -1
  49. package/DemoHomepage/components/BodyFrame.vue +5 -0
  50. package/DemoHomepage/components/TabFrame.vue +1 -1
  51. package/DemoHomepage/router.js +749 -165
  52. package/DemoHomepage/views/Homepage.vue +60 -2
  53. package/DemoHomepage/watchTest.vue +50 -0
  54. package/DomRenderer/App.vue +133 -0
  55. package/FilterDemo/AnimatePic.vue +63 -17
  56. package/FilterDemo/App.vue +3 -3
  57. package/FlexCellDemo/AI_skills_update.md +4 -0
  58. package/FlexCellDemo/TestFrame1.vue +12 -2
  59. package/FlexCellDemo/TestFrame2.vue +10 -1
  60. package/FlexCellDemo/TestFrame3.vue +114 -59
  61. package/FpsLimit/App.vue +102 -0
  62. package/FreeMove/App.vue +24 -279
  63. package/FreeMove/TestScene1.vue +260 -0
  64. package/FreeMove/TestScene3.vue +431 -0
  65. package/FreeMoveChildAttract/App.vue +18 -8
  66. package/FreeMoveLink/App.vue +51 -22
  67. package/Hover/App.vue +144 -0
  68. package/HttpRequestSSE/SSEReader.js +200 -0
  69. package/ImpactStop/App.vue +2 -2
  70. package/Input/FullKeyboard.vue +3 -3
  71. package/Input/InputPanel.vue +63 -3
  72. package/JsvLine/App.vue +53 -38
  73. package/LatexDemo/App.vue +3 -1
  74. package/LatexFormula/App.vue +196 -0
  75. package/LongImage/App.vue +1 -1
  76. package/LongImage/LongImageScroll.vue +111 -46
  77. package/LongImage/Scroll.vue +28 -9
  78. package/LongText/LongTextScroll.vue +14 -1
  79. package/Markdown/App.vue +36 -0
  80. package/Markdown/Bubble.vue +109 -0
  81. package/Markdown/LongChat.vue +216 -0
  82. package/Markdown/data.js +633 -0
  83. package/MetroWidgetDemos/AI_skills_update.md +2 -0
  84. package/MetroWidgetDemos/EpgFlowListType/App.vue +206 -0
  85. package/MetroWidgetDemos/EpgFlowListType/components/ContentCard.vue +105 -0
  86. package/MetroWidgetDemos/EpgFlowListType/components/FloorSection.vue +131 -0
  87. package/MetroWidgetDemos/EpgFlowListType/components/LeftTabItem.vue +41 -0
  88. package/MetroWidgetDemos/EpgFlowListType/data.js +78 -0
  89. package/MetroWidgetDemos/ListExpand/ChildItem.vue +130 -0
  90. package/MetroWidgetDemos/ListExpand/ExpandItem.vue +375 -0
  91. package/MetroWidgetDemos/ListExpand/ExpandItem1.vue +403 -0
  92. package/MetroWidgetDemos/ListExpand/assets/arrow-down.png +0 -0
  93. package/MetroWidgetDemos/ListExpand/assets/up-arrow.png +0 -0
  94. package/MetroWidgetDemos/ListExpand/components/WidgetListHandler.vue +150 -0
  95. package/MetroWidgetDemos/ListExpand/index.vue +88 -0
  96. package/MetroWidgetDemos/ListExpand/list.js +2421 -0
  97. package/MetroWidgetDemos/RefreshDemo/App.vue +14 -1
  98. package/MetroWidgetDemos/RenderAccelerate/App.vue +142 -0
  99. package/MetroWidgetDemos/RenderAccelerate/AppPage.vue +78 -0
  100. package/MetroWidgetDemos/RenderAccelerate/AppTab.vue +62 -0
  101. package/MetroWidgetDemos/RenderAccelerate/ContentItem.vue +409 -0
  102. package/MetroWidgetDemos/RenderAccelerate/Item.vue +67 -0
  103. package/MetroWidgetDemos/RenderAccelerate/TabItem.vue +100 -0
  104. package/MetroWidgetDemos/RenderAccelerate/ViewSwiper.vue +215 -0
  105. package/MetroWidgetDemos/RenderAccelerate/WidgetItem.vue +107 -0
  106. package/MetroWidgetDemos/SkeletonDiagram/App.vue +35 -8
  107. package/MetroWidgetDemos/SkeletonDiagram/Item.vue +11 -2
  108. package/MetroWidgetDemos/SkeletonDiagram/assets/imageList.js +245 -0
  109. package/MetroWidgetDemos/SkeletonDiagram/data.js +3 -3
  110. package/MetroWidgetDemos/SpatialNav/App.vue +177 -0
  111. package/MetroWidgetDemos/SpatialNav/Buttons.vue +83 -0
  112. package/MetroWidgetDemos/SpatialNav/CustomFocus.vue +57 -0
  113. package/MetroWidgetDemos/{TripleWidget → SpatialNav}/Item.vue +1 -8
  114. package/MetroWidgetDemos/{TripleWidget/WidgetItem.vue → SpatialNav/SimpleFloor.vue} +14 -45
  115. package/MetroWidgetDemos/SpatialNav/StepMw.vue +113 -0
  116. package/MetroWidgetDemos/SpatialNav/TabContent/TabContent.vue +185 -0
  117. package/MetroWidgetDemos/SpatialNav/TripleSection/TripleSection.vue +69 -0
  118. package/MetroWidgetDemos/SpatialNav/TripleSection/WidgetItem.vue +100 -0
  119. package/MetroWidgetDemos/SpatialNav/TvSection/List.vue +75 -0
  120. package/MetroWidgetDemos/SpatialNav/TvSection/TvSection.vue +91 -0
  121. package/MetroWidgetDemos/basic2/App.vue +407 -0
  122. package/MetroWidgetDemos/basic2/Item.vue +68 -0
  123. package/MetroWidgetDemos/direction/App.vue +22 -0
  124. package/MetroWidgetDemos/gazeFocusDiff/App.vue +126 -0
  125. package/MetroWidgetDemos/gazeFocusDiff/Item.vue +87 -0
  126. package/MetroWidgetDemos/minimalUsage/App.vue +66 -0
  127. package/MetroWidgetDemos/minimalUsage/Item.vue +54 -0
  128. package/MetroWidgetDemos/ninePatchFocusPage/App.vue +23 -7
  129. package/MetroWidgetDemos/ninePatchFocusPage/Item.vue +7 -5
  130. package/MetroWidgetDemos/ninePatchFocusPage/focusConstants.js +2 -0
  131. package/MetroWidgetDemos/routeList.js +216 -12
  132. package/MetroWidgetDemos/slideSetting/App.vue +288 -99
  133. package/MetroWidgetDemos/zIndex/App.vue +117 -0
  134. package/MetroWidgetDemos/zIndex/Item.vue +61 -0
  135. package/NinePatchTester/App.vue +24 -31
  136. package/PreDecode/App.vue +140 -0
  137. package/ReactiveTest/App.vue +115 -0
  138. package/ReactiveTest/Item.vue +92 -0
  139. package/ReactiveTest/assets/imageList.js +245 -0
  140. package/ReactiveTest/component/TestSmartDiv.vue +50 -0
  141. package/ReactiveTest/component/TestSmartDivSrcList.vue +74 -0
  142. package/ReactiveTest/component/TestSmartImage.vue +46 -0
  143. package/ReactiveTest/component/TestSmartImageSrcList.vue +90 -0
  144. package/ReactiveTest/component/TestSmartImageStyle.vue +41 -0
  145. package/ReactiveTest/data.js +49 -0
  146. package/ScreenToBlob/App.vue +250 -0
  147. package/ScrollBoxTest/App.vue +52 -28
  148. package/ScrollBoxTest/ClipBar.vue +64 -2
  149. package/ScrollBoxTest/NinePatchBar.vue +64 -2
  150. package/ScrollBoxTest/SizeDivBar.vue +64 -2
  151. package/SecTorTest/App.vue +9 -3
  152. package/SpringFestival/SpringFestivalScene/FreeMoveBuilder.js +3 -3
  153. package/SyncDecode/App.vue +137 -0
  154. package/TextSizeLimit/App.vue +211 -0
  155. package/TextureAnimation/App3.vue +11 -1
  156. package/TouchWidget/App.vue +90 -5
  157. package/TouchWidget/WidgetItem.vue +1 -0
  158. package/TransitPage/App.vue +2 -0
  159. package/assets/logo.png +0 -0
  160. package/package.json +1 -1
  161. package/DemoForOperator/BookFlip/BookFlip/FlipPage.vue +0 -179
  162. package/DemoForOperator/BookFlip/BookFlip/FlippingBook.vue +0 -310
  163. package/DemoForOperator/BookFlip/BookFlip/flip.glsl +0 -135
  164. package/DemoForOperator/Genie/geniePakcer/Genie.vue +0 -741
  165. package/DemoForOperator/LongChatBox/TextManager.ts +0 -147
  166. package/DemoForOperator/LongChatBox/VirtualList.vue +0 -298
  167. package/DemoForOperator/LongChatBox/utile.js +0 -331
  168. package/DivMetroPerformance/App.vue +0 -157
  169. package/DivMetroPerformance/Item.vue +0 -58
  170. package/DivMetroPerformance/assets/bg.jpg +0 -0
  171. package/DivMetroPerformance/assets/coupon_content.png +0 -0
  172. package/DivMetroPerformance/assets/coupon_left.png +0 -0
  173. package/DivMetroPerformance/assets/coupon_mid.png +0 -0
  174. package/DivMetroPerformance/assets/coupon_right.png +0 -0
  175. package/DivMetroPerformance/assets/focus_border.png +0 -0
  176. package/DivMetroPerformance/assets/holder_logo.png +0 -0
  177. package/DivMetroPerformance/assets/jrbm.png +0 -0
  178. package/DivMetroPerformance/assets/line_left.png +0 -0
  179. package/DivMetroPerformance/assets/line_mid.png +0 -0
  180. package/DivMetroPerformance/assets/line_right.png +0 -0
  181. package/DivMetroPerformance/assets/loading.png +0 -0
  182. package/DivMetroPerformance/assets/logo.png +0 -0
  183. package/DivMetroPerformance/assets/mcjx.png +0 -0
  184. package/DivMetroPerformance/assets/tao.png +0 -0
  185. package/DivMetroPerformance/assets/tmall.png +0 -0
  186. package/DivMetroPerformance/border.png +0 -0
  187. package/DivMetroPerformance/components/ContentItem.vue +0 -384
  188. package/DivMetroPerformance/components/MyTab.vue +0 -129
  189. package/DivMetroPerformance/data.js +0 -124
  190. package/DivMetroPerformance/utils/GridItem.vue +0 -28
  191. package/DivMetroPerformance/utils/GridPlate.vue +0 -85
  192. package/MediaDemo/App.vue +0 -127
  193. package/MediaDemo/assets/audio-poster.png +0 -0
  194. package/MediaDemo/components/Button.vue +0 -69
  195. package/MediaDemo/components/Controllor.vue +0 -286
  196. package/MediaDemo/components/StatusBar.vue +0 -100
  197. package/MediaDemo/components/frames/AudioFrame.vue +0 -39
  198. package/MediaDemo/components/frames/AudioPoster.vue +0 -48
  199. package/MediaDemo/components/frames/MediaFrame.vue +0 -153
  200. package/MediaDemo/components/frames/VideoFrame.vue +0 -39
  201. package/MetroWidgetDemos/TripleWidget/App.vue +0 -87
  202. package/MetroWidgetDemos/TripleWidget/SWidgetItem.vue +0 -99
  203. package/Parkour/App.vue +0 -13
  204. package/Parkour/Common/Context.js +0 -21
  205. package/Parkour/Common/MatchmanInfo.js +0 -62
  206. package/Parkour/Common/Random.js +0 -61
  207. package/Parkour/Common/Sound.js +0 -50
  208. package/Parkour/appConfig/HOW_TO_CONFIG.md +0 -20
  209. package/Parkour/appConfig/app.config.mjs +0 -5
  210. package/Parkour/appConfig/app_sign_private_key_sample.crt +0 -28
  211. package/Parkour/appConfig/app_sign_public_key_sample.pem +0 -9
  212. package/Parkour/appConfig/jsview.config.mjs +0 -39
  213. package/Parkour/assets/Bgimages/bg1.png +0 -0
  214. package/Parkour/assets/Bgimages/bg2.png +0 -0
  215. package/Parkour/assets/Bgimages/bg3.png +0 -0
  216. package/Parkour/assets/Bgimages/bg4.png +0 -0
  217. package/Parkour/assets/Bgimages/bg5.png +0 -0
  218. package/Parkour/assets/audio/jump.mp3 +0 -0
  219. package/Parkour/assets/audio/lose.mp3 +0 -0
  220. package/Parkour/assets/role_skin1/fail.json +0 -44
  221. package/Parkour/assets/role_skin1/fail.png +0 -0
  222. package/Parkour/assets/role_skin1/jump_down.json +0 -20
  223. package/Parkour/assets/role_skin1/jump_down.png +0 -0
  224. package/Parkour/assets/role_skin1/jump_up.json +0 -44
  225. package/Parkour/assets/role_skin1/jump_up.png +0 -0
  226. package/Parkour/assets/role_skin1/roll.json +0 -44
  227. package/Parkour/assets/role_skin1/roll.png +0 -0
  228. package/Parkour/assets/role_skin1/run.json +0 -52
  229. package/Parkour/assets/role_skin1/run.png +0 -0
  230. package/Parkour/components/Backdrop.vue +0 -61
  231. package/Parkour/components/GameSence.vue +0 -602
  232. package/Parkour/components/Matchman.vue +0 -85
  233. package/TextureAnimation/utils/FrameCanvasStore.ts +0 -68
  234. package/TextureAnimation/utils/RotateFrame.vue +0 -146
  235. package/TextureAnimation/utils/circleHaloMask.png +0 -0
  236. package/ThrowMoveDemo/AccelerateDemo.vue +0 -85
  237. package/ThrowMoveDemo/App.vue +0 -104
  238. package/ThrowMoveDemo/LRParabolicDemo.vue +0 -101
  239. package/ThrowMoveDemo/TargetDemo.vue +0 -87
  240. package/ThrowMoveDemo/UDParabolicDemo.vue +0 -92
  241. /package/{AnimPicture/assets → assets}/animated_webp.webp +0 -0
  242. /package/{AnimPicture/assets → assets}/ball_3.webp +0 -0
  243. /package/{AnimPicture/assets → assets}/girl_run.gif +0 -0
  244. /package/{AnimPicture/assets → assets}/quan.webp +0 -0
@@ -1,68 +0,0 @@
1
- import {
2
- JsvTextureStoreApi,
3
- } from "jsview";
4
-
5
- declare interface CacheInfoType {
6
- borderRadius: number;
7
- lineWidth: number;
8
- canvasSourceId: String;
9
- borderOutset: number;
10
- canvasWidth: number;
11
- }
12
-
13
- let sCurrentCacheList: Array<CacheInfoType> = [];
14
-
15
- function checkCache(border_radius: number, line_width: number): CacheInfoType | null {
16
- for (let cache_item of sCurrentCacheList) {
17
- if (cache_item.borderRadius == border_radius && cache_item.lineWidth == line_width) {
18
- return cache_item;
19
- }
20
- }
21
- return null;
22
- }
23
-
24
- function BuildFrame(border_radius: number, line_width: number): CacheInfoType {
25
- let frame_cache: CacheInfoType | null;
26
-
27
- frame_cache = checkCache(border_radius, line_width);
28
- if (frame_cache != null) {
29
- return frame_cache;
30
- }
31
-
32
- let sampleImageWidth = (border_radius + line_width + 3) * 2;
33
- let canvasRef = JsvTextureStoreApi.canvasTexture(
34
- sampleImageWidth,
35
- sampleImageWidth
36
- ); // 创建画布
37
-
38
- let circleInnerDiameter = border_radius * 2; // 环形内直径, 为所要包括图形的borderRadius的一倍
39
- let circleLineWidth = line_width; // 线宽
40
- let circleRadius = Math.floor(circleInnerDiameter / 2 + circleLineWidth / 2); // 绘制线是圆圈的轨迹中线
41
- let customPath = canvasRef.circlePath(
42
- Math.floor(sampleImageWidth / 2),
43
- Math.floor(sampleImageWidth / 2),
44
- circleRadius
45
- ); // 创建圆环绘制路径,圆形在画布的中心点位置
46
- canvasRef.drawColor("rgba(0,0,0,0)"); // 画布绘制半透明底色
47
- customPath!.stroke(circleLineWidth, "#000000FF"); // 以给定线宽绘制圆环
48
- let source_id = canvasRef.commit(); // texture和div的textureStore绑定
49
-
50
- frame_cache = {
51
- canvasWidth: sampleImageWidth,
52
- borderRadius: border_radius,
53
- lineWidth: line_width,
54
- canvasSourceId: source_id,
55
- borderOutset: Math.floor((sampleImageWidth - circleInnerDiameter) / 2), // (画布 - 圆环内直径) / 2
56
- };
57
-
58
- // 永远保存,不删除,界面上理论上不会有太多种转框,所以只存不清理
59
- sCurrentCacheList.push(frame_cache);
60
-
61
- console.log("Rotate frame cache increase to " + sCurrentCacheList.length);
62
-
63
- return frame_cache;
64
- }
65
-
66
- export {
67
- BuildFrame,
68
- }
@@ -1,146 +0,0 @@
1
- <script setup>
2
- import { defineProps } from "vue";
3
- import { JsvTextureAnim, DECORATE_NINEPATCH_ALPHA_MIX } from "jsview";
4
- import { BuildFrame } from "./FrameCanvasStore";
5
- import mask from "./circleHaloMask.png";
6
-
7
- const rProps = defineProps({
8
- // 旋转圈内的url,可以是import内容,也可以是https内容
9
- imageUrl: {
10
- type: String,
11
- require: true,
12
- },
13
-
14
- // 所包含区域的left, top, width, height
15
- left: {
16
- type: Number,
17
- default: 0,
18
- },
19
- top: {
20
- type: Number,
21
- default: 0,
22
- },
23
- width: {
24
- type: Number,
25
- require: true,
26
- },
27
- height: {
28
- type: Number,
29
- require: true,
30
- },
31
-
32
- // 所包含区域的圆角值borderRadius
33
- borderRadius: {
34
- type: Number,
35
- require: true,
36
- },
37
-
38
- // 焦点框的线宽
39
- lineWidth: {
40
- type: Number,
41
- require: true,
42
- },
43
-
44
- // 焦点框旋转一圈所用的时间
45
- oneCircleTime: {
46
- type: Number,
47
- default: 0.5, // 转一圈0.5秒
48
- },
49
-
50
- // 是否需要外发光光晕
51
- withHalo: {
52
- type: Boolean,
53
- default: false,
54
- },
55
-
56
- /**
57
- * 设置转盘的绘制覆盖区域
58
- * 注意texture的尺寸需要兼顾最大的view即可
59
- */
60
- maxViewSize: {
61
- type: Object, // { width: Number, height: Number },
62
- default: {
63
- width: 400,
64
- height: 400,
65
- },
66
- },
67
- });
68
-
69
- // 基础旋转动画
70
- const cRotateAnimation =
71
- "{from {transform: rotate3d(0,0,1,0);} to {transform: rotate3d(0,0,1,360deg);}}";
72
-
73
- /**
74
- * 创建右图的边缘遮罩,可调节边框的粗细:circleLineWidth
75
- */
76
- // 设置设定模拟绘制.9图
77
- const cFrameInfo = BuildFrame(rProps.borderRadius, rProps.lineWidth);
78
-
79
- // 创建内边框(实心不发光部分)
80
- const ninePatchDecorator1 = {
81
- type: DECORATE_NINEPATCH_ALPHA_MIX,
82
- url: `jsvtexturestore://${cFrameInfo.canvasSourceId}`,
83
- imageWidth: cFrameInfo.canvasWidth, // 等同于画布宽
84
- centerWidth: 2, // 固定为1或2, 但1在PC上绘制可能有异常
85
- borderOutset: cFrameInfo.borderOutset, // (画布 - 圆环内直径) / 2
86
- animTime: rProps.oneCircleTime,
87
- };
88
-
89
- /**
90
- * 导入右图的边缘光晕部分的遮罩
91
- */
92
- // 外发光的圈的图片信息, 完全按照 circleHaloMask来配置
93
- const cOriginPngInfo = {
94
- size: 160, // 图片尺寸
95
- radius: 56, // 图片中的圆的圆内半径
96
- };
97
- const cRectRadius = Math.floor(rProps.borderRadius + rProps.lineWidth); // 光环在描边之外,留出描边的宽度
98
- const ninePatchDecorator2 = {
99
- type: DECORATE_NINEPATCH_ALPHA_MIX,
100
- url: `url(${mask})`,
101
- imageWidth: cOriginPngInfo.size,
102
- imageDspWidth: Math.floor(
103
- (cRectRadius / cOriginPngInfo.radius) * cOriginPngInfo.size
104
- ),
105
- centerWidth: 2,
106
- borderOutset: Math.floor(cOriginPngInfo.size / 2 - cOriginPngInfo.radius),
107
- animTime: rProps.oneCircleTime,
108
- };
109
-
110
- const texCoord = {
111
- width: rProps.maxViewSize.width,
112
- height: rProps.maxViewSize.height,
113
- };
114
- </script>
115
- <template>
116
- <div>
117
- <!-- 光晕(halo)在下,实心区域在上 -->
118
- <jsv-texture-anim
119
- v-if="rProps.withHalo"
120
- :src="rProps.imageUrl"
121
- :left="rProps.left"
122
- :top="rProps.top"
123
- :width="rProps.width"
124
- :height="rProps.height"
125
- :texCoord="texCoord"
126
- :animation="cRotateAnimation"
127
- :duration="5000"
128
- :repeat="-1"
129
- :autoStart="true"
130
- :decorate="ninePatchDecorator2"
131
- ></jsv-texture-anim>
132
- <jsv-texture-anim
133
- :src="rProps.imageUrl"
134
- :left="rProps.left"
135
- :top="rProps.top"
136
- :width="rProps.width"
137
- :height="rProps.height"
138
- :texCoord="texCoord"
139
- :animation="cRotateAnimation"
140
- :duration="5000"
141
- :repeat="-1"
142
- :autoStart="true"
143
- :decorate="ninePatchDecorator1"
144
- ></jsv-texture-anim>
145
- </div>
146
- </template>
@@ -1,85 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-10-20 18:27:25
4
- * @LastEditors: ZhengYi
5
- * @LastEditTime: 2023-05-05
6
- * @Description: file content
7
- -->
8
- <script setup>
9
- import { JsvActorMoveControl, JsvActorMove } from "jsview";
10
- import { shallowRef, computed } from "vue"
11
- const props = defineProps({
12
- name: String,
13
- })
14
- let direction = shallowRef(1)
15
- let throwControl = new JsvActorMoveControl(); // 抛物运动体控制器
16
- let moveControl = new JsvActorMoveControl(); // 平移运动体控制器
17
- let focusNode = shallowRef(null)
18
-
19
- const directionDetail = computed(() => {
20
- return direction.value > 0 ? "上" : "下";
21
- })
22
-
23
- const onKeyDown = (ev) => {
24
- if (ev.keyCode === 13) {
25
- let preDirection = direction.value;
26
- direction.value = -direction.value;
27
- throwControl.throwAlongY(
28
- 0,
29
- 750 * preDirection,
30
- {
31
- type: "catch",
32
- position: 200 * preDirection,
33
- direction: preDirection,
34
- },
35
- (x, y) => {
36
- console.log(`Throw end with x=${x} y=${y}`);
37
- }
38
- );
39
- return true;
40
- }
41
- return false;
42
- }
43
- </script>
44
-
45
- <template>
46
- <jsv-focus-block ref="focusNode" :name="props.name" autoFocus :onAction="{
47
- onKeyDown: onKeyDown,
48
- }">
49
- <div key="sample1" class="detail-font" :style="{ top: 150, left: 425, width: 430, height: 40 }">
50
- {{ `向${directionDetail}加速` }}
51
- </div>
52
- <div key="DirectText" class="font" :style="{ top: 250, left: 425, width: 430, height: 40 }">
53
- {{ `当前方向:${directionDetail}` }}
54
- </div>
55
- <div :style="{ top: 590, left: 625 }">
56
- <jsv-actor-move key="move" :control="moveControl">
57
- <jsv-actor-move key="throw" :control="throwControl">
58
- <div :style="{ backgroundColor: '#FF0000', width: 30, height: 30 }"></div>
59
- </jsv-actor-move>
60
- </jsv-actor-move>
61
- </div>
62
- </jsv-focus-block>
63
- </template>
64
-
65
- <style scoped>
66
- .font {
67
- font-size: 32;
68
- color: #73665c;
69
- line-height: 40;
70
- overflow: hidden;
71
- white-space: nowrap;
72
- text-overflow: ellipsis;
73
- text-align: center;
74
- }
75
-
76
- .detail-font {
77
- font-size: 32;
78
- color: #f7f7eb;
79
- line-height: 30;
80
- overflow: hidden;
81
- white-space: nowrap;
82
- text-overflow: ellipsis;
83
- text-align: center;
84
- }
85
- </style>
@@ -1,104 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-10-20 18:27:08
4
- * @LastEditors: ZhengYi
5
- * @LastEditTime: 2023-05-05
6
- * @Description: file content
7
- -->
8
- <script setup>
9
- import LRParabolicDemo from "./LRParabolicDemo.vue";
10
- import UDParabolicDemo from "./UDParabolicDemo.vue";
11
- import TargetDemo from "./TargetDemo.vue";
12
- import AccelerateDemo from "./AccelerateDemo.vue";
13
- import { shallowRef } from "vue"
14
- import { useRouter } from "vue-router"
15
-
16
- const router=useRouter()
17
- let demoIndex=shallowRef(0)
18
-
19
- const onKeyDown=(ev)=>{
20
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
21
- router?.go(-1); // 有router时,是从DemoHomepage进入,回退
22
- return true;
23
- }
24
- if (ev.keyCode === 37) {
25
- demoIndex.value = demoIndex.value - 1 < 0 ? 3 : demoIndex.value - 1;
26
- } else if (ev.keyCode === 39) {
27
- demoIndex.value = demoIndex.value + 1 > 3 ? 0 : demoIndex.value + 1;
28
- }
29
- return true;
30
- }
31
- </script>
32
-
33
- <template>
34
- <div
35
- :style="{
36
- width: 1920,
37
- height: 1080,
38
- backgroundColor: '#000000',
39
- }"
40
- >
41
- <div
42
- key="leftWall"
43
- :style="{
44
- top: 0,
45
- left: 425,
46
- width: 5,
47
- height: 620,
48
- backgroundColor: '#F0F000',
49
- }"
50
- />
51
- <div
52
- key="rightWall"
53
- :style="{
54
- top: 0,
55
- left: 850,
56
- width: 5,
57
- height: 620,
58
- backgroundColor: '#F0F000',
59
- }"
60
- />
61
- <div
62
- key="bottomWall"
63
- :style="{
64
- top: 620,
65
- left: 425,
66
- width: 430,
67
- height: 5,
68
- backgroundColor: '#F0F000',
69
- }"
70
- />
71
- <div
72
- key="GuidText1"
73
- className="{CssStyles.FontStyle.getName()}"
74
- :style="{ top: 625, left: (1280 - 430) / 2, width: 430, height: 40 }"
75
- >
76
- {`按OK键进行跳跃和转向`}
77
- </div>
78
- <div
79
- key="GuidText2"
80
- className="{CssStyles.FontStyle.getName()}"
81
- :style="{ top: 625 + 40, left: (1280 - 430) / 2, width: 430, height: 40 }"
82
- >
83
- {`左右键切换不同模式的Demo`}
84
- </div>
85
- <jsv-focus-block
86
- autoFocus
87
- ref="focusNode"
88
- :onAction="{
89
- onKeyDown: onKeyDown,
90
- }"
91
- >
92
- <LRParabolicDemo
93
- v-if="demoIndex === 0"
94
- name="/actorMove"
95
- ></LRParabolicDemo>
96
- <UDParabolicDemo v-if="demoIndex === 1" name="/udDemo"></UDParabolicDemo>
97
- <TargetDemo v-if="demoIndex === 2" name="/targetDemo"></TargetDemo>
98
- <AccelerateDemo
99
- v-if="demoIndex === 3"
100
- name="/accelerateDemo"
101
- ></AccelerateDemo>
102
- </jsv-focus-block>
103
- </div>
104
- </template>
@@ -1,101 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-10-20 18:27:25
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2021-10-21 14:01:59
6
- * @Description: file content
7
- -->
8
- <script setup>
9
- import { JsvActorMoveControl, JsvActorMove } from "jsview";
10
- import { shallowRef } from "vue";
11
-
12
- const props = defineProps({
13
- name: String,
14
- });
15
-
16
- let throwControl = new JsvActorMoveControl(); // 抛物运动体控制器
17
- let moveControl = new JsvActorMoveControl(); // 平移运动体控制器
18
-
19
- let direction = shallowRef(1);
20
-
21
- function onKeyDown(ev) {
22
- switch (ev.keyCode) {
23
- case 13:
24
- direction.value = -direction.value;
25
-
26
- moveControl.moveToX(195 * direction.value, 250, (x, y) => {
27
- console.log(`Move end with x=${x} y=${y}`);
28
- });
29
- throwControl.throwAlongY(
30
- -500,
31
- 750,
32
- { type: "catch", position: 0, direction: 1 },
33
- (x, y) => {
34
- console.log(`Throw end with x=${x} y=${y}`);
35
- },
36
- () => {
37
- console.log("Get to the pole...");
38
- }
39
- );
40
- return true;
41
- }
42
- return false;
43
- }
44
- </script>
45
-
46
- <template>
47
- <jsv-focus-block
48
- ref="focusNode"
49
- :name="name"
50
- autoFocus
51
- :onAction="{
52
- onKeyDown: onKeyDown,
53
- }"
54
- >
55
- <div
56
- key="sample1"
57
- class="detail-font"
58
- :style="{ top: 150, left: 425, width: 430, height: 40 }"
59
- >
60
- 抛物线运动
61
- </div>
62
- <div
63
- key="DirectText"
64
- class="font"
65
- :style="{ top: 250, left: 425, width: 430, height: 40 }"
66
- >
67
- {{ `当前方向:${direction > 0 ? "右" : "左"}` }}
68
- </div>
69
- <div :style="{ top: 590, left: 625 }">
70
- <jsv-actor-move key="move" :control="moveControl">
71
- <jsv-actor-move key="throw" :control="throwControl">
72
- <div
73
- :style="{ backgroundColor: '#00FF00', width: 30, height: 30 }"
74
- ></div>
75
- </jsv-actor-move>
76
- </jsv-actor-move>
77
- </div>
78
- </jsv-focus-block>
79
- </template>
80
-
81
- <style scoped>
82
- .font {
83
- font-size: 32;
84
- color: #73665c;
85
- line-height: 40;
86
- overflow: hidden;
87
- white-space: nowrap;
88
- text-overflow: ellipsis;
89
- text-align: center;
90
- }
91
-
92
- .detail-font {
93
- font-size: 32;
94
- color: #f7f7eb;
95
- line-height: 30;
96
- overflow: hidden;
97
- white-space: nowrap;
98
- text-overflow: ellipsis;
99
- text-align: center;
100
- }
101
- </style>
@@ -1,87 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-10-20 18:27:25
4
- * @LastEditors: ZhengYi
5
- * @LastEditTime: 2023-05-05
6
- * @Description: file content
7
- -->
8
- <script setup>
9
- import { JsvActorMoveControl, JsvActorMove } from "jsview";
10
- import { shallowRef } from "vue";
11
-
12
- const props = defineProps({
13
- name: String,
14
- })
15
- let direction = shallowRef(1)
16
- let throwControl = new JsvActorMoveControl(); // 抛物运动体控制器
17
- let moveControl = new JsvActorMoveControl(); // 平移运动体控制器
18
- let focusNode=shallowRef(null)
19
-
20
- const onKeyDown=(ev)=>{
21
- if (ev.keyCode === 13) {
22
- let preDirection = direction.value;
23
- direction.value = -direction.value;
24
- moveControl.moveToX(195 * direction.value, 250, (x, y) => {
25
- console.log(`Move end with x=${x} y=${y}`);
26
- });
27
- const position = (-100 * preDirection) / 2;
28
- throwControl.throwAlongY(
29
- -500 * preDirection,
30
- 750 * preDirection,
31
- {
32
- type: "catch",
33
- position,
34
- direction: -1 * preDirection,
35
- },
36
- (x, y) => {
37
- console.log(`Throw end with x=${x} y=${y}`);
38
- }
39
- );
40
- return true;
41
- }
42
- return false;
43
- }
44
-
45
- </script>
46
-
47
- <template>
48
- <jsv-focus-block ref="focusNode" :name="props.name" autoFocus :onAction="{
49
- onKeyDown: onKeyDown,
50
- }">
51
- <div key="sample1" class="detail-font" :style="{ top: 150, left: 425, width: 430, height: 40 }">
52
- 拐点前触碰目标点
53
- </div>
54
- <div key="DirectText" class="font" :style="{ top: 250, left: 425, width: 430, height: 40 }">
55
- {{ `当前方向:${direction > 0 ? "右" : "左"}` }}
56
- </div>
57
- <div :style="{ top: 590, left: 625 }">
58
- <jsv-actor-move key="move" :control="moveControl">
59
- <jsv-actor-move key="throw" :control="throwControl">
60
- <div :style="{ backgroundColor: '#0916ff', width: 30, height: 30 }"></div>
61
- </jsv-actor-move>
62
- </jsv-actor-move>
63
- </div>
64
- </jsv-focus-block>
65
- </template>
66
-
67
- <style scoped>
68
- .font {
69
- font-size: 32;
70
- color: #73665c;
71
- line-height: 40;
72
- overflow: hidden;
73
- white-space: nowrap;
74
- text-overflow: ellipsis;
75
- text-align: center;
76
- }
77
-
78
- .detail-font {
79
- font-size: 32;
80
- color: #f7f7eb;
81
- line-height: 30;
82
- overflow: hidden;
83
- white-space: nowrap;
84
- text-overflow: ellipsis;
85
- text-align: center;
86
- }
87
- </style>
@@ -1,92 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-10-20 18:27:25
4
- * @LastEditors: ZhengYi
5
- * @LastEditTime: 2023-05-05
6
- * @Description: file content
7
- -->
8
- <script setup>
9
- import { JsvActorMoveControl, JsvActorMove } from "jsview";
10
- import { shallowRef, computed } from "vue";
11
-
12
- let throwControl = new JsvActorMoveControl(); // 抛物运动体控制器
13
- let moveControl = new JsvActorMoveControl(); // 平移运动体控制器
14
- let focusNode=shallowRef(null)
15
-
16
- const props = defineProps({
17
- name: String,
18
- })
19
- let direction = shallowRef(1)
20
-
21
- const directionDetail = computed(() => {
22
- return direction.value < 0 ? "上" : "下";
23
- })
24
- const detail = computed(() => {
25
- return direction.value < 0 ? "向上抛物" : "向下掷物并弹起";
26
- })
27
-
28
- const onKeyDown=(ev)=>{
29
- let preDirection = direction.value;
30
- switch (ev.keyCode) {
31
- case 13:
32
- direction.value = -direction.value;
33
- throwControl.throwAlongY(
34
- -400 * preDirection,
35
- 550 * preDirection,
36
- {
37
- type: "catch",
38
- position: 100 * preDirection,
39
- direction: preDirection,
40
- },
41
- (x, y) => {
42
- console.log(`Throw end with x=${x} y=${y}`);
43
- }
44
- );
45
- return true;
46
- }
47
- return false;
48
- }
49
-
50
- </script>
51
-
52
- <template>
53
- <jsv-focus-block ref="focusNode" :name="props.name" autoFocus :onAction="{
54
- onKeyDown: onKeyDown,
55
- }">
56
- <div key="sample1" class="detail-font" :style="{ top: 150, left: 425, width: 430, height: 40 }">
57
- {{ detail }}
58
- </div>
59
- <div key="DirectText" class="font" :style="{ top: 250, left: 425, width: 430, height: 40 }">
60
- {{ `当前方向:${directionDetail}` }}
61
- </div>
62
- <div :style="{ top: 590, left: 625 }">
63
- <jsv-actor-move key="move" :control="moveControl">
64
- <jsv-actor-move key="throw" :control="throwControl">
65
- <div :style="{ backgroundColor: '#ffb915', width: 30, height: 30 }"></div>
66
- </jsv-actor-move>
67
- </jsv-actor-move>
68
- </div>
69
- </jsv-focus-block>
70
- </template>
71
-
72
- <style scoped>
73
- .font {
74
- font-size: 32;
75
- color: #73665c;
76
- line-height: 40;
77
- overflow: hidden;
78
- white-space: nowrap;
79
- text-overflow: ellipsis;
80
- text-align: center;
81
- }
82
-
83
- .detail-font {
84
- font-size: 32;
85
- color: #f7f7eb;
86
- line-height: 30;
87
- overflow: hidden;
88
- white-space: nowrap;
89
- text-overflow: ellipsis;
90
- text-align: center;
91
- }
92
- </style>
File without changes
File without changes
File without changes