LoginSignup
12
9

More than 5 years have passed since last update.

Vue のトランジションでゲームが作れるのでは?という提案

Last updated at Posted at 2018-12-18

この記事は Vue.js #3 Advent Calendar 2018 の19日目の記事です。

Vue で動くものを作る

要素の動きを扱おうとする場合,CSS のみで記述すると複雑となってしまいます.
Vue には要素の動きを扱う トランジション があります.

Vue のドキュメントのトランジションのページを見ていただくと,いろいろと動くデモが載っています.

この記事では,このトランジションを利用して,ゲームを作るときに利用できそうな動きを例示していきます.

カードがめくれる動き(transition)

  • Vue の transition を利用します
  • この機能は基本的に 要素が現れる/消える ときの動きを扱ってくれます

作成例

Edit transition sample (card)

  • カードがひっくり返る動作のデモです
  • カードが現れる/消えるときにカードが90度回転するようにしてあげています

実装のポイント

  • <transition>mode="out-in" を記述する
  • <transition> 内のタグに個別の key を設定するのを忘れないようにする(少しハマった)

リストが入れ替わる動き(transition-group)

  • Vue の transition-group を利用します
  • この機能はリストの並べ替えの動きを扱ってくれます
  • Vue公式のリスト移動トランジション のデモを触ってみると動作の様子がわかると思います

作成例

Edit transition-group sample (15puzzle)

  • 15パズルです
  • 必ず解けるようなシャッフルに出来ておらず,完成しても何も起きませんので,動きを見てみるだけにとどめてください(すみません...)

キャラクターなどが動く動き(transition-group)

  • transition-group でリスト以外の動きも扱えます.
  • CSS の記述がプロパティ1つで済むため,気軽に扱えます.

作成例

Edit transition-group sample

  • 画面の十字ボタンで ε( ε ˙³˙)з がうごきます

おわりに

  • Vue で動きを制御する方法をまとめてみました
  • (ゲームとしてはまだ未完成の部分もありますが)Vue を利用することで動きのある画面を手軽に作れることがお見せすることは出来たと思います
12
9
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
12
9