소스 검색

feat: src点击回调增加位置信息

hexleo 3 년 전
부모
커밋
c4531a92e8

+ 3 - 1
Android/PlayerProj/animplayer/src/main/java/com/tencent/qgame/animplayer/mix/MixTouch.kt

@@ -38,7 +38,9 @@ class MixTouch(private val mixAnimPlugin: MixAnimPlugin) {
                 list?.forEach {frame ->
                 list?.forEach {frame ->
                     val src = mixAnimPlugin.srcMap?.map?.get(frame.srcId) ?: return@forEach
                     val src = mixAnimPlugin.srcMap?.map?.get(frame.srcId) ?: return@forEach
                     if (calClick(x.toInt(), y.toInt(), frame.frame)) {
                     if (calClick(x.toInt(), y.toInt(), frame.frame)) {
-                        return Resource(src)
+                        return Resource(src).apply {
+                            curPoint = frame.frame
+                        }
                     }
                     }
                 }
                 }
             }
             }

+ 4 - 2
Android/PlayerProj/animplayer/src/main/java/com/tencent/qgame/animplayer/mix/Resource.kt

@@ -16,18 +16,20 @@
 package com.tencent.qgame.animplayer.mix
 package com.tencent.qgame.animplayer.mix
 
 
 import android.graphics.Bitmap
 import android.graphics.Bitmap
+import com.tencent.qgame.animplayer.PointRect
 
 
 /**
 /**
  * 资源描述
  * 资源描述
  */
  */
-class Resource {
+class Resource(src: Src) {
     var id = ""
     var id = ""
     var type = Src.SrcType.UNKNOWN
     var type = Src.SrcType.UNKNOWN
     var loadType = Src.LoadType.UNKNOWN
     var loadType = Src.LoadType.UNKNOWN
     var tag = ""
     var tag = ""
     var bitmap: Bitmap? = null
     var bitmap: Bitmap? = null
+    var curPoint: PointRect? = null  // src在当前帧的位置信息
 
 
-    constructor(src: Src) {
+    init {
         id = src.srcId
         id = src.srcId
         type = src.srcType
         type = src.srcType
         loadType = src.loadType
         loadType = src.loadType

+ 7 - 3
Android/PlayerProj/app/src/main/java/com/tencent/qgame/playerproj/player/AnimVapxDemoActivity.kt

@@ -70,6 +70,8 @@ class AnimVapxDemoActivity : Activity(), IAnimListener {
         Handler(Looper.getMainLooper())
         Handler(Looper.getMainLooper())
     }
     }
 
 
+    private var lastToast: Toast? = null
+
     override fun onCreate(savedInstanceState: Bundle?) {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_anim_simple_demo)
         setContentView(R.layout.activity_anim_simple_demo)
@@ -140,11 +142,13 @@ class AnimVapxDemoActivity : Activity(), IAnimListener {
         // 注册点击事件监听
         // 注册点击事件监听
         animView.setOnResourceClickListener(object : OnResourceClickListener {
         animView.setOnResourceClickListener(object : OnResourceClickListener {
             override fun onClick(resource: Resource) {
             override fun onClick(resource: Resource) {
-                Toast.makeText(
+                lastToast?.cancel()
+                lastToast = Toast.makeText(
                     this@AnimVapxDemoActivity,
                     this@AnimVapxDemoActivity,
-                    "srcTag=${resource.tag} onClick",
+                    "srcTag=${resource.tag} onClick ${resource.curPoint}",
                     Toast.LENGTH_LONG
                     Toast.LENGTH_LONG
-                ).show()
+                )
+                lastToast?.show()
             }
             }
         })
         })