超超初心者向け漫画サイトのつくり方【絵をまばたきさせる】

自分で描いた絵を、まばたきさせるアニメーションを作ります。

CSSでさくっと実装するので、「目を開けた状態」と「目を閉じた状態」の2種類で作ります。半目は省きます。

↓8秒後にまばたきするので、しばらく待ってみてください。

デモページ

ホームページにアニメーションを載せる方法

実装、の前に。

超超初心者向けなので、アニメーション方法の種類について書いておきます。

簡単な順から

  1. GIFアニメを作って載せる
  2. CSSでアニメーションさせる
  3. jQueryを使ってアニメーションさせる(多分)
  4. SVGアニメーションを作る

えっと………こんな感じかなぁ???

違ってたらすみません。。(;´・ω・)

GIFアニメは、漫画描きさんなら一度は耳にしたことがあるはず。作ったことある人も多いかな。

GIFアニメに特に不満がないなら、GIFアニメでOKっぽいです。(古い手法とか、不具合などは無いっぽい)GIFアニメの一番のデメリットが、「作るのが難しい」っぽいので、作る事が得意な漫画描きさんにはデメリットが無いと言ってもいい。

あー…

早速この記事の存在価値がなくなりました………

あ、いや。あるぞ。

GIFは色の数が少ないです。グラデーションとかもキレイに出ません。漫画描きさんなら美麗な絵をアニメーションさせたいですもんね!!CSSなら可能ですよ!!!

準備するもの

いや、私が描いた絵はGIFで充分なんですけどね。デモなので勘弁してください。

まず、「目以外の絵」「開けた目」「閉じた目」の3種類の絵を用意します。

今回は簡単に作れるように、3種類とも同じサイズの画像にしました。

positionの記事を読んで、position使えるよーって人は、目の画像は小さいサイズ(目の部分以外余白がない画像)で作ってもOKです。

左から、png、透過png、透過pngで作っています。

この3枚をレイヤーみたいに重ねて、最初閉じた目は非表示、時間経過で開けた目を非表示にし、その間、閉じた目を表示する。という流れをCSSで実装します。

htmlの記述

用意した、3枚の画像を貼りつけます。

<div class="anime">
  <img src="girl1.png" alt="" class="girl1">
  <img src="girl2.png" alt="" class="girl2">
  <img src="girl3.png" alt="" class="girl3">
</div>

girl1(目以外の絵)、girl2(開いた目の絵)、girl3(閉じた目の絵)に画像と同じ名前を付けて、divで囲いました。divには、animeという名前を付けました。

名前は、自分の好きな名前にしてください。半角英数字なら何でもOKです。

CSSの記述

3枚の絵を重ねて、アニメーションさせていきます。

.anime {
      position: relative;
    }
.girl1 {
      position: absolute;
    }
.girl2 {
      position: absolute;
      animation: mabataki-akeru 8s infinite;
    }
.girl3 {
      position: absolute;
      animation: mabataki-tojiru 8s infinite;
    }
@keyframes mabataki-akeru {
      100% {
        opacity: 1;
      }
      10% {
        opacity: 1;
      }
      0% {
        opacity: 0;
      }
     }
@keyframes mabataki-tojiru {
      100% {
        opacity: 0;
      }
      10% {
        opacity: 0;
      }
      0% {
        opacity: 1;
      }
     } 

これで、8秒毎にまばたきするアニメーションを延々くり返します。

時間ランダムでまばたきした方がかっこいいですが、それはムリ。jQuery賢者とかの仕事になってきます。

カスタマイズ方法

まばたきの時間は、好みに変えられます。

animation: mabataki-akeru 8s infinite;
この8Sの数字を大きくしたら間隔が長く、小さくしたら間隔が短くなります。

長い滞在が予想されるページでは間隔を長く、短い滞在が予想されるなら短くしたらバランスがいいと思います。

漫画のあらすじ紹介などは長く滞在すると予想されるので、短いスパンでパチパチまばたきされたら鬱陶しいです。

反対に、入口としての役割だけのトップページで長いスパンだと、まばたきする瞬間を目にすることなくページ遷移されてしまいます。

ここはセンスですね。

@keyframesの中の、100%、10%、0%は、好きな数字に変えられます。色々打ち換えてみて、好みの動作を見つけてください♡まばたきの速度を変えたい時は、ここの数字を変えたらOKです。

あと、デモでは3段階にしていますが、小刻みにしてもOKです。100%、90%、88%………みたいに。1%単位で刻めます。

自分の頭が混乱しなければ、いくらでも複雑にできます。
途中で半目入れたりしたら、ぬるぬる動くかも。(私はやった事ない。というか今回のすら初めて作ってみた)

動きのあるホームページっていいですよね~

アニメーションは、余力があれば実装してもいい。っていう程度の位置付けだと思いますが、動くページ勢力が大きくなってきた感はあります。

ついでに、まばたきするし、髪も揺れるし、肩も(呼吸で)動く。みたいなサイトは…高確率でSVGアニメーションです。一番高度なヤツ。

今後、素人にも扱えるように簡素化されるとは思いますが、今のところSVGアニメーションは手を出せる領域じゃない気がしてる。

コメント