NarraLeaf

Player

Player 包总览,包含渲染故事所需的组件与钩子,以及快速上手示例

Player 是 NarraLeaf-React 框架的一部分,包含用于播放故事的 React 组件

如果用抽象类创建了故事,请阅读 Core 文档;如果你要找的是 Player 组件本身,它在此处

快速入门

如果还没有故事,可以用 Story 类创建一个并导出。创建故事的方法见 Core 文档

下面是用 Player 组件播放故事的基本示例:

"use client";

import { GameProviders, Player } from "narraleaf-react";
import { useState } from "react";
import { story } from "./my-story";

export default function Page() {
    return (
        <GameProviders>
            <Player story={story} onReady={({ liveGame }) => {
                liveGame.newGame();
            }}
                width="100vw"
                height="100vh"
            />
        </GameProviders>
    );
}

逐段解释上面的代码:

1. 从 NarraLeaf-React 库导入必要的组件

import { GameProviders, Player } from "narraleaf-react";

这两个组件是创建游戏所必需的。GameProviders 是上下文提供器,为子组件提供游戏实例;Player 负责播放故事

2. 渲染 GameProvidersPlayer 组件

<GameProviders>
    <Player story={story} onReady={({ liveGame }) => {
        liveGame.newGame();
    }}
        width="100vw"
        height="100vh"
    >
    </Player>
</GameProviders>

必须用 GameProviders 包住 Player 组件。story 属性传入要播放的故事;onReady 是游戏准备就绪时的回调,可以通过 liveGame 对象的 newGame 方法启动游戏;widthheight 指定组件尺寸,播放器会缩放以适应该区域

组件和 Hooks

本页目录