캐릭터
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