Lynn° – Live2D SDK https://live2dsdk.mist.so Cubism SDK Research Sun, 16 Feb 2014 14:28:27 +0000 zh-CN hourly 1 https://wordpress.org/?v=4.9.5 解析 model.json 实现自动处理点击事件 https://live2dsdk.mist.so/posts/8.html https://live2dsdk.mist.so/posts/8.html#respond Thu, 13 Feb 2014 17:14:31 +0000 http://sdk.live2d.cn/?p=8 如果你阅读过 Android、iOS 或 Flash 版本的 SDK 中附带的 SampleApp1,你一定会发现,点击和滑动事件不但要写好 JSON,还要在 Define 和 Live2DManager 中添加判定和处理代码。
这绝对是件让人很厌烦的事情。
于是我简单的实现了一下解析 model.json 来自动处理点击和滑动事件。
源码是 Android 版本,如果你在使用其他版本 SDK 请自己翻译一下,很简单的。

以下请加在 LAppLive2DManager.java 的 tapEvent(float x, float y) 里面。

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_ 就可以了。

]]>
https://live2dsdk.mist.so/posts/8.html/feed 0