キャラクター
Pixi’VNでキャラクターを定義、使用、カスタマイズする方法(ストレージ、感情、カスタムプロパティを含む)。
characters とは何ですか? キャラクター(characters)はビジュアルノベルに登場する俳優です。 Pixi’VN では、キャラクターは CharacterBaseModel クラスまたはカスタムクラスを使って作成されます。
初期化
キャラクターを初期化するには、CharacterBaseModel クラス(またはカスタムクラス)の新しいインスタンスを作成し、ゲームの初期化時にゲームキャラクター辞書に追加します。
プロジェクト起動時にインスタンスをインポートすることを推奨します。
RegisteredCharacters.add はキャラクターをゲームに保存するために必須です。
import { CharacterBaseModel, RegisteredCharacters } from "@drincs/pixi-vn";
export const liam = new CharacterBaseModel("liam", {
name: "Liam",
surname: "Smith",
age: 25,
icon: "https://example.com/liam.png",
color: "#9e2e12",
});
export const emma = new CharacterBaseModel("emma", {
name: "Emma",
surname: "Johnson",
age: 23,
icon: "https://example.com/emma.png",
color: "#9e2e12",
});
RegisteredCharacters.add([liam, emma]);取得
id でキャラクターを取得するには、RegisteredCharacters.get 関数を使用します。
import { RegisteredCharacters } from "@drincs/pixi-vn";
const liam = RegisteredCharacters.get("liam");すべて取得
すべてのキャラクターを取得するには、RegisteredCharacters.values 関数を使用します。
import { RegisteredCharacters } from "@drincs/pixi-vn";
const characters = RegisteredCharacters.values();使用
ink
このメソッドは ink 構文で使用できます。 詳細はこちらをご覧ください。
ゲームキャラクターを使用して、例えば現在のダイアログにリンクすることができます。 キャラクターの id またはキャラクターのインスタンスを使用できますが、インスタンスを使用することを推奨します。
import { liam } from "@/content/characters";
narration.dialogue = { character: liam, text: "Hello" };
// or
narration.dialogue = { character: "liam_id", text: "Hello" };編集
ink
このメソッドは ink 構文で使用できます。 詳細はこちらをご覧ください。
CharacterBaseModel は ストアドクラス であり、そのプロパティは ゲームストレージ に保存されます。 例えば、ゲーム中にキャラクターの名前を変更すると、新しい名前がゲームストレージに保存され、その id に関連付けられます。
キャラクターの id がバージョン間で変更された場合、システムは前の id から新しい id へデータを移動しません。
クラスのインスタンス化時に使用されたプロパティを取得するには、default プロパティを使用できます。
import { liam } from "@/content/characters";
console.log(liam.name); // Liam
liam.name = "Liam Smith";
console.log(liam.name); // Liam Smith