如何仅在 Route React 中显示 Phaser 游戏屏幕?
How to display the Phaser Game Screen only in a Route React?
我希望我的游戏画面只显示在'/game'路径中,但是当我使用方法“new Phaser.Game(config)”启动时,他开始显示在每条路径'/home'中, 默认死记硬背 '/', '/error', '/game' 等
game.js
import Phaser from 'phaser';
import LoadScene from './scenes/LoadScene.js';
import MenuScene from './scenes/MenuScene.js';
export const config = {
type: Phaser.AUTO,
width: 800,
height: 600,
scene: [ MenuScene, LoadScene]
};
const game = new Phaser.Game(config);
gamepage.js
import config from '../../phaser/game.js';
import React from 'react';
export default class GamePage extends React.Component {
render() {
return <>
<Game />
</>;
}
}
routes.js
import React from 'react';
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
import ErrorPage from '../pages/error/index.js';
import Home from '../pages/home/index.js';
import GamePage from '../pages/game/index.js';
export default class Rotas extends React.Component {
render() {
return <>
<Router>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/game" elememnt={<GamePage />} />
<Route path="*" element={<ErrorPage />} />
</Routes>
</Router>
</>
};
}
new Phaser.Game(config);
中的 config
对象接受 parent
选项,该选项指定将包含游戏 canvas 的元素。如果是 undefined
那么它将包含在文档正文中(你的案例)。
您可以指定 null
使其不包含在任何地方,您负责将其添加到 DOM。
有关可用选项,请参阅 https://newdocs.phaser.io/docs/3.55.2/Phaser.Types.Core.GameConfig#GameConfig。
您也可以看看 他们使用那种方法
我希望我的游戏画面只显示在'/game'路径中,但是当我使用方法“new Phaser.Game(config)”启动时,他开始显示在每条路径'/home'中, 默认死记硬背 '/', '/error', '/game' 等
game.js
import Phaser from 'phaser';
import LoadScene from './scenes/LoadScene.js';
import MenuScene from './scenes/MenuScene.js';
export const config = {
type: Phaser.AUTO,
width: 800,
height: 600,
scene: [ MenuScene, LoadScene]
};
const game = new Phaser.Game(config);
gamepage.js
import config from '../../phaser/game.js';
import React from 'react';
export default class GamePage extends React.Component {
render() {
return <>
<Game />
</>;
}
}
routes.js
import React from 'react';
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
import ErrorPage from '../pages/error/index.js';
import Home from '../pages/home/index.js';
import GamePage from '../pages/game/index.js';
export default class Rotas extends React.Component {
render() {
return <>
<Router>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/game" elememnt={<GamePage />} />
<Route path="*" element={<ErrorPage />} />
</Routes>
</Router>
</>
};
}
new Phaser.Game(config);
中的 config
对象接受 parent
选项,该选项指定将包含游戏 canvas 的元素。如果是 undefined
那么它将包含在文档正文中(你的案例)。
您可以指定 null
使其不包含在任何地方,您负责将其添加到 DOM。
有关可用选项,请参阅 https://newdocs.phaser.io/docs/3.55.2/Phaser.Types.Core.GameConfig#GameConfig。
您也可以看看