Kanzi 3.9.9 マイグレーションガイド

このマイグレーションガイドを使用して、Kanzi アプリケーションを Kanzi 3.9.8 から Kanzi 3.9.9 に更新してください。

Kanzi Java API への変更

  • ほとんどの create 関数は、基底クラスではなく対応するクラスの ObjectRef を返すようになりました。返された値から、クラスキャストを必要とせずに基底および派生機能の両方を直接使用できます。

    例:

    Kanzi 3.9.8

    Kanzi 3.9.9

    戻り値の型

    <T extends Resource> ObjectRef<T> ColorBrush.create(Domain domain)

    ObjectRef<ColorBrush> ColorBrush.create(Domain domain)

    使用方法

    ObjectRef<Resource> myBrush = ColorBrush.create(domain, "myBrush")

    ObjectRef<ColorBrush> myBrush = ColorBrush.create(domain, "myBrush")

  • Javaのインデックスに関する規約に従うため、インデックスを表すすべてのメソッドパラメータと戻り値は、現在 int を使用しています。

    例:

    Kanzi 3.9.8

    Kanzi 3.9.9

    public float Vector2.get(long index)

    public float Vector2.get(int index)

    public Vector3 getRow(long index)

    public Vector3 getRow(int index)

  • BitmapFont.create 関数を削除しました。この関数は意図したとおりに動作しませんでした。なぜなら、BitmapFont クラスにはパブリックコンストラクタがないからです。

ブラシレンダリングの変更

Kanzi の以前のバージョンでは、場合によっては2Dノードでブラシプロパティを設定しても機能しませんでした。Kanzi はレイアウトフェーズ中にブラシをレンダリングする必要性を判断し、その結果、ブラシに設定されたプロパティ値のみがレンダリング結果に影響を与える原因となりました。

Kanzi 3.9.9は、レンダリングフェーズでのブラシレンダリングを決定し、すべてのプロパティ値のソースを考慮します。

この改善により、ブラシレンダリングAPIに以下の変更が導入されます。

シェーダー処理の変更

Kanzi の以前のバージョンでは、Kanzi Studio がシェーダーの解析に失敗した場合、Kanzi はシェーダーコードをプリプロセスせずに kzb ファイルに書き込みました。Kanzi 3.9.9 では、そのようなシェーダーを赤一色でレンダリングするエラーシェーダーに置き換えます。

Kanzi Engine C++ APIを使用して、Kanzi Studio でサポートされていないシェーダーを作成および使用することができます。ShaderProgram を参照してください。

モーフウェイトの変更

Kanzi の以前のバージョンでは、Model3D ノードにモーフメッシュを設定すると、Kanzi Engine が Morph からのデフォルトのウェイトでモーフウェイトを上書きしていました。Kanzi 3.9.9 では、モーフウェイトが保持されます。

古い動作を再現するには、Model3D::MeshProperty を nullptr に設定し、新しい Morph を割り当てます。

ブール値から文字列への変換の変更

Kanzi の以前のバージョンでは、Boolean から文字列への変換が常に同じ値になるとは限りませんでした。例えば:

  • Set Property アクションは、ブールプロパティの値に基づいて文字列プロパティの値を設定し、「1」または「0」を結果として得ました。

  • Kanzi Engine C++ APIでの任意のブール値から文字列へのプロパティバインディングは、「1」または「0」となります。

  • バインディング式において、リテラルのブール値を文字列に暗黙的にキャストすると「True」または「False」になりますが、ストリング (String) でキャストすると「true」または「false」になります。

Kanzi 3.9.9では、Booleanから文字列へのすべての変換は小文字の "true" または "false" になります。

Kanzi アプリケーションを以前のバージョンから移行するには、Boolean 値と比較するすべての文字列値が小文字の "true" または "false" であることを確認してください。

例えば、Set Property アクションを使用してブールプロパティから値を取得する文字列コントローラープロパティを持つステートマネージャーでは、状態を "1" や "0" の代わりに "true" や "false" を使用するように変更します。

関連項目

Kanzi 3.9.9 リリースノート

既知の問題