@shijiu/jsview-vue 0.9.631 → 1.9.628

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 (78) hide show
  1. package/dom/bin/jsview-browser-debug-dom.min.js +1 -1
  2. package/dom/bin/jsview-dom.min.js +1 -1
  3. package/dom/{target_core_revision.js → target_core_revision.mjs} +6 -6
  4. package/index.d.ts +1 -0
  5. package/index.js +1 -10
  6. package/loader/jsview-main.js +1 -1
  7. package/loader/loader.js +0 -1
  8. package/package.json +3 -3
  9. package/patches/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js +17225 -2182
  10. package/patches/node_modules/@vue/compiler-sfc/dist/jsview-css-to-js.js +10 -12
  11. package/patches/node_modules/@vue/compiler-sfc/dist/jsview-style-format.js +5 -1
  12. package/patches/node_modules/@vue/compiler-sfc/dist/jsview-style-types.js +6 -1
  13. package/patches/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +6972 -7050
  14. package/patches/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js +221 -117
  15. package/patches/node_modules/postcss-js/objectifier.js +4 -4
  16. package/samples/Basic/App.vue +2 -2
  17. package/samples/Basic/components/FontStyle.css +1 -1
  18. package/samples/Basic/components/anim/AnimGroup.vue +4 -4
  19. package/samples/Basic/components/div/DivGroup1.vue +4 -4
  20. package/samples/Basic/components/div/DivGroup2.vue +5 -5
  21. package/samples/Basic/components/img/ImageGroup.vue +2 -2
  22. package/samples/Basic/components/panel/Panel1.vue +6 -6
  23. package/samples/Basic/components/panel/Panel2.vue +2 -2
  24. package/samples/Basic/components/text/TextGroup1.vue +4 -4
  25. package/samples/Basic/components/text/TextGroup2.vue +2 -2
  26. package/samples/Basic/components/text/TextOverflow.vue +2 -2
  27. package/samples/DemoHomepage/App.vue +1 -1
  28. package/samples/DemoHomepage/components/BodyFrame.vue +0 -2
  29. package/samples/DemoHomepage/router.js +36 -51
  30. package/samples/DemoHomepage/views/Homepage.vue +9 -5
  31. package/samples/HashHistory/router.js +6 -6
  32. package/samples/Input/App.vue +17 -8
  33. package/samples/Input/InputPanel.vue +11 -18
  34. package/samples/MetroWidgetDemos/PingPong/App.vue +3 -3
  35. package/samples/MetroWidgetDemos/PingPong/AppPage.vue +2 -17
  36. package/samples/MetroWidgetDemos/PingPong/AppTab.vue +10 -3
  37. package/samples/MetroWidgetDemos/PingPong/{TabItem.vue → Item.vue} +10 -2
  38. package/samples/MetroWidgetDemos/PingPong/ViewSwiper.vue +2 -2
  39. package/samples/Preload/App.vue +11 -16
  40. package/samples/SprayView/App.vue +2 -2
  41. package/samples/TextureAnimation/App2.vue +14 -42
  42. package/samples/VideoDemo/App.vue +2 -2
  43. package/samples/VisibleSensorDemo/App.vue +25 -92
  44. package/scripts/jsview-post-install.js +5 -5
  45. package/scripts/jsview-run-android.js +12 -11
  46. package/utils/JsViewEngineWidget/JsvFocusBlock.vue +56 -52
  47. package/utils/JsViewEngineWidget/JsvFocusManager.js +1 -1
  48. package/utils/JsViewPlugin/JsvPlayer/JsvMedia.js +2 -36
  49. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +0 -14
  50. package/utils/JsViewPlugin/JsvPlayer/index.js +1 -8
  51. package/utils/JsViewPlugin/JsvPlayer/version.js +4 -4
  52. package/utils/JsViewVueTools/JsvHashHistory.js +12 -12
  53. package/utils/JsViewVueTools/index.d.ts +5 -1
  54. package/utils/JsViewVueTools/index.js +1 -2
  55. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserPreload.vue +1 -11
  56. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +2 -2
  57. package/utils/JsViewVueWidget/JsvInput/Cursor.vue +2 -4
  58. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +12 -13
  59. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +41 -37
  60. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +8 -1
  61. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +1 -1
  62. package/utils/index.d.ts +3 -0
  63. package/utils/index.js +10 -0
  64. package/dom/jsv-browser-debug-dom.js_1 +0 -8
  65. package/dom/jsv-dom.js_1 +0 -6
  66. package/dom/jsv-forge-define.js_1 +0 -6
  67. package/patches/node_modules/@babel/preset-env/lib/available-plugins.js +0 -219
  68. package/patches/node_modules/@vue/cli-plugin-typescript/index.js +0 -100
  69. package/patches/node_modules/@vue/cli-service/lib/commands/serve.js +0 -395
  70. package/patches/node_modules/@vue/cli-service/lib/config/app.js +0 -272
  71. package/patches/node_modules/@vue/cli-service/lib/config/assets.js +0 -70
  72. package/patches/node_modules/@vue/cli-service/lib/config/base.js +0 -212
  73. package/patches/node_modules/vue-loader/dist/resolveScript.js +0 -70
  74. package/samples/Collision/App.vue +0 -452
  75. package/samples/ImpactStop/App.vue +0 -435
  76. package/samples/TextureAnimation/assets/light.png +0 -0
  77. package/samples/TextureAnimation/assets/light2.png +0 -0
  78. package/utils/JsViewVueTools/JsvImpactTracer.js +0 -113
@@ -1,435 +0,0 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2022-08-31 10:17:26
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2022-08-31 11:17:20
6
- * @Description: file content
7
- -->
8
- <script setup>
9
- import {
10
- JsvActorMoveControl,
11
- JsvActorMove,
12
- createImpactTracer,
13
- createImpactCallback,
14
- createImpactAutoFroze,
15
- } from "jsview";
16
- import { ref, computed, onMounted, onBeforeUnmount } from "vue";
17
- import { useRouter } from "vue-router";
18
- const router = useRouter();
19
- const CONST_BOARD_LEFT = 0;
20
- const CONST_BOARD_RIGHT = 1;
21
- const CONST_BOARD_MID = 2;
22
-
23
- const CONST_BOX_WIDTH = 30;
24
- const CONST_BOX_HEIGHT = 30;
25
-
26
- const horizontalControl = new JsvActorMoveControl();
27
- const verticalControl = new JsvActorMoveControl();
28
- const boxLeft = ref(null);
29
- const boxMid = ref(null);
30
- const boxRight = ref(null);
31
- const actorVertical = { current: null };
32
- const actorHorizontal = { current: null };
33
- const actor = ref(null);
34
-
35
- let viewsAutoFroze = null;
36
- let sensorList = [];
37
- let onBoard = CONST_BOARD_LEFT;
38
- let keyPressed = false;
39
- const actorState = {
40
- jumping: false,
41
- hMoving: false,
42
- };
43
- const showPrecisionGuild = ref(true);
44
- const direction = ref(1);
45
- const bodyState = ref(0);
46
- const isJsView = Boolean(window.JsView);
47
-
48
- const actorColor = computed(() => {
49
- switch (bodyState.value) {
50
- case 0: // 静止
51
- return "#FF00FF";
52
- case 1: // 跳起
53
- return "#FFFF00";
54
- case 2: // 落下
55
- return "#00FFFF";
56
- default:
57
- return "#FFFFFF";
58
- }
59
- });
60
-
61
- const onImpact = (impact_type) => {
62
- // 根据碰撞层来调整滑块的状态(接触板信息)
63
- console.log(`On impacted type=${impact_type}`);
64
- bodyState.value = 0;
65
- onBoard = impact_type;
66
- switch (impact_type) {
67
- case CONST_BOARD_MID:
68
- verticalControl.jumpTo(0, -200); // jumpTo处理微小穿模的复位,-200为中间层和起始位置的高度差
69
- horizontalControl.pause();
70
- break;
71
- case CONST_BOARD_LEFT:
72
- verticalControl.jumpTo(0, 0);
73
- horizontalControl.pause();
74
- direction.value = 1;
75
- break;
76
- case CONST_BOARD_RIGHT:
77
- verticalControl.jumpTo(0, 0);
78
- horizontalControl.pause();
79
- direction.value = -1; // 反向
80
- break;
81
- default:
82
- break;
83
- }
84
- actorState.jumping = false;
85
- };
86
-
87
- const onLanding = () => {
88
- // 滑块未与左中右任何一个板发生碰撞,落在了地板的时候
89
- console.log("On landing");
90
- bodyState.value = 0;
91
- actorState.jumping = false;
92
- reset();
93
- };
94
-
95
- const reset = () => {
96
- console.log("On reset");
97
- // 将两个运动都停止后再进行jumpTo,以保证两个jumpTo动作在同一帧完成
98
- verticalControl.pause(() => {
99
- horizontalControl.pause(() => {
100
- verticalControl.jumpTo(0, 0);
101
- horizontalControl.jumpTo(0, 0);
102
- onBoard = CONST_BOARD_LEFT;
103
- showPrecisionGuild.value = true;
104
- direction.value = 1;
105
- });
106
- });
107
- };
108
-
109
- const onKeyDown = (ev) => {
110
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
111
- router?.go(-1); // 有router时,是从DemoHomepage进入,回退
112
- }
113
- if (actorState.jumping) {
114
- // 跳跃中,键盘锁定
115
- return true;
116
- }
117
-
118
- if (keyPressed) {
119
- // KeyPress控制按键连点
120
- return true;
121
- }
122
-
123
- // 控制按键按下时,键盘锁定
124
- keyPressed = true;
125
-
126
- // 滑块位置可能发生变更,所以消除动画精度测试的描素文字
127
- if (showPrecisionGuild.value) {
128
- showPrecisionGuild.value = false;
129
- }
130
-
131
- if (ev.keyCode === 13) {
132
- // 滑块跳跃(纵向和横向的配置值都是计算过的,为了进行第一跳的精度测试)
133
- actorState.jumping = true;
134
- // 垂直方向抛物运动
135
- bodyState.value = 1;
136
- verticalControl.throwAlongY(
137
- -1000,
138
- 2450,
139
- { type: "catch", position: 100, direction: 1 },
140
- () => {
141
- onLanding();
142
- }, // 未碰撞落地时,对滑块位置进行重置
143
- () => {
144
- bodyState.value = 2;
145
- } // 调整成落下状态
146
- );
147
- // 水平方向,按照direction的值,移动到屏幕两端
148
- if (direction.value > 0) {
149
- horizontalControl.moveToX(1200 - CONST_BOX_WIDTH, 400, null);
150
- } else {
151
- horizontalControl.moveToX(0, 400, null);
152
- }
153
- } else if (ev.keyCode === 37) {
154
- // 滑块向左移动
155
- actorState.hMoving = true;
156
- // 分三个区域设定移动范围
157
- let target_x = 0;
158
- if (onBoard === CONST_BOARD_LEFT) {
159
- target_x = 0;
160
- } else if (onBoard === CONST_BOARD_MID) {
161
- target_x = 500;
162
- } else if (onBoard === CONST_BOARD_RIGHT) {
163
- target_x = 800;
164
- }
165
- horizontalControl.moveToX(target_x, 300, null);
166
- } else if (ev.keyCode === 39) {
167
- // 滑块向右移动
168
- actorState.hMoving = true;
169
- // 分三个区域设定移动范围
170
- let target_x = 0;
171
- if (onBoard === CONST_BOARD_LEFT) {
172
- target_x = 396 - CONST_BOX_WIDTH;
173
- } else if (onBoard === CONST_BOARD_MID) {
174
- target_x = 699 - CONST_BOX_WIDTH;
175
- } else if (onBoard === CONST_BOARD_RIGHT) {
176
- target_x = 1199 - CONST_BOX_WIDTH;
177
- }
178
- horizontalControl.moveToX(target_x, 350, null);
179
- }
180
- return true;
181
- };
182
-
183
- const onKeyUp = () => {
184
- keyPressed = false;
185
-
186
- if (actorState.hMoving) {
187
- // 停止用户通过左右键发起的水平移动
188
- horizontalControl.pause(null);
189
- actorState.hMoving = false;
190
- }
191
- };
192
-
193
- onMounted(() => {
194
- /* 关联碰撞体处理要在didMount中进行 */
195
-
196
- /* 将碰撞发生后要停止动画的元素打包 */
197
- viewsAutoFroze = createImpactAutoFroze(
198
- [actorVertical.current, actorHorizontal.current],
199
- null
200
- ); // 此句柄最好保留,未来可以通过此句柄统一进行views list更新
201
-
202
- /* 构建左边碰撞区 */
203
- sensorList.push(
204
- createImpactTracer(
205
- actor.value,
206
- boxLeft.value,
207
- createImpactCallback(() => {
208
- onImpact(CONST_BOARD_LEFT);
209
- }, null),
210
- viewsAutoFroze
211
- )
212
- );
213
-
214
- /* 构建中间碰撞区 */
215
- sensorList.push(
216
- createImpactTracer(
217
- actor.value,
218
- boxMid.value,
219
- createImpactCallback(() => {
220
- onImpact(CONST_BOARD_MID);
221
- }, null),
222
- viewsAutoFroze
223
- )
224
- );
225
-
226
- /* 构建右边碰撞区 */
227
- sensorList.push(
228
- createImpactTracer(
229
- actor.value,
230
- boxRight.value,
231
- createImpactCallback(() => {
232
- onImpact(CONST_BOARD_RIGHT);
233
- }, null),
234
- viewsAutoFroze
235
- )
236
- );
237
-
238
- reset();
239
- });
240
-
241
- onBeforeUnmount(() => {
242
- /* 重要! 退出后应该释放所有碰撞监听者 */
243
- for (const sensor of sensorList) {
244
- sensor.Recycle();
245
- }
246
- });
247
- </script>
248
-
249
- <template>
250
- <jsv-focus-block
251
- autoFocus
252
- :onAction="{
253
- onKeyDown,
254
- onKeyUp,
255
- }"
256
- :style="{ width: 1280, height: 720, backgroundColor: '#000000' }"
257
- >
258
- <div
259
- v-if="isJsView"
260
- :style="{
261
- textAlign: 'center',
262
- fontSize: '30px',
263
- lineHeight: '50px',
264
- color: '#ffffff',
265
- left: 100,
266
- top: 20,
267
- width: 1280 - 200,
268
- height: 50,
269
- backgroundColor: 'rgba(27,38,151,0.8)',
270
- }"
271
- >
272
- JsView环境下不会穿透模型
273
- </div>
274
-
275
- <div
276
- key="bottomWall"
277
- :style="{
278
- top: 620,
279
- left: 40,
280
- width: 1200,
281
- height: 5,
282
- backgroundColor: '#F0FFF0',
283
- }"
284
- />
285
-
286
- <div
287
- key="leftFloor"
288
- :style="{
289
- top: 520,
290
- left: 40,
291
- width: 397,
292
- height: 5,
293
- backgroundColor: '#F0F000',
294
- }"
295
- />
296
-
297
- <!-- 碰撞体的高度要比每帧移动距离大,因为碰撞判断是每帧内进行判断,并不连续,距离太小可能穿模 -->
298
-
299
- <div
300
- key="leftFloorImp"
301
- ref="boxLeft"
302
- :style="{
303
- top: 520,
304
- left: 40,
305
- width: 397,
306
- height: 15,
307
- backgroundColor: 'rgba(255,255,255,0.2)',
308
- }"
309
- />
310
-
311
- <div
312
- key="midFloor"
313
- :style="{
314
- top: 320,
315
- left: 540,
316
- width: 200,
317
- height: 5,
318
- backgroundColor: '#F0F000',
319
- }"
320
- />
321
- <div
322
- key="midFloorImp"
323
- ref="boxMid"
324
- :style="{
325
- top: 320,
326
- left: 540,
327
- width: 200,
328
- height: 15,
329
- backgroundColor: 'rgba(0,0,0,0)',
330
- }"
331
- />
332
-
333
- <div
334
- key="rightFloor"
335
- :style="{
336
- top: 520,
337
- left: 840,
338
- width: 400,
339
- height: 5,
340
- backgroundColor: '#F0F000',
341
- }"
342
- />
343
- <div
344
- key="rightFloorImp"
345
- ref="boxRight"
346
- :style="{
347
- top: 520,
348
- left: 820,
349
- width: 400,
350
- height: 15,
351
- backgroundColor: 'rgba(0,0,0,0)',
352
- }"
353
- />
354
-
355
- <div
356
- v-if="showPrecisionGuild"
357
- key="PrecisionGuideText"
358
- class="text"
359
- :style="{ top: 528, left: 40, width: 405, height: 40 }"
360
- >
361
- JSV下,立刻起跳会精确到边缘
362
- </div>
363
-
364
- <div
365
- key="GuideText1"
366
- class="text"
367
- :style="{ top: 625, left: 370, width: 540, height: 40 }"
368
- >
369
- 左右键调整跳跃起点,按OK键进行跳跃
370
- </div>
371
- <div
372
- key="DirectText"
373
- class="text"
374
- :style="{ top: 150, left: 425, width: 430, height: 40 }"
375
- >
376
- {{ `当前方向:${direction > 0 ? "->" : "<-"}` }}
377
- </div>
378
-
379
- <div key="actor" :style="{ top: 520 - CONST_BOX_HEIGHT - 2, left: 40 }">
380
- <jsv-actor-move
381
- key="horizontal"
382
- :refDefine="actorHorizontal"
383
- :control="horizontalControl"
384
- >
385
- <jsv-actor-move
386
- key="vertical"
387
- :refDefine="actorVertical"
388
- :control="verticalControl"
389
- >
390
- <div
391
- ref="actor"
392
- :style="{
393
- backgroundColor: actorColor,
394
- width: CONST_BOX_WIDTH,
395
- height: CONST_BOX_HEIGHT,
396
- }"
397
- ></div>
398
- </jsv-actor-move>
399
- </jsv-actor-move>
400
- </div>
401
-
402
- <!-- 一个无限动画元素,来测试卡顿 -->
403
- <div
404
- :style="{
405
- top: 100,
406
- left: 50,
407
- height: 150,
408
- width: 150,
409
- backgroundColor: '#334455',
410
- animation: 'impact-stop-anim-rotate 1s infinite linear',
411
- }"
412
- />
413
- </jsv-focus-block>
414
- </template>
415
-
416
- <style scoped>
417
- @keyframes impact-stop-anim-rotate {
418
- from {
419
- transform: rotate3d(0, 0, 1, 270deg);
420
- }
421
- to {
422
- transform: rotate3d(0, 0, 1, 0deg);
423
- }
424
- }
425
-
426
- .text {
427
- font-size: 30px;
428
- color: #73665c;
429
- line-height: 40px;
430
- overflow: hidden;
431
- white-space: nowrap;
432
- text-overflow: ellipsis;
433
- text-align: center;
434
- }
435
- </style>
@@ -1,113 +0,0 @@
1
- /*
2
- * @Author: ChenChanghua
3
- * @Date: 2022-08-30 10:54:42
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2022-08-30 10:54:44
6
- * @Description: file content
7
- */
8
- /**
9
- * Created by donglin.lu@qcast.cn on 4/30/2020.
10
- */
11
-
12
- /*
13
- * 【模块 export 内容】
14
- * createImpactTracer: 函数,创建碰撞跟踪对象
15
- * createImpactCallback: 函数,创建碰撞发生后的回调函数
16
- * createImpactAutoFroze: 函数,注册碰撞发生后,控制动画立刻停止的管理对象
17
- * updateImpactAutoFroze: 函数,更新 createImpactAutoFroze 创建的碰撞即停管理对象中管理的运动元素列表
18
- */
19
-
20
- import { Forge } from "../../dom/jsv-forge-define";
21
-
22
- /*
23
- * createImpactCallback 参数说明:
24
- * on_contact (function[]) 接受碰撞事件的回调
25
- * on_dis_contact (function[]) 接受物体分离事件的回调
26
- * 返回值:
27
- * Object 句柄,用于传输给 createImpactTracer
28
- */
29
- function createImpactCallback(on_contact, on_dis_contact) {
30
- return new Forge.sImpactSensorManager.Callback(on_contact, on_dis_contact);
31
- }
32
-
33
- /*
34
- * createImpactTracer 参数说明:
35
- * ele1 (Element) html element句柄,1号碰撞体
36
- * ele2 (Element) html element句柄,2号碰撞体
37
- * callback (Object) 由 createImpactCallback 创建的回调构造体句柄
38
- * auto_froze (Object) 由 createImpactAutoFroze 创建的碰撞即停构造体句柄
39
- * 返回值:
40
- * Object 句柄,提供 Recycle() 函数用于停止碰撞检测,需要再componentWillUnmount进行调用(清理)
41
- */
42
- function createImpactTracer(ele1, ele2, callback, auto_froze) {
43
- return Forge.sImpactSensorManager.StartTrace(ele1.jsvMainView, ele2.jsvMainView, callback, auto_froze);
44
- }
45
-
46
- // 创建用于设置碰撞即停管理对象的参数
47
- // 结果用于函数 createImpactAutoFroze 和 updateImpactAutoFroze
48
- function _ConvertToViewsList(elements_array) {
49
- const views_array = [];
50
- if (elements_array) {
51
- for (const ele of elements_array) {
52
- views_array.push(ele.jsvMainView);
53
- }
54
- }
55
- return views_array;
56
- }
57
-
58
- /*
59
- * createImpactAutoFroze 参数说明:
60
- * element_auto_froze_pre_impact (Array<Element>) 关联运动元素的列表,这些元素碰撞前一帧停止运动
61
- * element_auto_froze_on_impact (Array<Element>) 关联运动元素的列表,这些元素碰撞当前帧停止运动
62
- * 返回值:
63
- * Object 句柄,用于传输给 createImpactTracer,也用于 updateImpactAutoFroze 调整关联元素
64
- *
65
- * 【注意点】
66
- * 多个碰撞对可以共享同一个碰撞管理对象,并且建议共享同一个对象以提升效率
67
- * 该管理对象中的view的列表可以通过 updateImpactAutoFrozeHandler进行更新,
68
- * 更新后立刻在对所有的共享此管理对象的碰撞对中生效
69
- */
70
- function createImpactAutoFroze(element_auto_froze_pre_impact, element_auto_froze_on_impact) {
71
- if (!element_auto_froze_pre_impact && !element_auto_froze_on_impact) {
72
- // Nothing to set
73
- return;
74
- }
75
-
76
- const pre_impact_list = _ConvertToViewsList(element_auto_froze_pre_impact);
77
- const on_impact_list = _ConvertToViewsList(element_auto_froze_on_impact);
78
-
79
- return new Forge.sImpactSensorManager.AutoFroze(
80
- (pre_impact_list.length > 0 ? pre_impact_list : null),
81
- (on_impact_list.length > 0 ? on_impact_list : null));
82
- }
83
-
84
- /*
85
- * updateImpactAutoFroze 参数说明:
86
- * handler (Object) 由 createImpactAutoFroze 创建的句柄
87
- * element_auto_froze_pre_impact (Array<Element>) 关联运动元素的列表,这些元素碰撞前一帧停止运动
88
- * element_auto_froze_on_impact (Array<Element>) 关联运动元素的列表,这些元素碰撞当前帧停止运动
89
- * 返回值:
90
- * 无
91
- */
92
- function updateImpactAutoFroze(handler, element_auto_froze_pre_impact, element_auto_froze_on_impact) {
93
- if (handler instanceof Forge.sImpactSensorManager.AutoFroze) {
94
- console.error("Error: handler type error");
95
- return;
96
- }
97
-
98
- const pre_impact_list = _ConvertToViewsList(element_auto_froze_pre_impact);
99
- const on_impact_list = _ConvertToViewsList(element_auto_froze_on_impact);
100
-
101
- // 更新碰撞即停列表
102
- handler.UpdatePreImpactList((pre_impact_list.length > 0 ? pre_impact_list : null));
103
-
104
- // 更新接触接触即停列表
105
- handler.UpdateOnImpactList((on_impact_list.length ? on_impact_list : null));
106
- }
107
-
108
- export {
109
- createImpactCallback,
110
- createImpactTracer,
111
- createImpactAutoFroze,
112
- updateImpactAutoFroze,
113
- };