1. 去掉V8脚本
1)集成Application
2)
virtual void registerMetadataOverride(ObjectFactory& /*factory*/) KZ_OVERRIDE
{
KanziComponentsModule::registerModule(getDomain());
//#if !defined(SPANSION) && !defined(ANDROID_GRADLE)
// V8Module::registerModule(getDomain());
//#endif
}
2.应用程序配置参考
application.cfg
#在 Kanzi 应用程序中启用完整的性能 HUD (Performance HUD)。
PerformanceInfoLevel =2
#禁用应用程序空闲状态,0为一直刷新
ApplicationIdleState = 0
#将应用程序窗口放在设备屏幕的左上角。
WindowX = 0
WindowY = 0
#将宽度设置为 1280 像素,将高度设置为 720 像素,并将其放在与顶部相距 100 像素、
WindowWidth = 1280
WindowHeight = 720
#将第二个显示屏设置为全屏应用程序窗口的默认显示屏。
DefaultDisplayIndex = 1
3.系统启动时间
virtual void onConfigure(ApplicationProperties& configuration) KZ_OVERRIDE
{
kzLogDebug(("onConfigure()"));
configuration.binaryName = "helloworld.kzb.cfg";
mTime = kzsTimeGetCurrentTimestamp();
mFirst = true;
}
virtual void onPostRender()
{
if (mFirst)
{
kzUint loadTime = kzsTimeGetCurrentTimestamp() - mTime;
mFirst = false;
kzLogDebug(("load time {} ms ",loadTime));
}
kzLogDebug(("onPostRender()"));
}
4.打印帧率
virtual void onUpdate(chrono::milliseconds deltaTime)
{
static kzFloat fpsSum = 0;
static kzInt frameCount = 0;
if (frameCount == 100)
{
kzInt averageFPS = int(fpsSum / 100);
kzLogDebug(("averageFPS: {}", averageFPS));
}
else
{
fpsSum += getFramesPerSecond();
frameCount++;
}
}
5.属性的声明
属性注册
属性的定义
static PropertyType<String> MyTextProperty;
6.配置Kanzi Studio中使用的自定义节点
配置的内容见:显示 Kanzi Studio 中的 Kanzi Engine 插件自定义类型的参考
//创建字符串属性。
//本示例不设置编辑器。
//如果不设置编辑器,Kanzi Studio 对此属性类型使用默认编辑器。
PropertyType<string> MyPlugin::StringProperty(kzMakeFixedString("MyPlugin.String"), "", 0, false,
KZ_DECLARE_EDITOR_METADATA
(
metadata.displayName = "String";
));