Kanzi Studio タスクの自動化¶
Kanzi Studio コマンドは、コマンドラインインターフェースからスクリプトを実行することで実行できます。これにより、Kanzi Studio または Kanzi Studio のタスクで繰り返し行う作業を自動化し、多数の Kanzi Studio プロジェクトで実行することができます。例えば、多くの Kanzi Studio プロジェクトで使用する Kanzi Engine プラグインを更新するスクリプトを作成したり、多くの Kanzi Studio プロジェクトから kzb ファイルをエクスポートするスクリプトを作成したりすることを考えてみてください。
利用可能なコマンドのリストについては、Kanzi Studio コマンドリファレンス を参照してください。
Kanzi Studio タスクを自動化するには:
テキストエディタで、Kanzi Studio に実行させたいコマンドを定義するスクリプトを作成します。
例えば、このステップのコマンドをスクリプトに追加し、スクリプトを
MyScript.txtとして保存します。Kanzi Studio プロジェクトを開きます。
# Open the project named MyProject. LoadProject "C:\KanziWorkspace\Projects\MyProject\Tool_project\MyProject.kzproj"
Kanzi Studio のタスクを自動化するコマンドを追加します。
たとえば、次のことを自動化できます:
kzbファイルのエクスポート。スクリプトを使用して kzb ファイルをエクスポートする を参照してください。
Kanzi アプリケーションの Android 向けビルド。スクリプトを使用してAndroid用の Kanzi アプリケーションをビルドする を参照してください。
Kanzi Engine プラグインのインポートと更新。スクリプトを使用して Kanzi Engine プラグインをインポートおよび更新する を参照してください。
データソースの作成と更新。スクリプトを使用してデータソースを作成および更新する を参照してください。
ノードの作成。スクリプトを使用してノードを作成する を参照してください。
プロパティの追加と削除、およびプロパティ値の設定。スクリプトを使用してプロパティを編集する を参照してください。
無効なプロジェクトアイテムのログ記録。スクリプトを使用して無効なプロジェクトアイテムをログに記録する を参照してください。
利用可能なコマンドのリストについては、Kanzi Studio コマンドリファレンス を参照してください。
プロジェクトを保存して閉じます。
# Save the project. # The second parameter sets whether Kanzi Studio continues working in the directory where you # opened the project. # When you save the project to a different location, set the second parameter to false. # For example, # SaveProject "C:\KanziWorkspace\Projects\MyOtherProject\Tool_project\MyOtherProject.kzproj" false SaveProject "C:\KanziWorkspace\Projects\MyProject\Tool_project\MyProject.kzproj" true # Close Kanzi Studio. # To close the project but continue using Kanzi Studio, use CloseProject. ExitApplication
コマンドラインインターフェースを開き、
<KanziInstallation>/Studio/Binディレクトリに移動し、/Scriptフラグを使用して、前のステップで作成したスクリプトを指すようにKanziStudio.exeファイルを実行します。例えば、コマンドラインインターフェースで、実行します
KanziStudio.exe /Script="C:\Users\username\Documents\MyScript.txt"
スクリプトを使用して kzb ファイルをエクスポートする¶
kzbファイルには、Kanzi Studio プロジェクトの内容が含まれています。Kanzi アプリケーションを実行するには、そのアプリケーションの Kanzi Studio プロジェクトの内容をkzbファイルにエクスポートする必要があります。
kzbファイルの使用 を参照してください。
スクリプトを使用してkzbファイルをエクスポートするには、ExportBinary コマンドを使用します。
# Export the kzb file to the location set in the Project > Properties in the Binary Export Directory
# property.
# To export the kzb file to another location use:
# ExportBinary "Path\to\directory\MyProjectBinary.kzb"
ExportBinary
ExportBinary コマンドは、次のオプションパラメータを取ります。
最初のパラメーターは、Kanzi Studio がテーマとロケールリソースを個別の kzb ファイルにエクスポートするかどうかを設定します。デフォルトで、true です。
2番目のパラメーターは、Kanzi Studio がkzaファイルをエクスポートするかどうかを設定します。kzaファイルはkzbファイルのXMLバージョンです。デフォルトはfalseです。
例えば、テーマとロケールリソースの両方を別々のkzbファイルとkzaファイルにエクスポートするには、
# Export the theme and locale resources and the kza file.
ExportBinary true true
スクリプトを使用してAndroid用の Kanzi アプリケーションをビルドする¶
スクリプトを使用してAndroid用の Kanzi アプリケーションをビルドするには、ExportApk コマンドを使用します。
# Before you build an APK file, you can set whether to install the APK file to your
# Android device and launch the application. By default, |k| installs the APK file
# and launches the application.
# In My Android Configuration, disable the Install to Device property.
SetProperty "/Resource Files/Build Configurations/My Android Configuration" BuildConfigurationInstallToDevice false
# In My Android Configuration, disable the Launch Application property.
SetProperty "/Resource Files/Build Configurations/My Android Configuration" BuildConfigurationRunApplication false
# Build the APK file using the My Android Configuration build configuration.
# If the project contains images that use texture compression, the second
# parameter sets whether Kanzi Studio compresses these images.
ExportApk "/Resource Files/Build Configurations/My Android Configuration" true
スクリプトを使用して Kanzi Engine プラグインをインポートおよび更新する¶
Kanzi Engine プラグインは Kanzi Engine の機能を拡張します。Kanzi Engine はターゲットプラットフォーム上でこれらのプラグインを実行します。
Kanzi Engine プラグイン を参照してください。
スクリプトを使用して、Kanzi Engine プラグインをインポートおよび更新できます。
スクリプトを使用して Kanzi Engine プラグインをインポートする¶
Kanzi Studio プロジェクトで Kanzi Engine プラグインを使用したい場合は、その Kanzi Engine プラグインを Kanzi Studio プロジェクトにインポートする必要があります。
スクリプトを使用して Kanzi Engine プラグインをインポートするには、ImportEnginePlugin コマンドを使用します。
# Import the Kanzi Engine plugin DLL MyPluginProject\Application\lib\Win64\GL_vs2019_Debug_DLL\MyPluginProject.dll.
# Kanzi Studio adds to the Library > Kanzi Engine Plugins a reference to the Kanzi Engine plugin DLL that you import.
ImportEnginePlugin "C:\KanziWorkspace\Projects\MyPluginProject\Application\lib\Win64\GL_vs2019_Debug_DLL\MyPluginProject.dll"
スクリプトを使用して Kanzi Engine プラグインを更新する¶
Kanzi Studio プロジェクトで異なるバージョンの Kanzi Engine プラグインを使用したい場合は、その Kanzi Engine プラグインを Kanzi Studio プロジェクトで更新する必要があります。
スクリプトを使用して Kanzi Engine プラグインを更新するには、ImportEnginePlugin コマンドを使用します。
# Update the XML_data_source Kanzi Engine plugin in the project.
# You leave the first parameter empty because you do not import a new plugin to the project.
ImportEnginePlugin "" "/Kanzi Engine Plugins/XML_data_source"
スクリプトを使用してプロジェクトまたはソリューション内のすべての Kanzi Engine プラグインを更新する¶
Kanzi Studio プロジェクトで異なるバージョンの Kanzi Engine プラグインを使用したい場合は、その Kanzi Engine プラグインを Kanzi Studio プロジェクトで更新する必要があります。
スクリプトを使用して、Kanzi Studio プロジェクト内のすべての Kanzi Engine プラグインを更新できます。Kanzi Studio プロジェクトにプロジェクト参照が含まれている場合、そのプロジェクトとすべての参照プロジェクトを含むソリューション内のすべての Kanzi Engine プラグインを更新できます。Kanzi Studio プロジェクトを Kanzi アプリケーションに統合する を参照してください。
スクリプトを使用してプロジェクトまたはソリューション内のすべての Kanzi Engine プラグインを更新するには、UpdateProjectEnginePlugins または UpdateSolutionEnginePlugins コマンドを使用します。
# Update all the Kanzi Engine plugins in the project.
# To update the Kanzi Engine plugins in that project and all referenced projects use
# UpdateSolutionEnginePlugins.
UpdateProjectEnginePlugins
スクリプトを使用してデータソースを作成および更新する¶
データソースを使用すると、ユーザーインターフェイスをアプリケーションデータから切り離し、Kanzi Studio プロジェクトと Kanzi アプリケーションを定義するアプリケーションコードとの依存関係を取り除くことができます。
データソース (Data Sources) を参照してください。
スクリプトを使用してデータソースを作成および更新できます。
スクリプトを使用してデータソースを作成する¶
Kanzi Studio プロジェクトで Kanzi Engine データソースプラグインを使用したい場合は、Kanzi Studio プロジェクトでデータソースを作成する必要があります。
スクリプトを使用してデータソースを作成するには、まず Kanzi Engine データソースプラグインをインポートし、次にデータソースを作成して更新します。
# Import the Kanzi Engine data source plugin DLL MyDataSource\Application\lib\Win64\GL_vs2019_Release_DLL\MyDataSource.dll.
# The MyDataSource plugin defines the CustomDataSourceType data source type.
# Kanzi Studio adds to the Library > Kanzi Engine Plugins a reference to the Kanzi Engine data source plugin DLL that you import.
ImportEnginePlugin "C:\KanziWorkspace\Projects\MyDataSource\Application\lib\Win64\GL_vs2019_Release_DLL\MyDataSource.dll"
# Create a data source named Cluster of the type CustomDataSourceType.
CreateDataSource "Cluster" "CustomDataSourceType"
# To create data objects from the Cluster data source, update the data source.
UpdateDataSourceContents "/Data Sources/Cluster/"
スクリプトを使用してデータソースを更新する¶
Kanzi Engine プラグインがデータソースを更新しない場合、スクリプトを使用してデータソースを更新することができます。
スクリプトを使用してデータソースを更新するには、UpdateDataSourceContents コマンドを使用します。
# Update the Cluster data source in the project.
UpdateDataSourceContents "/Data Sources/Cluster/"
スクリプトを使用してプロジェクトまたはソリューション内のすべてのデータソースを更新する¶
Kanzi Engine プラグインがデータソースを更新しない場合、スクリプトを使用してデータソースを更新できます。Kanzi Studio プロジェクトにプロジェクト参照が含まれている場合、そのプロジェクトとすべての参照プロジェクトを含むソリューション内のすべてのデータソースを更新できます。Kanzi Studio プロジェクトを Kanzi アプリケーションに統合する を参照してください。
スクリプトを使用してプロジェクトまたはソリューション内のすべてのデータソースを更新するには、UpdateProjectDataSources または UpdateSolutionDataSources コマンドを使用します。
# Update all data sources in the project.
# To update the data sources in that project and all referenced projects use
# UpdateSolutionDataSources.
UpdateProjectDataSources
スクリプトを使用してノードを作成する¶
スクリプトを使用してノードを作成できます。例えば:
Button 2D ノードを作成するには、CreateButton2D コマンドを使用します。
# In the RootPage node, create a Button 2D node named My Button. # The last parameter sets whether Kanzi Studio selects the node that you created. CreateButton2D "/Screens/Screen/RootPage" "My Button" true
Grid List Box 3D ノードを作成するには、CreateComponentNode コマンドを使用します。
# In the RootPage > Viewport 2D > Scene node, create a Grid List Box 3D node named My Grid List Box. CreateComponentNode "/Screens/Screen/RootPage/Viewport 2D/Scene" "My Grid List Box" Kanzi.GridListBox3D
スクリプトを使用してプロパティを編集する¶
プロパティは、ノードの状態、見た目、動作を指定したり調べたりする手段となります。例えば、プロパティは色を定義したり、ボタンが押されているかどうかを示したり、アイテムの配置を指定したりすることができます。
プロパティタイプ (Property Types) を参照してください。
スクリプトを使用してプロパティを編集できます。
スクリプトを使用してプロパティを追加する¶
スクリプトを使用してプロパティを追加するには、AddProperty コマンドを使用します。
例えば、RootPage ノードに Description プロパティを追加するには:
# In the RootPage node, add the Description property.
AddProperty "MyProject/Screens/Screen/RootPage" Description
スクリプトを使用してプロパティを削除する¶
スクリプトを使用してプロパティを削除するには、RemovePropertyFromItem コマンドを使用します。
例えば、RootPage ノードから Background Brush プロパティを削除するには:
# In the RootPage node, remove the Background Brush property.
# Use the Kanzi Engine property name which you see in Kanzi Studio when you hover your
# mouse pointer over the property name.
RemovePropertyFromItem "MyProject/Screens/Screen/RootPage" Node2D.BackgroundBrush
スクリプトを使用してプロパティ値を設定する¶
スクリプトを使用してプロパティ値を設定するには、SetProperty コマンドを使用します。
例:
Screen ノードのサイズを1200 x 720ピクセルに設定するには:
# In the Screen node, set: # - Metrics Type to Absolute SetProperty "/Screens/Screen" Window.MetricsType Absolute # - Width to 1200 SetProperty "/Screens/Screen" WindowAbsoluteWidth 1200 # - Height to 720 SetProperty "/Screens/Screen" WindowAbsoluteHeight 720
Text Block ノードの Text プロパティを1行のテキストに設定するには:
# In the RootPage > My Text Block node, set the Text property to SERVICE VEHICLE SOON. SetProperty "/Screens/Screen/RootPage/My Text Block" TextConcept.Text "SERVICE VEHICLE SOON"
プロパティ値を複数行にわたって設定するには、値をトリプルバッククォートで囲みます:
# In the RootPage > My Text Block node, set the Text property to # SERVICE # VEHICLE # SOON SetProperty "/Screens/Screen/RootPage/My Text Block" TextConcept.Text ```SERVICE VEHICLE SOON```
スクリプトを使用して無効なプロジェクトアイテムをログに記録する¶
Kanzi Studio は、Node Tree と Library の無効なアイテムを赤い文字でマークします。
例:
ノードに無効なバインディングが含まれています。
リソースが存在しないリソースを使用しているか、必要なプロパティが欠けています。
マテリアルタイプのシェーダーに精度の不一致があります。
シェーダーソースファイルにエラーが含まれています。
無効なプロジェクトアイテムを見つける を参照してください。
スクリプトを使用して Kanzi Studio プロジェクト内の無効なプロジェクトアイテムをログに記録するには、PrintDiagnosticReport コマンドを使用します。
# Print a list of invalid project items to the Log window and the KanziStudio.log file.
PrintDiagnosticReport MyProject