From c8720ebda5baeb14288b6391ecdb40f6852e1991 Mon Sep 17 00:00:00 2001
From: YiQianYao <42212176+2912401452@users.noreply.github.com>
Date: Wed, 22 Jun 2022 10:59:32 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20sprite=20=E7=B2=92=E5=AD=90=E5=A2=9E?=
 =?UTF-8?q?=E5=8A=A0=E8=BF=90=E5=8A=A8=E8=BE=B9=E7=95=8C=E5=8F=82=E6=95=B0?=
 =?UTF-8?q?=20spriteBottom=20(#1174)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* feat: 去处事件节流

* feat: sprite 补充参数
---
 packages/layers/src/Geometry/models/sprite.ts |  6 +++++-
 packages/layers/src/core/interface.ts         |  1 +
 stories/Object/components/sprite.tsx          | 15 +++++++++------
 3 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/packages/layers/src/Geometry/models/sprite.ts b/packages/layers/src/Geometry/models/sprite.ts
index aa66c9df4d..5aba2c9d79 100644
--- a/packages/layers/src/Geometry/models/sprite.ts
+++ b/packages/layers/src/Geometry/models/sprite.ts
@@ -66,8 +66,12 @@ export default class SpriteModel extends BaseModel {
   }
 
   public planeGeometryUpdateTriangulation = () => {
+    const {
+      spriteBottom = -100000,
+    } = this.layer.getLayerConfig() as IGeometryLayerStyleOptions;
     const updateZ = this.spriteUpdate;
-    const bottomZ = -100000;
+    // const bottomZ = -100000;
+    const bottomZ = spriteBottom;
     const topZ = this.spriteTop;
 
     for (let i = 0; i < this.positions.length; i += 5) {
diff --git a/packages/layers/src/core/interface.ts b/packages/layers/src/core/interface.ts
index cbcfa1a5a1..0f682eac9c 100644
--- a/packages/layers/src/core/interface.ts
+++ b/packages/layers/src/core/interface.ts
@@ -183,6 +183,7 @@ export interface IGeometryLayerStyleOptions {
   spriteCount?: number;
   spriteSpeed?: number;
   spriteTop?: number;
+  spriteBottom?: number;
   spriteUpdate?: number;
   spriteScale?: number;
 
diff --git a/stories/Object/components/sprite.tsx b/stories/Object/components/sprite.tsx
index 37ee983f7e..587922377c 100644
--- a/stories/Object/components/sprite.tsx
+++ b/stories/Object/components/sprite.tsx
@@ -33,9 +33,9 @@ export default class Demo extends React.Component {
       //   },
       // })
       .shape('sprite')
-      .size(10)
+      .size(20)
       .style({
-        opacity: 0.3,
+        // opacity: 0.3,
         mapTexture:
           'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*zLQwQKBSagYAAAAAAAAAAAAAARQnAQ', // snow
         // mapTexture: 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*w2SFSZJp4nIAAAAAAAAAAAAAARQnAQ', // rain
@@ -45,10 +45,13 @@ export default class Demo extends React.Component {
         spriteCount: 60,
         spriteRadius: 10,
         spriteTop: 2500000,
-        // spriteTop: 1000000,
-        // spriteScale: 0.8,
-        spriteScale: 0.6,
-        // spriteUpdate: 20000
+        spriteUpdate: 10000,
+        spriteScale: 0.8,
+
+        // spriteTop: 1000,
+        // spriteUpdate: 5,
+        // spriteBottom: -10,
+        // spriteScale: 0.6,
       })
       .active(true)
       .color('#f00');