@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.
Files changed (326) 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/DashPath/App.vue +17 -16
  24. package/DashPath/AppForOperator.vue +2 -4
  25. package/DemoForOperator/AnimPic/AnimPic.vue +24 -2
  26. package/DemoForOperator/Banger/Banger/Banger.vue +73 -9
  27. package/DemoForOperator/Blur/Blur.vue +146 -0
  28. package/DemoForOperator/Blur/BlurInOut/BlurInOut.vue +184 -0
  29. package/DemoForOperator/Blur/BlurInOut/StaticBgSlide.vue +162 -0
  30. package/DemoForOperator/Blur/BlurPopup/BlurPopup.vue +249 -0
  31. package/DemoForOperator/BookFlip/App.vue +115 -0
  32. package/DemoForOperator/BookFlip/BookPage.vue +82 -0
  33. package/DemoForOperator/Bounce/Bounce.vue +33 -1
  34. package/DemoForOperator/Bounce/FreeMoveBuilder.js +1 -1
  35. package/DemoForOperator/ChunLian/Couplets.vue +44 -1
  36. package/DemoForOperator/ClickSpriteAnim/App.vue +130 -0
  37. package/DemoForOperator/ClickSpriteAnim/Item.vue +74 -0
  38. package/DemoForOperator/DominantColor/App.vue +187 -0
  39. package/DemoForOperator/EpisodeList/EpisodeList/Controller.vue +0 -3
  40. package/DemoForOperator/EpisodeList/EpisodeList/EpisodeList.vue +76 -2
  41. package/DemoForOperator/Firework1/App.vue +13 -2
  42. package/DemoForOperator/Firework1/Fireworks.vue +68 -11
  43. package/DemoForOperator/FlipPage/FlipPage/FlipPage.vue +30 -1
  44. package/DemoForOperator/Focus/Alpha/AlphaFocusBox.vue +27 -2
  45. package/DemoForOperator/Focus/Alpha/Item.vue +1 -0
  46. package/DemoForOperator/Focus/Light/Item.vue +1 -0
  47. package/DemoForOperator/Focus/Light/LightFocusBox.vue +42 -1
  48. package/DemoForOperator/Focus/Normal/Item.vue +1 -0
  49. package/DemoForOperator/Focus/Normal/NormalFocusBox.vue +12 -0
  50. package/DemoForOperator/FrameShadow/App.vue +193 -0
  51. package/DemoForOperator/FrameShadow/FrameShadow.vue +61 -0
  52. package/DemoForOperator/FullscreenIn/App.vue +1 -1
  53. package/DemoForOperator/FullscreenIn/FullscreenPoster.vue +18 -3
  54. package/DemoForOperator/Genie/App.vue +20 -6
  55. package/DemoForOperator/Genie/App2.vue +61 -0
  56. package/DemoForOperator/Genie/geniePakcer/GenieImage.vue +298 -0
  57. package/DemoForOperator/Genie/geniePakcer/GenieSlot.vue +292 -0
  58. package/DemoForOperator/Genie/geniePakcer/GenieTools.ts +463 -0
  59. package/DemoForOperator/GrayFilter/GrayFilter.vue +21 -0
  60. package/DemoForOperator/Jigsaw/JigsawFull.vue +58 -11
  61. package/DemoForOperator/Jigsaw/JigsawSingle.vue +47 -9
  62. package/DemoForOperator/LongChatBox/App.vue +36 -0
  63. package/DemoForOperator/LongChatBox/Bubble.vue +116 -0
  64. package/DemoForOperator/LongChatBox/LongChat.vue +204 -0
  65. package/DemoForOperator/LongChatBox/testData.js +14 -0
  66. package/DemoForOperator/Particle/Drop/DropParticle.vue +33 -1
  67. package/DemoForOperator/Particle/Explode/ExplodeParticle.vue +23 -2
  68. package/DemoForOperator/PosterAnim/PosterAnim.js +21 -0
  69. package/DemoForOperator/PosterOverflow/PosterOverflow.vue +16 -0
  70. package/DemoForOperator/Resize/App.vue +157 -0
  71. package/DemoForOperator/Resize/Resize/Item.vue +234 -0
  72. package/DemoForOperator/Resize/Resize/Resize.vue +96 -0
  73. package/DemoForOperator/Ripple/Ripple.vue +16 -1
  74. package/DemoForOperator/ScreenShootScale/App.vue +96 -0
  75. package/DemoForOperator/ScreenShootScale/Back.vue +86 -0
  76. package/DemoForOperator/ScreenShootScale/Front.vue +133 -0
  77. package/DemoForOperator/ScreenShootScale/Item.vue +62 -0
  78. package/DemoForOperator/ScreenShootScale/ScreenShootScale.vue +109 -0
  79. package/DemoForOperator/SmoothSwiper/App.vue +50 -0
  80. package/DemoForOperator/Sound/Bounce/App.vue +56 -0
  81. package/DemoForOperator/Sound/Bounce/Bounce.vue +87 -0
  82. package/DemoForOperator/Sound/Bounce/FreeMoveBuilder.js +146 -0
  83. package/DemoForOperator/Sound/Bounce/bgmusic.mp3 +0 -0
  84. package/DemoForOperator/Sound/Bounce/coin.mp3 +0 -0
  85. package/DemoForOperator/Sound/FocusMove/App.vue +134 -0
  86. package/DemoForOperator/Sound/FocusMove/Item.vue +43 -0
  87. package/DemoForOperator/Sound/FocusMove/move.mp3 +0 -0
  88. package/DemoForOperator/Sound/Rain/App.vue +11 -0
  89. package/DemoForOperator/Sound/Rain/Raining/Rain.vue +69 -0
  90. package/DemoForOperator/Sound/Rain/Raining/RainScene.vue +118 -0
  91. package/DemoForOperator/Sound/Sound/Sound.vue +24 -0
  92. package/DemoForOperator/Sound/Sound/index.js +4 -0
  93. package/DemoForOperator/Sound/Sound/useSound.js +112 -0
  94. package/DemoForOperator/Sprite/Sprite.vue +62 -5
  95. package/DemoForOperator/Stretch/Stretch/Stretch.vue +52 -2
  96. package/DemoForOperator/Swiper/App.vue +101 -0
  97. package/DemoForOperator/Swiper/Item.vue +56 -0
  98. package/DemoForOperator/Swiper/ParallaxSlide.vue +164 -0
  99. package/DemoForOperator/TabContent/TabContent/TabContent.vue +39 -1
  100. package/DemoForOperator/TabContentVertical/App.vue +104 -0
  101. package/DemoForOperator/TabContentVertical/ContentPage.vue +67 -0
  102. package/DemoForOperator/TabContentVertical/Item.vue +94 -0
  103. package/DemoForOperator/TabContentVertical/PageItem.vue +40 -0
  104. package/DemoForOperator/TabContentVertical/TabContent/CreepFocus.vue +160 -0
  105. package/DemoForOperator/TabContentVertical/TabContent/Item.vue +63 -0
  106. package/DemoForOperator/TabContentVertical/TabContent/TabContent.vue +184 -0
  107. package/DemoForOperator/TabContentVertical/TabContent/TabItem.vue +368 -0
  108. package/DemoForOperator/TabContentVertical/TabContent/TabWidget.vue +259 -0
  109. package/DemoForOperator/TabContentVertical/TabContent/Util.js +3 -0
  110. package/DemoForOperator/TabContentVertical/TabContent/ViewSwiper.vue +110 -0
  111. package/DemoForOperator/TabContentVertical/assets/children_science.png +0 -0
  112. package/DemoForOperator/TabContentVertical/assets/documentary.png +0 -0
  113. package/DemoForOperator/TabContentVertical/assets/free.png +0 -0
  114. package/DemoForOperator/TabContentVertical/assets/game.png +0 -0
  115. package/DemoForOperator/TabContentVertical/assets/home_selected.png +0 -0
  116. package/DemoForOperator/TabContentVertical/assets/movie_ticket.png +0 -0
  117. package/DemoForOperator/TabContentVertical/assets/my_account.png +0 -0
  118. package/DemoForOperator/TabContentVertical/assets/opera.png +0 -0
  119. package/DemoForOperator/TabContentVertical/assets/sports.png +0 -0
  120. package/DemoForOperator/TabContentVertical/assets/tv_drama.png +0 -0
  121. package/DemoForOperator/TabContentVertical/assets/variety_show.png +0 -0
  122. package/DemoForOperator/TabContentVertical/assets/vip.png +0 -0
  123. package/DemoForOperator/TabContentVertical/testData.js +76 -0
  124. package/DemoForOperator/Vortex/Vortex/Vortex.vue +26 -0
  125. package/DemoForOperator/routeList.js +125 -2
  126. package/DemoHomepage/App.vue +74 -1
  127. package/DemoHomepage/components/BodyFrame.vue +5 -0
  128. package/DemoHomepage/components/Item.vue +11 -0
  129. package/DemoHomepage/components/TabFrame.vue +1 -1
  130. package/DemoHomepage/router.js +798 -140
  131. package/DemoHomepage/views/Homepage.vue +60 -2
  132. package/DemoHomepage/watchTest.vue +50 -0
  133. package/DomRenderer/App.vue +133 -0
  134. package/FilterDemo/AnimatePic.vue +63 -17
  135. package/FilterDemo/App.vue +3 -3
  136. package/FlexCellDemo/AI_skills_update.md +4 -0
  137. package/FlexCellDemo/TestFrame1.vue +12 -2
  138. package/FlexCellDemo/TestFrame2.vue +10 -1
  139. package/FlexCellDemo/TestFrame3.vue +114 -59
  140. package/FpsLimit/App.vue +102 -0
  141. package/FreeMove/App.vue +24 -279
  142. package/FreeMove/TestScene1.vue +260 -0
  143. package/FreeMove/TestScene3.vue +431 -0
  144. package/FreeMoveChildAttract/App.vue +18 -8
  145. package/FreeMoveLink/App.vue +51 -22
  146. package/GiftRain/components/SpriteTranslate.vue +68 -48
  147. package/HashHistory/App.vue +2 -2
  148. package/HashHistory/router.js +1 -1
  149. package/Hover/App.vue +144 -0
  150. package/HttpRequestSSE/SSEReader.js +200 -0
  151. package/ImpactStop/App.vue +2 -2
  152. package/Input/FullKeyboard.vue +3 -3
  153. package/Input/InputPanel.vue +63 -3
  154. package/JsvLine/App.vue +53 -38
  155. package/LatexDemo/App.vue +3 -1
  156. package/LatexFormula/App.vue +196 -0
  157. package/LongImage/App.vue +1 -1
  158. package/LongImage/LongImageScroll.vue +111 -46
  159. package/LongImage/Scroll.vue +28 -9
  160. package/LongText/LongTextScroll.vue +14 -1
  161. package/Markdown/App.vue +36 -0
  162. package/Markdown/Bubble.vue +109 -0
  163. package/Markdown/LongChat.vue +216 -0
  164. package/Markdown/data.js +633 -0
  165. package/MetroWidgetDemos/AI_skills_update.md +2 -0
  166. package/MetroWidgetDemos/EpgFlowListType/App.vue +206 -0
  167. package/MetroWidgetDemos/EpgFlowListType/components/ContentCard.vue +105 -0
  168. package/MetroWidgetDemos/EpgFlowListType/components/FloorSection.vue +131 -0
  169. package/MetroWidgetDemos/EpgFlowListType/components/LeftTabItem.vue +41 -0
  170. package/MetroWidgetDemos/EpgFlowListType/data.js +78 -0
  171. package/MetroWidgetDemos/ListExpand/ChildItem.vue +130 -0
  172. package/MetroWidgetDemos/ListExpand/ExpandItem.vue +375 -0
  173. package/MetroWidgetDemos/ListExpand/ExpandItem1.vue +403 -0
  174. package/MetroWidgetDemos/ListExpand/assets/arrow-down.png +0 -0
  175. package/MetroWidgetDemos/ListExpand/assets/up-arrow.png +0 -0
  176. package/MetroWidgetDemos/ListExpand/components/WidgetListHandler.vue +150 -0
  177. package/MetroWidgetDemos/ListExpand/index.vue +88 -0
  178. package/MetroWidgetDemos/ListExpand/list.js +2421 -0
  179. package/MetroWidgetDemos/RefreshDemo/App.vue +14 -1
  180. package/MetroWidgetDemos/RenderAccelerate/App.vue +142 -0
  181. package/MetroWidgetDemos/RenderAccelerate/AppPage.vue +78 -0
  182. package/MetroWidgetDemos/RenderAccelerate/AppTab.vue +62 -0
  183. package/MetroWidgetDemos/RenderAccelerate/ContentItem.vue +409 -0
  184. package/MetroWidgetDemos/{TripleWidget → RenderAccelerate}/Item.vue +6 -3
  185. package/MetroWidgetDemos/RenderAccelerate/TabItem.vue +100 -0
  186. package/MetroWidgetDemos/RenderAccelerate/ViewSwiper.vue +215 -0
  187. package/MetroWidgetDemos/RenderAccelerate/WidgetItem.vue +107 -0
  188. package/MetroWidgetDemos/SkeletonDiagram/App.vue +35 -8
  189. package/MetroWidgetDemos/SkeletonDiagram/Item.vue +11 -2
  190. package/MetroWidgetDemos/SkeletonDiagram/assets/imageList.js +245 -0
  191. package/MetroWidgetDemos/SkeletonDiagram/data.js +3 -3
  192. package/MetroWidgetDemos/SpatialNav/App.vue +177 -0
  193. package/MetroWidgetDemos/SpatialNav/Buttons.vue +83 -0
  194. package/MetroWidgetDemos/SpatialNav/CustomFocus.vue +57 -0
  195. package/MetroWidgetDemos/SpatialNav/Item.vue +71 -0
  196. package/MetroWidgetDemos/SpatialNav/SimpleFloor.vue +86 -0
  197. package/MetroWidgetDemos/SpatialNav/StepMw.vue +113 -0
  198. package/MetroWidgetDemos/SpatialNav/TabContent/TabContent.vue +185 -0
  199. package/MetroWidgetDemos/SpatialNav/TripleSection/TripleSection.vue +69 -0
  200. package/MetroWidgetDemos/SpatialNav/TripleSection/WidgetItem.vue +100 -0
  201. package/MetroWidgetDemos/SpatialNav/TvSection/List.vue +75 -0
  202. package/MetroWidgetDemos/SpatialNav/TvSection/TvSection.vue +91 -0
  203. package/MetroWidgetDemos/basic2/App.vue +407 -0
  204. package/MetroWidgetDemos/basic2/Item.vue +68 -0
  205. package/MetroWidgetDemos/direction/App.vue +22 -0
  206. package/MetroWidgetDemos/gazeFocusDiff/App.vue +126 -0
  207. package/MetroWidgetDemos/gazeFocusDiff/Item.vue +87 -0
  208. package/MetroWidgetDemos/minimalUsage/App.vue +66 -0
  209. package/MetroWidgetDemos/minimalUsage/Item.vue +54 -0
  210. package/MetroWidgetDemos/ninePatchFocusPage/App.vue +23 -7
  211. package/MetroWidgetDemos/ninePatchFocusPage/Item.vue +7 -5
  212. package/MetroWidgetDemos/ninePatchFocusPage/focusConstants.js +2 -0
  213. package/MetroWidgetDemos/routeList.js +229 -8
  214. package/MetroWidgetDemos/slideSetting/App.vue +288 -99
  215. package/MetroWidgetDemos/zIndex/App.vue +117 -0
  216. package/MetroWidgetDemos/zIndex/Item.vue +61 -0
  217. package/NinePatchTester/App.vue +24 -31
  218. package/PosterPacker/App.vue +2 -2
  219. package/PreDecode/App.vue +140 -0
  220. package/ReactiveTest/App.vue +115 -0
  221. package/ReactiveTest/Item.vue +92 -0
  222. package/ReactiveTest/assets/imageList.js +245 -0
  223. package/ReactiveTest/component/TestSmartDiv.vue +50 -0
  224. package/ReactiveTest/component/TestSmartDivSrcList.vue +74 -0
  225. package/ReactiveTest/component/TestSmartImage.vue +46 -0
  226. package/ReactiveTest/component/TestSmartImageSrcList.vue +90 -0
  227. package/ReactiveTest/component/TestSmartImageStyle.vue +41 -0
  228. package/ReactiveTest/data.js +49 -0
  229. package/ScreenToBlob/App.vue +250 -0
  230. package/ScrollBoxTest/App.vue +52 -28
  231. package/ScrollBoxTest/ClipBar.vue +64 -2
  232. package/ScrollBoxTest/NinePatchBar.vue +64 -2
  233. package/ScrollBoxTest/SizeDivBar.vue +64 -2
  234. package/SecTorTest/App.vue +9 -3
  235. package/SpringFestival/SpringFestivalScene/FreeMoveBuilder.js +3 -3
  236. package/SyncDecode/App.vue +137 -0
  237. package/TextSizeLimit/App.vue +211 -0
  238. package/TextureAnimation/App3.vue +11 -1
  239. package/TouchWidget/App.vue +90 -5
  240. package/TouchWidget/WidgetItem.vue +1 -0
  241. package/TransitPage/App.vue +2 -0
  242. package/ViewOpacity/App.vue +19 -0
  243. package/assets/logo.png +0 -0
  244. package/package.json +1 -1
  245. package/DashPath/DashPath.vue +0 -118
  246. package/DemoForOperator/Genie/geniePakcer/Genie.vue +0 -699
  247. package/DemoForOperator/ScalePoster/App.vue +0 -4
  248. package/DemoForOperator/ScalePoster/ScalePoster.vue +0 -0
  249. package/DivMetroPerformance/App.vue +0 -157
  250. package/DivMetroPerformance/Item.vue +0 -58
  251. package/DivMetroPerformance/assets/bg.jpg +0 -0
  252. package/DivMetroPerformance/assets/coupon_content.png +0 -0
  253. package/DivMetroPerformance/assets/coupon_left.png +0 -0
  254. package/DivMetroPerformance/assets/coupon_mid.png +0 -0
  255. package/DivMetroPerformance/assets/coupon_right.png +0 -0
  256. package/DivMetroPerformance/assets/focus_border.png +0 -0
  257. package/DivMetroPerformance/assets/holder_logo.png +0 -0
  258. package/DivMetroPerformance/assets/jrbm.png +0 -0
  259. package/DivMetroPerformance/assets/line_left.png +0 -0
  260. package/DivMetroPerformance/assets/line_mid.png +0 -0
  261. package/DivMetroPerformance/assets/line_right.png +0 -0
  262. package/DivMetroPerformance/assets/loading.png +0 -0
  263. package/DivMetroPerformance/assets/logo.png +0 -0
  264. package/DivMetroPerformance/assets/mcjx.png +0 -0
  265. package/DivMetroPerformance/assets/tao.png +0 -0
  266. package/DivMetroPerformance/assets/tmall.png +0 -0
  267. package/DivMetroPerformance/border.png +0 -0
  268. package/DivMetroPerformance/components/ContentItem.vue +0 -384
  269. package/DivMetroPerformance/components/MyTab.vue +0 -129
  270. package/DivMetroPerformance/data.js +0 -124
  271. package/DivMetroPerformance/utils/GridItem.vue +0 -28
  272. package/DivMetroPerformance/utils/GridPlate.vue +0 -85
  273. package/MediaDemo/App.vue +0 -127
  274. package/MediaDemo/assets/audio-poster.png +0 -0
  275. package/MediaDemo/components/Button.vue +0 -69
  276. package/MediaDemo/components/Controllor.vue +0 -286
  277. package/MediaDemo/components/StatusBar.vue +0 -100
  278. package/MediaDemo/components/frames/AudioFrame.vue +0 -39
  279. package/MediaDemo/components/frames/AudioPoster.vue +0 -48
  280. package/MediaDemo/components/frames/MediaFrame.vue +0 -153
  281. package/MediaDemo/components/frames/VideoFrame.vue +0 -39
  282. package/MetroWidgetDemos/TripleWidget/App.vue +0 -81
  283. package/MetroWidgetDemos/TripleWidget/SWidgetItem.vue +0 -93
  284. package/MetroWidgetDemos/TripleWidget/WidgetItem.vue +0 -111
  285. package/Parkour/App.vue +0 -13
  286. package/Parkour/Common/Context.js +0 -21
  287. package/Parkour/Common/MatchmanInfo.js +0 -62
  288. package/Parkour/Common/Random.js +0 -61
  289. package/Parkour/Common/Sound.js +0 -50
  290. package/Parkour/appConfig/HOW_TO_CONFIG.md +0 -20
  291. package/Parkour/appConfig/app.config.mjs +0 -5
  292. package/Parkour/appConfig/app_sign_private_key_sample.crt +0 -28
  293. package/Parkour/appConfig/app_sign_public_key_sample.pem +0 -9
  294. package/Parkour/appConfig/jsview.config.mjs +0 -39
  295. package/Parkour/assets/Bgimages/bg1.png +0 -0
  296. package/Parkour/assets/Bgimages/bg2.png +0 -0
  297. package/Parkour/assets/Bgimages/bg3.png +0 -0
  298. package/Parkour/assets/Bgimages/bg4.png +0 -0
  299. package/Parkour/assets/Bgimages/bg5.png +0 -0
  300. package/Parkour/assets/audio/jump.mp3 +0 -0
  301. package/Parkour/assets/audio/lose.mp3 +0 -0
  302. package/Parkour/assets/role_skin1/fail.json +0 -44
  303. package/Parkour/assets/role_skin1/fail.png +0 -0
  304. package/Parkour/assets/role_skin1/jump_down.json +0 -20
  305. package/Parkour/assets/role_skin1/jump_down.png +0 -0
  306. package/Parkour/assets/role_skin1/jump_up.json +0 -44
  307. package/Parkour/assets/role_skin1/jump_up.png +0 -0
  308. package/Parkour/assets/role_skin1/roll.json +0 -44
  309. package/Parkour/assets/role_skin1/roll.png +0 -0
  310. package/Parkour/assets/role_skin1/run.json +0 -52
  311. package/Parkour/assets/role_skin1/run.png +0 -0
  312. package/Parkour/components/Backdrop.vue +0 -61
  313. package/Parkour/components/GameSence.vue +0 -602
  314. package/Parkour/components/Matchman.vue +0 -85
  315. package/TextureAnimation/utils/FrameCanvasStore.ts +0 -68
  316. package/TextureAnimation/utils/RotateFrame.vue +0 -146
  317. package/TextureAnimation/utils/circleHaloMask.png +0 -0
  318. package/ThrowMoveDemo/AccelerateDemo.vue +0 -85
  319. package/ThrowMoveDemo/App.vue +0 -104
  320. package/ThrowMoveDemo/LRParabolicDemo.vue +0 -101
  321. package/ThrowMoveDemo/TargetDemo.vue +0 -87
  322. package/ThrowMoveDemo/UDParabolicDemo.vue +0 -92
  323. /package/{AnimPicture/assets → assets}/animated_webp.webp +0 -0
  324. /package/{AnimPicture/assets → assets}/ball_3.webp +0 -0
  325. /package/{AnimPicture/assets → assets}/girl_run.gif +0 -0
  326. /package/{AnimPicture/assets → assets}/quan.webp +0 -0
@@ -1,81 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2022-07-11 13:31:36
4
- * @Description: file content
5
- -->
6
- <script setup>
7
- import { MetroWidget, VERTICAL, useFocusHub, METRO_WIDGET_CONST } from "jsview";
8
- import WidgetItem from "./WidgetItem.vue";
9
- import SWidgetItem from "./SWidgetItem.vue";
10
- import { onMounted } from "vue";
11
-
12
- const focusHub = useFocusHub();
13
-
14
- const provideData = () => {
15
- const data = [];
16
- for (let i = 0; i < 10; i++) {
17
- data.push({
18
- width: 500,
19
- height: 170,
20
- name: "widget_" + i,
21
- marginBottom: 10,
22
- index: i,
23
- });
24
- }
25
- return data;
26
- };
27
-
28
- const measures = (item) => {
29
- return {
30
- width: item.width,
31
- height: item.height,
32
- marginRight: item.marginRight,
33
- marginBottom: item.marginBottom,
34
- /**重要代码: itemSlide设置为ACT_FOCUS_RECT_EVENT, 由子MetroWidget控制滚动 */
35
- itemSlide: METRO_WIDGET_CONST.ITEM_SLIDE.ACT_FOCUS_RECT_EVENT,
36
- };
37
- };
38
-
39
- onMounted(() => {
40
- focusHub.setFocus("mwWidget");
41
- });
42
- </script>
43
-
44
- <template>
45
- <div :style="{ width: 1280, height: 720, backgroundColor: '#007788' }" />
46
- <div
47
- :style="{
48
- left: 100,
49
- top: 20,
50
- width: 800,
51
- height: 400,
52
- fontSize: 30,
53
- color: '#FFFFFF',
54
- }"
55
- >
56
- {{ `MetroWidget嵌套了三层的组件, 焦点应该就近移动` }}
57
- </div>
58
- <!-- 为了保证边缘的item缩放后依旧完整显示, 需要设置padding, 注意width/height是包含padding的 -->
59
- <metro-widget
60
- name="mwWidget"
61
- :top="100"
62
- :left="50"
63
- :width="660"
64
- :height="600"
65
- :provideData="provideData"
66
- :padding="{ left: 30, right: 30 }"
67
- :direction="VERTICAL"
68
- :measures="measures"
69
- >
70
- <!-- 重要代码: 为了实现焦点就近移动, 需要传递onItemEdge回调 -->
71
- <template #renderItem="{ data, query, onAction, onItemEdge }">
72
- <SWidgetItem :data="data" :onAction="onAction" :onItemEdge="onItemEdge" />
73
- <!-- <widget-item
74
- v-else
75
- :data="data"
76
- :onAction="onAction"
77
- :onItemEdge="onItemEdge"
78
- /> -->
79
- </template>
80
- </metro-widget>
81
- </template>
@@ -1,93 +0,0 @@
1
- <script setup>
2
- import { MetroWidget, VERTICAL, useFocusHub, METRO_WIDGET_CONST } from "jsview";
3
- import WidgetItem from "./WidgetItem.vue";
4
- import { onMounted, ref, shallowRef } from "vue";
5
-
6
- const props = defineProps({
7
- data: Object,
8
- onAction: Object,
9
- onItemEdge: Function,
10
- });
11
-
12
- const focusHub = useFocusHub();
13
- const mwWidget2 = ref(null);
14
-
15
- const provideData = () => {
16
- const data = [];
17
- for (let i = 0; i < 1; i++) {
18
- data.push({
19
- width: 500,
20
- height: 170,
21
- name: "3级嵌套_" + i + props.data.index,
22
- marginBottom: 10,
23
- index: i,
24
- });
25
- }
26
- return data;
27
- };
28
-
29
- const measures = (item) => {
30
- return {
31
- width: item.width,
32
- height: item.height,
33
- marginRight: item.marginRight,
34
- marginBottom: item.marginBottom,
35
- itemSlide: METRO_WIDGET_CONST.ITEM_SLIDE.ACT_FOCUS_RECT_EVENT,
36
- };
37
- };
38
-
39
- onMounted(() => {});
40
-
41
- const widgetRef = shallowRef();
42
- const onFocus = (rect) => {
43
- if (rect) {
44
- //多层嵌套时需要将子的edge信息加上
45
- let rectInfo = {
46
- x: 0,
47
- y: 0,
48
- width: 0,
49
- height: 0,
50
- };
51
- let curRect = rect;
52
- while (curRect) {
53
- let { x, y, width, height } = curRect.rect;
54
- rectInfo.x += x;
55
- rectInfo.y += y;
56
- rectInfo.width = width;
57
- rectInfo.height = height;
58
- curRect = curRect.childEdgeInfo;
59
- }
60
- widgetRef.value?.setEnterFocusRect({
61
- direction: rect.direction,
62
- rect: rectInfo,
63
- });
64
- }
65
- focusHub.setFocus("mwWidget2" + props.data.index);
66
- };
67
- const onWidgetEdge = (info) => {
68
- props.onItemEdge(info);
69
- };
70
-
71
- props.onAction.register("onFocus", onFocus);
72
- </script>
73
-
74
- <template>
75
- <metro-widget
76
- ref="widgetRef"
77
- :name="'mwWidget2' + props.data.index"
78
- :top="0"
79
- :left="0"
80
- :width="660"
81
- :height="600"
82
- :provideData="provideData"
83
- :padding="{ left: 30, right: 30 }"
84
- :direction="VERTICAL"
85
- :measures="measures"
86
- :onEdge="onWidgetEdge"
87
- >
88
- <!-- 重要代码: 为了实现焦点就近移动, 需要传递onItemEdge回调 -->
89
- <template #renderItem="{ data, onAction, onItemEdge }">
90
- <widget-item :data="data" :onAction="onAction" :onItemEdge="onItemEdge" />
91
- </template>
92
- </metro-widget>
93
- </template>
@@ -1,111 +0,0 @@
1
- <script setup>
2
- import { HORIZONTAL, MetroWidget, useFocusHub } from "jsview";
3
- import { shallowRef } from "vue";
4
- import Item from "./Item.vue";
5
-
6
- const props = defineProps({
7
- data: Object,
8
- onItemEdge: Function,
9
- onAction: Object,
10
- });
11
- const focusHub = useFocusHub();
12
- const mwRef = shallowRef(null);
13
-
14
- const measures = (item) => {
15
- return item;
16
- };
17
- const randomColor = () => {
18
- let randomColor = Math.round(Math.random() * 2 ** 24).toString(16);
19
- return (
20
- "#" + new Array(6 - randomColor.length).fill("0").join("") + randomColor
21
- );
22
- };
23
- const provideData = () => {
24
- const data = [];
25
- for (let i = 0; i < 10; i++) {
26
- data.push({
27
- width: (i + props.data.index) % 2 == 0 ? 90 : 180,
28
- height: 90,
29
- marginRight: 10,
30
- marginBottom: 10,
31
- content: i,
32
- color: randomColor(),
33
- });
34
- }
35
- return data;
36
- };
37
- const onFocus = (rect) => {
38
- /** 重要代码: 参数rect为父MetroWidget传递的, 焦点过来的区域
39
- * 因此需要调用setEnterFocusRect来设置焦点进入区域, 以寻找最近的焦点
40
- */
41
- //多层嵌套时, EnterFocusRect需要根据子的信息设置
42
- if (rect) {
43
- let rectInfo = {
44
- x: 0,
45
- y: 0,
46
- width: 0,
47
- height: 0,
48
- };
49
- let curRect = rect;
50
- while (curRect) {
51
- let { x, y, width, height } = curRect.rect;
52
- rectInfo.x += x;
53
- rectInfo.y += y;
54
- rectInfo.width = width;
55
- rectInfo.height = height;
56
- curRect = curRect.childEdgeInfo;
57
- }
58
- mwRef.value?.setEnterFocusRect({
59
- direction: rect.direction,
60
- rect: rectInfo,
61
- });
62
- }
63
-
64
- // mwRef.value?.setEnterFocusRect(rect);
65
- focusHub.setFocus(props.data.name);
66
- };
67
- const onBlur = () => {
68
- //onBlur时需要返还焦点给父MetroWidget
69
- focusHub.returnFocusToParent();
70
- };
71
-
72
- props.onAction.register("onFocus", onFocus);
73
- props.onAction.register("onBlur", onBlur);
74
- </script>
75
-
76
- <template>
77
- <div
78
- :style="{
79
- width: 900,
80
- height: 50,
81
- fontSize: 30,
82
- color: '#FFFFFF',
83
- }"
84
- >
85
- {{ data.name }}
86
- </div>
87
- <!-- 重要代码: sendFocusRectEvent可以让MetroWidget的item在获焦时发送事件, 通知父的MetroWidget进行滚动 -->
88
- <!-- 重要代码: onItemEdge直接作为onEdge回调, 既子MetroWidget到达边缘时触发父的onItemEdge -->
89
- <metro-widget
90
- ref="mwRef"
91
- :name="data.name"
92
- :top="50"
93
- :width="data.width"
94
- :height="data.height"
95
- :provideData="provideData"
96
- :direction="HORIZONTAL"
97
- :padding="{
98
- left: 30,
99
- right: 30,
100
- top: 10,
101
- bottom: 10,
102
- }"
103
- :measures="measures"
104
- :onEdge="onItemEdge"
105
- :sendFocusRectEvent="true"
106
- >
107
- <template #renderItem="{ data, onAction }">
108
- <item :data="data" :onAction="onAction" />
109
- </template>
110
- </metro-widget>
111
- </template>
package/Parkour/App.vue DELETED
@@ -1,13 +0,0 @@
1
- <template>
2
- <GameSence :key="SenceKey"></GameSence>
3
- </template>
4
-
5
- <script setup>
6
- import { provide, shallowRef } from 'vue';
7
- import GameSence from './components/GameSence.vue';
8
- //定义变量key,通过修改key值来进行页面重载
9
- let SenceKey = shallowRef(0)
10
- provide("SenceKey", SenceKey)
11
- </script>
12
-
13
- <style lang="scss" scoped></style>
@@ -1,21 +0,0 @@
1
- /* 在此存放Demo中全局影响的变量*/
2
- import { shallowRef } from "vue";
3
- class Context {
4
- constructor() {
5
- this.left = shallowRef(0);
6
- //各ref
7
- this.TopRef1=shallowRef(null)
8
- this.TopRef2=shallowRef(null)
9
- this.MidRef1=shallowRef(null);
10
- this.MidRef2=shallowRef(null);
11
- this.BottomRef1=shallowRef(null)
12
- this.BottomRef2=shallowRef(null);
13
- this.ObstacleRef1=shallowRef(null)
14
- this.ObstacleRef2=shallowRef(null)
15
- this.LeftRef1=shallowRef(null)
16
- this.LeftRef2=shallowRef(null)
17
- }
18
- }
19
- export {
20
- Context
21
- }
@@ -1,62 +0,0 @@
1
- /* 此js文件用于更新火柴人的动作 */
2
- import fail_json from "../assets/role_skin1/fail.json"
3
- import fail_png from "../assets/role_skin1/fail.png"
4
- import roll_json from "../assets/role_skin1/roll.json"
5
- import roll_png from "../assets/role_skin1/roll.png"
6
- import jumpDown_json from "../assets/role_skin1/jump_down.json"
7
- import jumpDown_png from "../assets/role_skin1/jump_down.png"
8
- import jumpUp_json from "../assets/role_skin1/jump_up.json"
9
- import jumpUp_png from "../assets/role_skin1/jump_up.png"
10
- import run_json from "../assets/role_skin1/run.json"
11
- import run_png from "../assets/role_skin1/run.png"
12
-
13
- //精灵图信息函数
14
- const _formatInfo = (action_json) => {
15
- const info = {
16
- frames: [],
17
- meta: {
18
- size: action_json.meta.size,
19
- },
20
- };
21
- let frames_ref = info.frames;
22
- let max_width = 0;
23
- let max_height = 0;
24
-
25
- for (let i = 0; i < action_json.frames.length; i++) {
26
- const target = action_json.frames[i].spriteSourceSize;
27
- frames_ref.push({
28
- target,
29
- source: action_json.frames[i].frame,
30
- });
31
- const sprite_with = target.x + target.w;
32
- const sprite_height = target.y + target.h;
33
- if (sprite_with > max_width) {
34
- max_width = sprite_with;
35
- }
36
- if (sprite_height > max_height) {
37
- max_height = sprite_height;
38
- }
39
- }
40
- return { info, maxW: max_width, maxH: max_height };
41
- }
42
-
43
- //存入整个json对象
44
- const jsonObject={
45
- fail_json,
46
- roll_json,
47
- jumpDown_json,
48
- jumpUp_json,
49
- run_json
50
- }
51
- const pngObject={
52
- fail_png,
53
- roll_png,
54
- jumpDown_png,
55
- jumpUp_png,
56
- run_png
57
- }
58
- export {
59
- _formatInfo,
60
- jsonObject,
61
- pngObject,
62
- }
@@ -1,61 +0,0 @@
1
- /* 此js文件用于初始化以及更新随机背景图和地板 */
2
- import bg1 from "../assets/Bgimages/bg1.png"
3
- import bg2 from "../assets/Bgimages/bg2.png"
4
- import bg3 from "../assets/Bgimages/bg3.png"
5
- import bg4 from "../assets/Bgimages/bg4.png"
6
- import bg5 from "../assets/Bgimages/bg5.png"
7
- import { shallowRef } from "vue"
8
- import { buildPreloadInfo } from "jsview"
9
- import { Context } from "./Context"
10
- /* 背景图相关 */
11
- //定义随机背景图数组
12
- const bgArray = [bg1, bg2, bg3, bg4, bg5]
13
- //随机背景图
14
- const randomBg = (bg, array) => {
15
- array.value = []
16
- const randomIndex = Math.floor(Math.random() * bgArray.length);
17
- bg.value = bgArray[randomIndex]
18
- array.value.push(buildPreloadInfo(bg.value))
19
- return bg
20
- }
21
- /* 地板相关 */
22
-
23
- //拿地板定位left的值
24
- let GameContext = new Context()
25
- //设定缝隙长度
26
- const gapWidth = 280;
27
- //给定最大长度
28
- const maxLength = 820;
29
- //给定最小长度
30
- const minLength = 600
31
-
32
-
33
- //随机的div样式
34
- const randomFloor = (array) => {
35
- for (let i = 0; i < 2; i++) {
36
- const length = Math.floor(Math.random() * (maxLength - minLength + 1)) + minLength + gapWidth
37
- GameContext.left.value += length
38
- let top = shallowRef(0)
39
- if (i !== 0) {
40
- top.value = 500 - Math.floor(Math.random() * 180)
41
- } else {
42
- top.value = 500
43
- }
44
-
45
- array.value.push({ length: length, left: GameContext.left.value, top: top.value })
46
- }
47
- array.value.forEach((item, index) => {
48
- if (index == 0) {
49
- item.left = 0
50
- } else {
51
- item.left = array.value[index - 1].left + array.value[index - 1].length;
52
- }
53
- })
54
-
55
- return array
56
- }
57
- export {
58
- randomFloor,
59
- randomBg,
60
- gapWidth
61
- }
@@ -1,50 +0,0 @@
1
- /* 音频 */
2
- import { JsvSoundPool } from "jsview";
3
- import jumpAudio from "../assets/audio/jump.mp3"
4
- import failAudio from "../assets/audio/lose.mp3"
5
-
6
- class Sound {
7
- initSound() {
8
- this.soundPool = new JsvSoundPool(10);
9
- this.soundPool.request(
10
- `url(${jumpAudio})`,
11
- null,
12
- 1,
13
- (state, audioController) => {
14
- console.log("load jump audio ", state)
15
- if (state === 0) {
16
- Sound._AudioController1 = audioController;
17
- }
18
- }
19
- );
20
- this.soundPool.request(
21
- `url(${failAudio})`,
22
- null,
23
- 1,
24
- (state, audioController) => {
25
- console.log("load fail audio ", state)
26
- if (state === 0) {
27
- Sound._AudioController2 = audioController;
28
- }
29
- }
30
- );
31
- }
32
-
33
- playJumpSound() {
34
- if (Sound._AudioController1) {
35
- Sound._AudioController1.play();
36
- }
37
- }
38
-
39
- playFailSound() {
40
- if (Sound._AudioController2) {
41
- Sound._AudioController2.play();
42
- }
43
- }
44
-
45
- destroy () {
46
- this.soundPool.destroy()
47
- }
48
-
49
- }
50
- export default Sound ;
@@ -1,20 +0,0 @@
1
- app_data文件夹用来记录APP的设定信息,包括APP的全球唯一标识,签名信息
2
-
3
- 1. 全球唯一标识AppName设定方法:
4
- 修改app.config.js文件中的AppName信息,一般命名方法为 domain/子应用名
5
-
6
- 2. 签名信息,使用RSA签名,设定方法:
7
- 使用在线生成工具生成RSA钥匙对,例如 http://www.metools.info/code/c80.html
8
- 注意选择设定信息有三点要注意:
9
- A. 秘钥长度固定为 2048 bit
10
- B. 秘钥格式固定为 PKCS#8
11
- (生成出的公钥以 -----BEGIN PUBLIC KEY----- 开头,而非 -----BEGIN RSA PUBLIC KEY-----)
12
- C. 密码不要设置
13
- 将生成的公钥复制粘贴到文件app_sign_public_key.pem中,内容可以参照 app_sign_public_key_sample.pem 文件
14
- 同理,将私钥复制粘贴到文件app_sign_private_key.crt中
15
-
16
- JsView签名原理说明:
17
- 在进行js build时,会将 main.jsv.xxxx.js (包含AppName具体值)文件的md5值用私钥进行编码,编码出的内容和公钥一起写入到该文件的文件头中,JsView加载后用公钥反编码出该md5值,和文件的md5进行比对,若md5一致则认为此公钥合法,然后此公钥会和AppName进行映射,作为设定快捷访问地址等权限控制的调用作为参考,以防止其他APP对本APP(以AppName为查询键)的私有内容进行非法访问和破坏。
18
-
19
- 注意: 私钥(app_sign_private_key.crt)不要被泄漏,私钥若泄漏,则其他APP可以伪装AppName,查询本APP的私有内容,覆盖本APP设定的快捷访问地址。
20
-
@@ -1,5 +0,0 @@
1
- export default {
2
- AppName: "xxxx.domain.cn/XXXX",
3
- AppTitle: "Demo中文名(UTF8)",
4
- AppVersion: "1.00"
5
- }
@@ -1,28 +0,0 @@
1
- -----BEGIN PRIVATE KEY-----
2
- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCyAMjq7vLF45SQ
3
- Xk3KtelbgEOR57okn2vFXMRa9lrHEkfP72YPnP7INHxMQ8pWIEx8nfhOTjCQbzAN
4
- 5omUxjJizNsqcgfKldLgdwQAUENozMSsxWiteMyjvH0aX5X0vbpSOykUnkg/UROG
5
- vCyIj1buylww8FAMA4TamxfivOCLmQU7qlZNq7bZ/ZOYsdvAYRfd5Ey0Si8kgsk8
6
- /I9halBymQeVylBB+qY5d4L0IVLjcjbc9y9tU0+o4NoqFfkKCFQaSNXqYVey9yCG
7
- eHtpx9XT+SNDzvFTbGQaAVyoYSKjshQk58u1yn9kRp0t7rUvRfAQh6ocKBlPMucP
8
- x4zTv8PPAgMBAAECggEAJzhVDK6pf0Cts0GUEl4SlL6mJLfSI8+ch1fxS7mMNuCo
9
- QgCVlEsbODGYUZV+N4vWTn7f/yDrQme9RtLM7aLd5zcL80Y8wT5RwHN4xjjpIWY8
10
- z3SPo+lB7bHSPsVg3RQQwZ2XZ5uYf5r1mnJLvasXlHWx6naIrJz54NDbanIDZ75p
11
- YMvN/JIF4CQR58CNsPI3I8Ww5hnCSAynKlJy6qOf+C0XYxTRUs4TkZFa851a3E1q
12
- 4E8HMCvt4BZiGfyvLyS6+2pDevY9gcym1yIYwhcIRviD8S1hGpGPcmHbbt7Sj70Y
13
- hr4oqbgxhlpQl9y2iUZ4VSKN3f1eU2O5Qufsn2cpQQKBgQDgZ2o+W5AIThqepzkK
14
- +ExiXXVkHmSAtne5uLEz8SU/xwc0c0j9sOUlmpCvgn+aKbQO8MModAblPgo2QvI1
15
- YTnX/V+TBm/4mBmCq+F7i0z2ZrexGO6CSbe8lVSBy/sAbzNMeK6fPnS0aO4ZWjYS
16
- SDQ8/FAbxsHjUo2u5UDHJBj+JQKBgQDLENxo7EsCVB0R80WpL1VhkzXz3VTeMaSs
17
- rj81eu7Ji/55Eh7QzPI3TUNcFAUHRN8THT320dCiXkg0s/YTKD2j9s7mnAFjyNnG
18
- oiAmOvSpSKZgRGHh63LzwIDtSSQoeJQw+6ujvvF2elsWJ7s3t1N6tZD/E9E291yF
19
- WFDixdn14wKBgQCQV5TMVYMZBHw07uVPPBWN9AWth6sn67apPLam7YcDNhdZUopx
20
- vFY40OoeKre/RvHt5knx/GfvDu/spTU8xrQ5TV4rqSle4x8NoVehayHvIHUpshrA
21
- rYBFClzYPIfQaLa7iqjv/3F8Fj6JCjDbo5wOWlGA/GD8wr4l8IqxTXPSDQKBgQCr
22
- rmWqj5wbK+In+vU6RLp69Gr48nd+I5qGJAtsu7KG08UhtyA2iA+AkeIRRxu5OZEg
23
- J+jrdBhgLjX92OiC6dKzfUcP0XWbV4RHW2qy58VSGgoP+cCHsPhO/MID24KmdMtV
24
- XnGOzzB2apv37z9pq6T4aelcvvRy9E9UrYY1M/FC4QKBgA7CryIz/+Ps7zrn50BN
25
- TM3wsqomVe2sKj6OIE7f7SLdmA4cAco+xoXBExLxP7aqgrBj4B/7ovloF6edsGMI
26
- RF8yP8OceBIruFEKwUh4m0uoWshLJVnjk0iU+X8OD5lUCRhEZ6zO6svt5HTP1d+o
27
- XcUVzSIc3bxXpKmwXAfLKVED
28
- -----END PRIVATE KEY-----
@@ -1,9 +0,0 @@
1
- -----BEGIN PUBLIC KEY-----
2
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsgDI6u7yxeOUkF5NyrXp
3
- W4BDkee6JJ9rxVzEWvZaxxJHz+9mD5z+yDR8TEPKViBMfJ34Tk4wkG8wDeaJlMYy
4
- YszbKnIHypXS4HcEAFBDaMzErMVorXjMo7x9Gl+V9L26UjspFJ5IP1EThrwsiI9W
5
- 7spcMPBQDAOE2psX4rzgi5kFO6pWTau22f2TmLHbwGEX3eRMtEovJILJPPyPYWpQ
6
- cpkHlcpQQfqmOXeC9CFS43I23PcvbVNPqODaKhX5CghUGkjV6mFXsvcghnh7acfV
7
- 0/kjQ87xU2xkGgFcqGEio7IUJOfLtcp/ZEadLe61L0XwEIeqHCgZTzLnD8eM07/D
8
- zwIDAQAB
9
- -----END PUBLIC KEY-----
@@ -1,39 +0,0 @@
1
- export default {
2
- jsviewConfig: {
3
- // (可选配置)remote loader
4
- remoteLoader: null,
5
-
6
- // (可选配置)localStorage支持
7
- // presetKeys为预置key,可以直接使用localStorage.xxx的形式,避免undefined错误
8
- localStorage: {
9
- domain: null, // 默认自动使用app.config.mjs的AppName作为domain, 可以设置为其他值
10
- presetKeys: [
11
- 'value1',
12
- 'value3'
13
- ]
14
- },
15
-
16
- cookies: {
17
- domain: '' // 当非null非空时,激活cookie功能,使ajax请求时自动带上cookies,并且document.cookie的get/set可用
18
- },
19
- },
20
-
21
- vendorConfig: {
22
- // (可选配置)设置屏幕坐标映射值,screenWidth为屏幕画布定义的宽度,displayScale为清晰度,
23
- // 默认值是画布宽度1280px, 清晰度为1.0
24
- designedMap: {
25
- screenWidth: 1280,
26
- displayScale: 1.5
27
- },
28
-
29
- // (可选配置)按键接受的扩展,例如将静音按键(JAVA键值为164)映射为JS键值20001,
30
- // PS:注意'164'的引号
31
- bindKeys: {
32
- keys: {
33
- 164: 20001
34
- },
35
- syncKeys: {
36
- }
37
- }
38
- }
39
- }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,44 +0,0 @@
1
- {"frames": [
2
-
3
- {
4
- "filename": "1.png",
5
- "frame": {"x":0,"y":0,"w":154,"h":112},
6
- "rotated": false,
7
- "trimmed": false,
8
- "spriteSourceSize": {"x":0,"y":0,"w":154,"h":112},
9
- "sourceSize": {"w":154,"h":112}
10
- },
11
- {
12
- "filename": "2.png",
13
- "frame": {"x":154,"y":0,"w":154,"h":112},
14
- "rotated": false,
15
- "trimmed": false,
16
- "spriteSourceSize": {"x":0,"y":0,"w":154,"h":112},
17
- "sourceSize": {"w":154,"h":112}
18
- },
19
- {
20
- "filename": "3.png",
21
- "frame": {"x":0,"y":112,"w":154,"h":112},
22
- "rotated": false,
23
- "trimmed": false,
24
- "spriteSourceSize": {"x":0,"y":0,"w":154,"h":112},
25
- "sourceSize": {"w":154,"h":112}
26
- },
27
- {
28
- "filename": "4.png",
29
- "frame": {"x":154,"y":112,"w":154,"h":112},
30
- "rotated": false,
31
- "trimmed": false,
32
- "spriteSourceSize": {"x":0,"y":0,"w":154,"h":112},
33
- "sourceSize": {"w":154,"h":112}
34
- }],
35
- "meta": {
36
- "app": "http://www.texturepacker.com",
37
- "version": "1.0",
38
- "image": "fail.png",
39
- "format": "RGBA8888",
40
- "size": {"w":308,"h":224},
41
- "scale": "1",
42
- "smartupdate": "$TexturePacker:SmartUpdate:44519538b3a9873cd0d16979a0037991$"
43
- }
44
- }
Binary file