Menu di scelta
Spiega come implementare e personalizzare menu di scelta interattivi in Pixi'VN, permettendo ai giocatori di prendere decisioni che influenzano la storia.
Schermata UI
Puoi trovare un esempio della schermata UI del menu di scelta nella sezione esempi di interfaccia.
ink
Puoi usare questo metodo con la sintassi ink. Scopri di più qui.
Nelle visual novel, i menu di scelta permettono al giocatore di prendere decisioni che influenzano la storia.
In Pixi’VN, puoi chiedere al giocatore di fare una scelta. Ogni scelta può avviare una label oppure chiudere il menu di scelta.
Richiedere al giocatore di fare una scelta
Per richiedere al giocatore di fare una scelta, imposta narration.choices su un array di StoredChoiceInterface. Per creare un oggetto StoredChoiceInterface, usa:
import {
newChoiceOption,
newCloseChoiceOption,
narration,
newLabel,
} from "@drincs/pixi-vn";
export const startLabel = newLabel("start", [
async () => {
narration.dialogue = "Choose a fruit:";
narration.choices = [
newChoiceOption("Orange", orangeLabel, {}), // by default, the label will be called with "call"
newChoiceOption("Banana", bananaLabel, {}, { type: "jump" }),
newChoiceOption(
"Apple",
appleLabel,
{ quantity: 5 },
{ type: "call" },
),
newCloseChoiceOption("Cancel"),
];
},
() => {
narration.dialogue = "Restart";
},
async (props) => await narration.jump("start", props),
]);Ottenere
Per ottenere il menu di scelta corrente, usa narration.choices. Restituisce un array di StoredChoiceInterface.
const menuOptions: StoredChoiceInterface[] = narration.choices;Richiedere
Per selezionare una scelta, usa narration.selectChoice.
const item = narration.choices![0]; // get the first item
narration
.selectChoice(item, {
// Add StepLabelProps here
navigate: navigate, // example
// And the props to pass to the label
...item.props,
})
.then(() => {
// ...
})
.catch((e) => {
// ...
});Rimuovere
Per cancellare le opzioni di scelta, imposta narration.choices = undefined.
narration.choices = undefined;