メインアプリケーションへのコンポーネントの統合
要件:
- パレット、グリッド、およびスプライトディスプレイコンポーネントを結合する。
機能:
- 統合されたコンポーネントを備えたメインアプリケーションを表示する。
手順:
// App.js
import React, { useState } from "react";
import Palette from "./Palette";
import Grid from "./Grid";
import SpriteDisplay from "./SpriteDisplay";
import "./App.css";
const initialCatSprite = [
[
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff"
],
[
"#ffffff",
"#ffffff",
"#ffffff",
"#4caf50",
"#4caf50",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff"
],
[
"#ffffff",
"#ffffff",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#ffffff",
"#8bc34a",
"#8bc34a",
"#ffffff"
],
[
"#ffffff",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#8bc34a",
"#000000",
"#8bc34a"
],
[
"#ffffff",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#8bc34a",
"#8bc34a",
"#8bc34a"
],
[
"#8bc34a",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#4caf50",
"#8bc34a",
"#8bc34a",
"#ffffff"
],
[
"#ffffff",
"#8bc34a",
"#8bc34a",
"#8bc34a",
"#8bc34a",
"#8bc34a",
"#8bc34a",
"#ffffff",
"#ffffff",
"#ffffff"
],
[
"#ffffff",
"#8bc34a",
"#8bc34a",
"#ffffff",
"#ffffff",
"#8bc34a",
"#8bc34a",
"#ffffff",
"#ffffff",
"#ffffff"
],
[
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff"
],
[
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff",
"#ffffff"
]
];
function App() {
const [selectedColor, setSelectedColor] = useState("#000000");
const [grid, setGrid] = useState(initialCatSprite);
return (
<div className="App">
<h1>Pixel Art Animator</h1>
<Palette
selectedColor={selectedColor}
setSelectedColor={setSelectedColor}
/>
<Grid grid={grid} setGrid={setGrid} selectedColor={selectedColor} />
<SpriteDisplay grid={grid} />
</div>
);
}
export default App;