LoginSignup
30
21

More than 3 years have passed since last update.

ルパン三世のカシャカシャってなるタイトルコールのやつをsvgにしたかった

Last updated at Posted at 2019-09-24

はじめに

https://qiita.com/Sirloin/items/3db49c97763042e95eb5
この記事を見ましてこれを一枚のSVGとかに収めて他のところにも貼り付けたいなーとかgifとかmp4みたいにテキストエディタで見ると汚いやつにしたくないなーとか画面いっぱいに広げて大迫力のルパン三世が見たいなーとか思うわけです。
と思ってsvgの仕様書見てたらアニメーションに関する記述はありました。以下のやつ

を文字ごとに作ってあげればけ行けるかなと思えど、うまく行かなかったので方針転換。
普通に要素をjavascriptで制御する形にしました。

できたやつがこれ【音量注意】
https://misogihagi.github.io/rupinthethirdtitlecall/

スライドバーをいじると拡大します。画面いっぱいのタイトルコールをご覧あれ。

やってる最中に思ったこと

音声の遅延はどこから発生してるのかなと思って

 playSound(KASYA){
  audioElem = new Audio();
  audioElem.src = filename;
  audioElem.play();
 }

これが一回一回インスタンスを生成して使いまわさない分の遅延かと思ったけれど、これはこれで問題があるようで、
文字と文字が切り替わる瞬間、音声は再生中(音声の長さは200ミリ秒よりながい?)のようで、再生中の音声に対してplay()をしても最初から再生されるのではなく無視されてしまう。
ので一回一回インスタンスを生成するよう戻しました。ちょっと変わってますが。


const kasya = new Audio,
      kasya.src=base64~~   
      kasya.play()

追伸

svgいいやつだからもっと流行って。早いし軽いし埋め込むときもbase64せずにそのまま使えてhttpリクエストを減らせるいいやつなんです。本当はjavascriptを使わずanimationだけで完結すれば。。リファレンス読み込みたい。

30
21
3

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
30
21