1520289627 ブラウザ上でキャラクターに、マンガのように吹き出しで会話を表示させたいと思います。

セリフのデータを与えると、その文字を図のように次々、画面に表示させます。
可能であれば、キャラクターの表情も変えられるともっといいです。

キャラクターは固定(たとえば決まった10名しか使わない)でOKですが、その画像はこちらで指定したいです。
flashは使わないとすると、どのような方法で実現すればいいか、だいたいの方針を教えてください。
よろしくお願いいたします。
(あるいは、すでに便利なWebサービスがありますか?)

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2018/03/06 16:39:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント1000pt

Flash なしなら、HTML をプログラムで書きだす、でしょうか。
CSS で吹き出しを作って、データは javascript で書き出します。

"css 吹き出し 会話" でググると、いろいろと見つかります。
例えば、こんなの。
https://moriawase.net/kaiwa-text

そこの例では、ひとつのセリフがこんな感じで書かれます。

<div class="balloon">
 <figure class="balloon-image-left">
   <img src="画像のパス(URL)" alt="画像名">
 <figcaption class="balloon-image-description">
     人の名前や画像の説明
 </figcaption>
 </figure>
 <div class="balloon-text-right">
   <p>
     吹き出しの中のテキスト
   </p>
 </div>
</div>

データとして置き換えたいところは、赤字にしたところでしょうか。
キャラクターの数は決まっているので、「画像の URL」は CSS にできます。
あと、表情の指定も。

J尼「日本ニ、軽クテ重イプレゼント、アリマス」

を、こんな感じに展開します。

<div class="balloon">
 <figure class="balloon-image-left">
   <div class="charactor J-normal"></div>
 <figcaption class="balloon-image-description">
     J尼
 </figcaption>
 </figure>
 <div class="balloon-text-right">
   <p>
     日本ニ、軽クテ重イプレゼント、アリマス
   </p>
 </div>
</div>


データは、JSON と言われる形式にしておくのが良いかな、と思います。
こんな感じで。

<script type="text/serif">
[
  {
    "name": "J",
    "face": "normal",
    "text": "日本ニ、軽クテ重イプレゼント、アリマス",
    "pos" : "left"
  },
  {
    "name": "B",
    "face": "normal",
    "text": "何なの?",
    "pos" : "right"
  },
    ...
  {
    "name": "J",
    "face": "wink",
    "text": "コノプレゼント、何カ、ワカリマスカ?",
    "pos" : "left"
  }
]
</script>
他3件のコメントを見る
id:lionfan2

a-kuma様、JSONを利用したバージョンも、無事、できあがりました。
ありがとうございます!!
http://quiz.minibird.jp/conversation2/

2018/03/06 19:11:10
id:lionfan2

JSONを利用したバージョンも、
htmlやCSS、画像ファイル、コミPo!の元データ等を、
将来の自分や他の人のために、残しておきます。
http://quiz.minibird.jp/conversation2/conversation2.zip

2018/03/07 00:56:08

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません