如果你阅读过 Android、iOS 或 Flash 版本的 SDK 中附带的 SampleApp1,你一定会发现,点击和滑动事件不但要写好 JSON,还要在 Define 和 Live2DManager 中添加判定和处理代码。
这绝对是件让人很厌烦的事情。
于是我简单的实现了一下解析 model.json 来自动处理点击和滑动事件。
源码是 Android 版本,如果你在使用其他版本 SDK 请自己翻译一下,很简单的。
以下请加在 LAppLive2DManager.java
的 tapEvent(float x, float y)
里面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int hitAreas = models.get(i).modelSetting.getHitAreasNum(); for (int h = 0; h < hitAreas; h++) { if(models.get(i).hitTest(models.get(i).modelSetting.getHitAreaName(h), x, y)) { String motionGroup = "tap_" + models.get(i).modelSetting.getHitAreaName(h); int exist = models.get(i).modelSetting.getMotionNum(motionGroup); if (exist != 0) { models.get(i).startRandomMotion(motionGroup, LAppDefine.PRIORITY_NORMAL); break; } } } |
至于 flickEvent
,只要把以上代码中的 tap_
修改成 flick_
就可以了。