ecocats

Webは生活インフラであってエコシステムの一部だが、分類分けは多いし危険。

CSSだけでランダムなサイコロゲーム作りました with水どう

 CSS3で、ちょっとしたゲームを作ってみました。

が、検証もしてません。特にスマートフォンで見ないでください。

たぶん、超縦長です。

 

大体の機能が網羅されているのかなと思いますので、これから学習するコーダーさんのドリル的な何かにも使えそう。

CSSだけでサイコロゲーム(with水曜どうでしょう)

f:id:ecocats:20151101222356p:plain

※(素材は、きっと水どうコミュニティなら許してくれるはず。)

 

使った技術

HTMLとCSSのみ。

何のために作ったのか?仕事のためです。

上司から、「そんなことしてて売り上げにつながるのか?暇なのか?」と言われた後に、「なんでできないんだ?できるんだろ?」と言われそうなことだなと思いながら。

思ったこと①

firefoxのパフォーマンスがいいですね。chromeは重い、遅い。

思ったこと②

animationループは、当然マシンパワーを使い続けるので、

どっかで止めるように仕向けないといけないね。知ってる。

トリガーを無理やり作ろうとおもったんだけど、やればたぶんできる。諦めてはいない。

思ったこと③

アクセシブルにするために、JSが必要なこともあるってこと。

ゲームの回答をDOM内に記述することになり、それってゲーミフィケーション無視してるよな、って思った。

人は、パンのみで生きるのではない、と。

読み上げ系のデフォって、z-indexのanimationレンダリングするのかな。。。

思ったこと④

画像周りは、あまり興味ないんですが、data形式のがきれいに見える不思議。

思ったこと⑤

CSSやる人は、IAであり、クリエイターであり、CADエンジニアであり、物理学者でなければいけない、ということ。

あえて言えば、CSSは、taranslateZとz-indexの恩恵により、N次元になりうる。

 

ネタばれ。

flashっぽいのですが。

懐かしいですね。20年くらい前ですかね。

新しい(?)単位で、vw/vhがあります。これを使うと、

画面にならって作ることができるため、っぽくなります。

例えば、モーダル系のUIとか。私は極力さけますが。

なんでランダムができるの?

z-indexとanimationの組み合わせです。

厳密には、ランダムと違いますが、ユーザーの動きと組み合わせればランダムといっていいでしょう、と思います。

PCは:hoverで動きとめてます。

結果が個別に動くのですが。

ボタンは、ラジオボタンのlabelを使ってます。

そのラジオボタンは、次のセクションの表示トリガーになってます。

:checkedで表示トリガー後、必要DOMをdisplayさせてます。

動きは、animationとか、transitionとかのdelayあたりです。

IEでペラペラなのですが。

社会不適合ブラウザに時間を割く必要はございません。あなたも、私も。

 

気が付いたこと

その①DOM指定

animationの復帰ポイントは、該当DOMの親要素の出入りがあると、うまくいかない。

直接指定する必要がある。

その②使えなかったメソッド

matrix3d()を使えなくて、残念。

その③計算。数学。物理。

サインコサインタンジェント微分積分重力落下とかは、ちゃんとお勉強しなければ無理。片手間でできるもんではないと痛感。

calc()があるとはいえ、CSSのみで計算いけるのか、ちょっと謎。ペジェ操作できるからいけるのかなー・・・。

その④視点

動かしすぎる、というか動かすと基本的に酔う。自分は。今回は視点はずらしてないです。

その⑤角丸と影

今回挑戦しませんでしたが、3Dの角丸と影。

ネイティブな感じでつけるとなると、光源とか必要ですね。