この記事は、Flash Advent Calendar 2015の記事です。
Flashが終わったなんて言う人はおそらく知らないと思いますけど、Flashって計算ができるんです。
ああ、そうそう、ActionScriptでね、やってたわー、常時Flashを立ち上げといて、ジオメトリのちょっとした計算なんかアクションパネルでちゃちゃちゃっとやってたわー、今はJavaSriptコンソールでやるよね、とか、そういうことじゃなくて。
そうか、昔流行った、物理エンジンで加算器とか作るやつでしょ?どうせStarling+Napeとかでボール落としてほら!ビット演算ができた!とかやるんでしょ。やったわー5年前にやったわー今だとマリオメーカーで流行ってるよね、とか、正直言うと半分正解です。
Flashオーサリングツールの名前も変わったことだし、難しいこと一切無しでグラフィックシンボルのアニメーションだけで論理演算をしてみたいと思います。
登場人物に性格設定をするだけで、タイムラインアニメーションで論理演算を処理できるというおもむきです。
今回のアニメーションに登場する人物は、この人。どこにでもいる普通の社員さん。
彼はこんな特徴があります。
仕事がふたつ以上たまったらテンパってしまうという、みなさんと同じ、どこにでもいる普通の社員さんですね。
某痛いフラッシャーがモデル(この記事の作者)という噂もありますが、あんまり邪推するのはやめてあげてください。
この社員さんは、さらに次のような特徴もあります。
なんだ、どこにでもいる、普通の上司か。
最後に、いちおうこういう特徴も説明しておきます。
この説明は、何のことやらかえってわかりにくいと思いますが、とりあえずこれはこういうものとして流して下さい。
以上の性格設定をもとに、アニメーションを作って、論理演算をしていきます。
はたして本当にできるのやら…。
まずは計算する数字を仕事として絵にかえてみましょう。
今回は、3+3を仕事させたいので、こういう絵になります。
ちなみに、たとえば3+2の場合だとこういう絵になります。
仕事の配置については、今さら私がドヤ顔でいうことでもないですが、10進数の3は2進数にすると11なので2bitめと1bitめに両方仕事が入ります。今回は3+3ということで、上下ともに11、つまり2bitめにも1bitめにも仕事がある状態ですが、かりに3+3ではなくて3+2で計算する場合は、11と10、こういう配置になります。
10進数 | 2bitめ | 1bitめ |
---|---|---|
3 | 1 | 1 |
2 | 1 | 0 |
まあ、2進数だ10進数だと小難しい話しをずっとしたくないので、次に進みましょう。
Flashを立ち上げたら、足し算カンパニーの社員さんたちをこういうふうに配置して、仕事を与えます。
ちなみに、力関係の構成はこうです。
うむ、なんかどこにでもあるブラックな環境ですね。
仕事のフローは次↓のようになっています。
仕事のフローと、力関係を足した図がこちら↓
この流れに従って、さっそく1bitめから、アニメーションさせてみましょう。
せっかくFlashもといAnimateなので、とっても楽しいアニメーションをさせたいところですが、今回は計算結果を急ぐのでさくっと行っちゃいます。
1bitめの彼にふたつの仕事が容赦なくふりかかります。早くもテンパる彼!
1bitめ、何の成果もー!あげられませんでしたー!
そのうえ彼は部下に仕事をふる気だ。2bitめ、いけるのか!?
1bitめから押しつけられた仕事と、2bitめ本来の仕事が彼を襲いかかる!
やはり駄目っ…!2bitめの部署内に何の仕事もまわせず…!テンパってもみけしやがった!!
部署内には、もみけして仕事まわさなかったうえに、3bitめの部下に仕事を押しつける始末!彼に人の心はあるのか!!?
いっぽうそのころ、2bit内の部下は本来の仕事をこなし…
結果的に仕事がひとつだけで済んだので成果を上げることが出来た!!!
いよいよラスト、3bitめ。
彼は2bitから押しつけられた仕事ひとつだけなので、成果を上げることが出来て…
アニメーションの結果、
3bitめ成果あり、2bitめ成果あり、1bitめ成果なし
となりました。
アリ、アリ、ナシを
bitになおして
1 1 0
110を10進数になおすと6!
みなさん、3+3の結果は6ですよ!
みごと、アニメーションだけで3+3の足し算ができました!おもしろい!
この社員さんのアニメーションを横にずっと並べると、何bitでも計算できます。FlashもといAnimateってすごい!
できたアニメーションは、こちらです。