LoginSignup
0
0

More than 3 years have passed since last update.

Reactでテトリスをつくる⑫_Storybook構築

Last updated at Posted at 2021-06-13

Storybookでテトリスのカタログ作成

せっかくStorybookを導入したので、テトリミノをカッコよくしようと思い、CSSを色々いじってます。
今回はCSSINJSを使います。
CSSINJSを使うと、CSSをJSで動的に動かせるので、下図のように立体的なミノを製造しやすいです。

Dot.tsx
const colorsArys: Array<any> = [
    [525,525,525],
    [250,100,100],
 ...

export const Dot: React.FC<DotProps> = ({
    colorNum = 0,
    x = 0,
    y = 0,
}) => {
    const c = colorsArys[colorNum]
    const addCSS: React.CSSProperties = {
        borderTopColor   : 'rgb(' + (c[0] - 60) + ',' + (c[1] - 60) + ',' + (c[2] - 60) + ')',
        borderRightColor : 'rgb(' + (c[0] - 40) + ',' + (c[1] - 40) + ',' + (c[2] - 40) + ')',
        borderBottomColor: 'rgb(' + (c[0] - 0)  + ',' + (c[1] - 0)  + ',' + (c[2] - 0)  + ')',
        borderLeftColor  : 'rgb(' + (c[0] - 20) + ',' + (c[1] - 20) + ',' + (c[2] - 20) + ')',
        top : y,
        left: x
    }
    return <div style={{ ...defaultCSS, ...addCSS}}></div>
}

テトリスの市販のゲーム見るとこういうかっこいい形になっているのです。
モダンに、CSSとJSで表現しました。

ATOM

キャプチャ26.png

キャプチャ27.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0