プロジェクト (Projects)¶
Kanzi アプリケーションは、アプリケーションコンテンツとイベントロジックのソースとして kzb Kanzi ファイルを使用します。
Kanzi Studio プロジェクトを1つ以上使用して、Kanzi アプリケーションを作成できます。
Kanzi Studio プロジェクトを Kanzi アプリケーションに統合する を参照してください。
Kanzi Studio で Project > Properties を選択してプロジェクトを構成できます。
Kanzi Studio では、一度に開くことができるプロジェクトは1つだけです。
Kanzi Studio プロジェクト構造¶
Kanzi Studio プロジェクトは、プロジェクトオブジェクトとリソースで構成されています。プロジェクト内の各オブジェクトには、親、名前、およびそれを定義するプロパティのセットがあります。さらに、ほとんどのオブジェクトには、子オブジェクトまたはアイテムオブジェクトがあります。
親リンクおよび子コレクション内の子リンクに加えて、アイテムはプロジェクトツリー内の他のブランチを参照することもできます。例えば、アニメーションオブジェクトはアニメーションライブラリを親として持ちますが、子ノードとして機能するアニメーションへの参照リストを持っています。これにより、複数のアニメーションノードが子ノードリスト内で単一の子ノードを共有するアニメーションインスタンス化が可能になります。
プロジェクト (Project) ディレクトリ¶
デフォルトでは、Kanzi Studio のプロジェクトは <KanziWorkspace>/Projects ディレクトリに保存されます。Kanzi Studio はプロジェクトごとにディレクトリを作成し、そのディレクトリには以下が含まれます。
プロジェクトファイル。Kanzi Studio はプロジェクトデータを kzm ファイルに保存します。ルートプロジェクトファイルの拡張子は
.proj.kzmです。プロジェクトファイルは手動で変更することもできますが、Kanzi Studio のみで変更するように設計されています。プロジェクトディレクトリには、ルートプロジェクトファイルが 1 つだけ含まれます。ディレクトリに複数のルートプロジェクトファイルが含まれているプロジェクトは、どれがルートなのかを判別できないため、Kanzi Studio で開くことができません。各プロジェクトをそれぞれ専用のディレクトリに移動してください。
プロジェクトファイルのバックアップ。プロジェクトを保存すると、Kanzi Studio はプロジェクトファイルのコピーを作成し、
.proj.kzm_Nという拡張子のファイルに保存します。N はバックアップの連番です。プロジェクトファイルロック。プロジェクトを開くと、Kanzi Studio はプロジェクトディレクトリにロックファイルを作成します。プロジェクトロックファイルは、プロジェクトの複数のコピーを開くことを防ぎます。プロジェクトを閉じると、Kanzi Studio はプロジェクトロックファイルを削除します。
リソースファイルのディレクトリ。これらのディレクトリには、Kanzi Studio プロジェクトの一部であるものの、その内容がプロジェクトファイルに含まれないファイルが格納されます。たとえば、イメージファイルやシェーダーのソースファイルなどです。
リソースファイルのディレクトリの内容のほとんどには、Kanzi Studio の Library > Resource Files からアクセスできます。ファイルシステムでこれらのディレクトリのいずれかにファイルを追加すると、そのファイルは自動的に Library に追加されます。ただし、以下は例外です。
Mesh Data と Animations ディレクトリは、Kanzi Studio のみで使用されます。これらのディレクトリ内のファイルには、メッシュの頂点およびインデックスデータと、アニメーションのアニメーションキーフレームデータが含まれています。ソース管理システムを使用している場合は、メッシュをインポートしたり、Kanzi Studio プロジェクトで新しいアニメーションを作成したりするたびに、これらのファイルをソース管理に追加することを忘れないでください。
Source Assets ディレクトリは、画像処理アプリケーションやデジタルコンテンツ作成ツールをプロジェクトと共に保持するためのネイティブファイルの保存場所です。Kanzi Studio はこれらのファイルを処理せず、Kanzi アプリケーションの kzb ファイルにエクスポートしません。Kanzi Studio から Source Assets ディレクトリにアクセスすることはできません。
Restore Points ディレクトリ。プロジェクトを以前のバージョンに戻すには、リストアポイントを使用します。プロジェクトのリストアポイントを作成すると、Kanzi Studio はプロジェクトの完全なコピーを
<ProjectName>/Restore Pointsディレクトリ内のタイムスタンプ付きディレクトリに作成します。リストアポイントの作成 を参照してください。
参照されるプロジェクトの保存場所¶
プロジェクトディレクトリは 1 つのプロジェクトに属します。別のプロジェクトのプロジェクトファイルを含むディレクトリの中にプロジェクトを保存しないでください。代わりに、ソリューションが参照するプロジェクトはソリューションと並べて配置してください。Kanzi Studio プロジェクトを Kanzi アプリケーションに統合する を参照してください。
Kanzi Studio では以下のように制限されます。
別のプロジェクトのディレクトリ内にあるディレクトリでプロジェクトを作成することはできません。
別のプロジェクトのディレクトリ内に保存されているプロジェクトを、リファレンスとして追加することはできません。
プロジェクトリファレンスを介して、直接またはリファレンスの連鎖を通じてそのようなプロジェクトに到達するプロジェクトを開くと、Kanzi Studio は Move nested referenced projects ダイアログで、そのプロジェクトを兄弟ディレクトリに移動するかどうかを確認します。拒否すると、Kanzi Studio はプロジェクトを開きません。
リファレンスとして追加するプロジェクトが自身のディレクトリ内に別のプロジェクトを含んでいる場合、Kanzi Studio はその別のプロジェクトについても同じ確認を行います。拒否すると、Kanzi Studio は開いているプロジェクトをそのまま維持し、追加したプロジェクトだけを読み込まれていない状態にします。
移動によって行われること¶
移動はディスク上のディレクトリを変更するため、元に戻すことはできません。移動先に同じ名前のディレクトリがすでに存在する場合、Kanzi Studio は作成するディレクトリの名前に番号を付加します。
Kanzi Studio は、移動によって空になったディレクトリを削除します。
Kanzi Studio moves either all the directories or none of them. When a move fails, for example because another program holds a file open, Kanzi Studio retries, then asks whether to try again. If you decline, Kanzi Studio moves back the directories it already moved. It updates the paths in your projects only after every directory is in place, so a move that does not go through leaves your project files untouched. When Kanzi Studio cannot move a directory back either, it reports that in the Log window, and that directory stays where the move put it.
Kanzi Studio は、入れ子になったプロジェクトのグループ全体を 1 つの階層に平坦化します。たとえば、
Mainを開き、それがMain/Sub内のプロジェクトを参照し、さらにそのプロジェクトがMain/Sub/Deep内のプロジェクトを参照しているとします。この場合、両方のプロジェクトは、それぞれが保存されていたディレクトリの隣ではなく、Mainの隣に移動されます。入れ子になったプロジェクトを含むディレクトリに、移動先となる親ディレクトリがない場合 (たとえばドライブのルートである場合)、Kanzi Studio はそれらのプロジェクトをそのままにし、ログに警告を書き込みます。
開こうとしているプロジェクト自体が、そのプロジェクトが参照するプロジェクトのディレクトリ内に保存されている場合、Kanzi Studio はその入れ子だけをそのままにし、ログに警告を書き込みます。その他の入れ子になったプロジェクトは、見つかったものすべてを移動します。開こうとしているプロジェクトもそれを囲むディレクトリも、そのプロジェクトを開いている間は移動できないため、そのディレクトリから手動で移動してください。
Kanzi Studio が更新するものと、ユーザーが更新するもの¶
Kanzi Studio は、到達するすべてのプロジェクトで、移動したディレクトリ内を指していたすべてのパス設定を更新します。
プロジェクトと kzb のリファレンス。
Kanzi Engine プラグインのパス。
Binary Export Directory、Application Export Directory、および Preview Working Directory の設定。
Application Root Directory と APK Path のビルド構成設定。
Kanzi Studio プラグインが追加するパスプロパティ。
Kanzi Studio は、<ProjectDirectory> などのマクロを値とするパス設定は、どのマシンでも設定が解決され続けるように変更しません。そのような設定が移動するディレクトリ内を指している場合は、手動で更新してください。
Kanzi Studio は、パスを更新した各プロジェクトを保存します。ただし、未保存の変更があるプロジェクトは除きます。そのようなプロジェクトについては、ユーザーの変更を勝手に保存しないように、Kanzi Studio はパスを更新するだけで保存はせず、Log ウィンドウにメモを書き込みます。更新したパスを維持するには、そのプロジェクトを保存してください。
Kanzi Studio はプロジェクトディレクトリ全体を 1 つの単位として移動するので、移動したプロジェクトのアプリケーションコードを変更する必要はありません。ビルドスクリプト、継続的インテグレーションの設定、バージョンコントロールのパスなど、外部からそのディレクトリ内を指しているパスは、ご自身で更新してください。
Kanzi Studio が何も移動しない場合¶
次の場合、Kanzi Studio は何も移動しません。
対象となるプロジェクトが別の Kanzi Studio インスタンスでオープンされている。
対象となるプロジェクトファイルが読み取り専用になっている。先にバージョンコントロールからチェックアウトしてください。
対象となるプロジェクトがまだ kzproj フォーマットのままで、kzm への変換を拒否した。Kanzi Studio はパスを更新したすべてのプロジェクトを保存します。kzproj プロジェクトを保存すると、そのプロジェクトは変換され、元の kzproj ファイルは削除されます。
移動する必要のあるプロジェクトが、開いているプロジェクトにすでにロードされている。Kanzi Studio は、自身が開いたまま保持しているプロジェクトのディレクトリを移動できません。そのプロジェクトをアンロードするか、開いているプロジェクトを閉じてから再度開いてください。
プロジェクトを開こうとしている場合、Kanzi Studio はオープンをキャンセルします。プロジェクトリファレンスを追加しようとしている場合、Kanzi Studio は開いているプロジェクトを維持し、追加したプロジェクトのみをアンロードされた状態のままにします。
KanziStudio.exe /Script で実行するコマンドスクリプトは、確認なしでディレクトリを移動します。ダイアログには対話型の Kanzi Studio が必要なためです。Kanzi Studio タスクの自動化 を参照してください。
関連項目¶
Kanzi 3.9 から Kanzi 4 へのプロジェクトの移行