完成动画切换
This commit is contained in:
@@ -9,7 +9,6 @@ import android.widget.Toast
|
||||
import com.hmwl.face_sdk.FaceActivity
|
||||
import com.hmwl.face_sdk.InitArg
|
||||
import com.hmwl.face_sdk.Motion
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
import java.io.BufferedReader
|
||||
import java.io.InputStreamReader
|
||||
@@ -17,11 +16,11 @@ import java.io.InputStreamReader
|
||||
|
||||
class MakeupActivity : FaceActivity()
|
||||
{
|
||||
|
||||
private var curIndex = 0
|
||||
private var pngFilesByFolder: List<FolderInfo>? = null
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
||||
FaceInit(this)
|
||||
|
||||
val initArg = InitArg().apply {
|
||||
@@ -34,13 +33,15 @@ class MakeupActivity : FaceActivity()
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
var motion = getMotionByIndex(0);
|
||||
var jsonString = motion.toJson()
|
||||
val result = PreLoadAction(jsonString) { motion_type ->
|
||||
// 在这里处理回调结果
|
||||
println("OnLoadActionFinished: $motion_type")
|
||||
ChangeState(motion_type);
|
||||
}
|
||||
//Toast.makeText(this, "4.png", Toast.LENGTH_LONG).show()
|
||||
var motionJsonString = motion.toJson()
|
||||
val result = PreLoadAction(motionJsonString,object : CallbackInterface {
|
||||
override fun OnLoadActionFinished(motion_type: String) {
|
||||
//加载完成后,切断到对应的动画
|
||||
Log.i("info","加载完成后,切换到对应的动画")
|
||||
ChangeMotion(motion_type)
|
||||
}
|
||||
})
|
||||
Toast.makeText(this, "开始加载动画: $result", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
|
||||
private fun getMotionByIndex(index: Int): Motion {
|
||||
@@ -65,31 +66,45 @@ class MakeupActivity : FaceActivity()
|
||||
return ""
|
||||
}
|
||||
|
||||
var nextMotionLoadFinished = false
|
||||
var nextMotionType = ""
|
||||
override fun onTouchEvent(event: MotionEvent): Boolean {
|
||||
when (event.action) {
|
||||
MotionEvent.ACTION_DOWN -> {
|
||||
Log.d("TouchEvent", "手指按下 - X: ${event.x}, Y: ${event.y}")
|
||||
if(curIndex == 31)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
MotionEvent.ACTION_MOVE -> {
|
||||
Log.d("TouchEvent", "手指移动 - X: ${event.x}, Y: ${event.y}")
|
||||
}
|
||||
MotionEvent.ACTION_UP -> {
|
||||
Log.d("TouchEvent", "手指抬起")
|
||||
curIndex++
|
||||
pngFilesByFolder?.let { folders ->
|
||||
if (curIndex > folders.size - 1) {
|
||||
//动画播放完成,切换到主界面
|
||||
curIndex = 0
|
||||
Stop();
|
||||
finish();
|
||||
}
|
||||
ChangeState(getCurMotionState(curIndex))
|
||||
Toast.makeText(this, folders[curIndex].folderName, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
|
||||
MotionEvent.ACTION_UP -> {
|
||||
if (!nextMotionLoadFinished)
|
||||
{
|
||||
var nextMotion = getMotionByIndex(curIndex + 1);
|
||||
var json_str = nextMotion.toJson()
|
||||
PreLoadAction(json_str,object : CallbackInterface {
|
||||
override fun OnLoadActionFinished(motion_type: String) {
|
||||
Log.i("info","加载完成后,还会继续播放当前的动画,可以手动切换动画")
|
||||
nextMotionLoadFinished = true;
|
||||
nextMotionType = motion_type;
|
||||
}
|
||||
})
|
||||
Toast.makeText(this, "开始加载下一个动画 ${nextMotion.type}", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
else
|
||||
{
|
||||
//手动切换动画
|
||||
ChangeMotion(nextMotionType);
|
||||
nextMotionLoadFinished = false;
|
||||
curIndex++;
|
||||
Toast.makeText(this, "切换到下一个动画 $nextMotionType", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user