コイツ動くぞ?!的なアニメーションが付けられる「vue-kinesis」

vue-kinesisとは

vue-kinesisは、インタラクティブなアニメーションを作成できるコンポーネントライブラリです。

テキストや画像(jpgやSVG)などに、マウスの動きやスクロールに合わせてアニメーションさせたり、audioに合わせてアニメーションさせることもできます。

 

コイツ動くぞ?!的なアニメーションが付けられる「vue-kinesis」

 

環境

Vue 2.6.10
vue-kinesis 1.0.2

 

インストール

以下のnpmCDNを使ってインストールします。

npm

npm install -i vue-kinesis

CDN

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-kinesis.umd.min.js"></script>

 

gitリポジトリは以下から取得できます。

https://github.com/Aminerman/vue-kinesis

 

導入手順

1. ライブラリの取り込み

(1)webpack等の場合 [注意]モジュール版は未検証です。

import { KinesisContainer, KinesisElement} from ‘vue-kinesis’

(2)WEBページの場合

const KinesisContainer = window['vue-kinesis'].KinesisContainer;
const KinesisElement = window['vue-kinesis'].KinesisElement;

2.メソッドを設定

上記で作成したKinesisContainerKinesisElementVue.component に取り込みます。

KinesisContainerは、アニメーションのイベントを適用させるエリアのコンポーネントです。
KinesisElementは、アニメーションの要素のコンポーネントです。

Vue.component('kinesis-container', KinesisContainer);
Vue.component('kinesis-element', KinesisElement);

new Vue({
  el: '#app'
});

3. テンプレートを準備

<kinesis-container> を設置します。
これはアニメーションのイベントを取得可能なエリアコンポーネントです。

内部に <kinesis-element> を設定します。
こちらがアニメーションをする要素になります。

[注意] サンプルはケバブケースで記載しています。

<div id="app">
  <kinesis-container id="container">
    <kinesis-element 
        tag="img"
        :src="'https://dummyimage.com/150x150/fcc/000.png&text=thumb1'"
        :strength="-10"
        type="rotate"
        transform-origin="50% 300%"
        axis="x"
        type="depth"></kinesis-element>
    <kinesis-element 
        tag="img"
        :src="'https://dummyimage.com/150x150/fcc/000.png&text=thumb2'"
        :strength="10"
        type="rotate"
        transform-origin="50% 300%"
        axis="x"
        type="depth"></kinesis-element>        
  </kinesis-container>
</div>

 

サンプル

>>専用ページで確認する

 

さいごに

インタラクティブなアニメーションを作成できるコンポーネントライブラリでした。

一見難しそうに感じますが、触ってみると意外と簡単です。

管理人も色々触ってみましたが、意外と面白くてハマってしまいました。
サンプル作成の途中に不倫関係みたいな業の深い状況を作成したりしてます(笑

コイツ動くぞ?!的なアニメーションが付けられる「vue-kinesis」

 

今日はこの辺でー

 

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-Animation, UI Components, vue.js, ライブラリ
-, ,