This repository has been archived on 2020-09-30. You can view files and clone it, but cannot push or open issues or pull requests.
odyfive/src/game/scenes/backgrounds/InGameSpaceBG.tsx

31 lines
802 B
TypeScript

import React, { useEffect } from "react";
import { Sprite, useApp, useTick } from "@inlet/react-pixi";
import InGameSpace, { SpaceTextures } from "~graphics/filters/InGameSpace";
export interface InGameSpaceBGProps {
textures: SpaceTextures;
}
export default function InGameSpaceBG({ textures }: InGameSpaceBGProps) {
const app = useApp();
const scale = 1;
const menubg = new InGameSpace(app.renderer, scale, textures);
useTick((delta) => {
menubg.update(delta);
menubg.render();
});
useEffect(() => {
const handleResize = () => {
menubg.rescale(scale);
};
app.renderer.on("resize", handleResize);
return () => {
app.renderer.off("resize", handleResize);
};
});
return <Sprite texture={menubg.texture} scale={{ x: scale, y: scale }} />;
}