忍者ブログ

でんきみちブロgu。(あ行。)

大変古い古すぎるレビューの置場。お絵かき掲示板消失により3年ぶりに雑記に転用(2017年)。現在はノベルゲーム制作とライブ2Dがマイブーム。

スキップボタン付きスタッフロールで画像変更したい

以前書いた

スキップボタン付きスタッフロール

の記事にメールフォームよりメッセージを頂きまして、
ノベルゲーム制作への気持ちも書かれていて
応援したかったのでお返事を送ろうとしたのですが
返信先アドレスに送信したところデリバリーエラーになってしまって送れなかったので
記事で書かせていただきます。

ティラノスクリプトで

スタッフロールを動かしながら、画像を変更したい。
画像変更中にスキップボタンが反応しない!!

ということで

続・スキップボタン付きスタッフロールの巻

動作テストをしてみました。



スタッフロールのptextのアニメーションがスタートした後に
 
[bg storage="0_midori.png" time="3000" ]
[bg storage="0_kiiro.png" time="3000"]
[bg storage="0_kuro.png" time="3000" ]
 
とスタッフロールしている間にバックで画像を変更してみました。
なんと、画像変更中はボタンが反応しません。なるほどな。


[bg storage="0_kuro.png" time="3000" ]
はtime=3000のウェイトを待っている。

3000かけて背景画像を変更するまで次の処理に進まないということです。
wait=の記述がないため デフォルトでwait="true"
→ [bg storage="" wait="true" time="3000" ]

になっている。

つまりこうすればいいんだ!
[bg storage="0_midori.png" time="3000" wait="false"]
[bg storage="0_kiiro.png" time="3000" wait="false"]
[bg storage="0_kuro.png" time="3000" wait="false"]



…あ!!
しまった。
ただし、wait="false"にすると、待たずに次の処理にすすんでしまうため
画像がすごいスピードで変わり続けてしまいました…Orz

ならば!

[bg storage="0_midori.png" time="3000" wait="false"]
[wait time="3000"]
[bg storage="0_kiiro.png" time="3000" wait="false"]
[wait time="3000"]
[bg storage="0_kuro.png" time="3000" wait="false"]
[wait time="3000"] 


こうだ!!!
やりました。

画像変更中のwait=trueはボタンのジャンプを受け付けないようですが
waitタグのみの待ち時間はボタンのジャンプを受け付けるので
いけるのではないかと思います。

以下、スクリプトです。++++++++++++++
;エンディングテスト
[cm]
;背景変更
[bg storage="0_kuro.png" time="100"]
;メニューボタンの非表示
@hidemenubutton
;スキップボタン
[glink name="sukip" color="btn_05_black" size="18"  width="200"  x="800"  y="5"  text="skip"  storage=""  target="skip" ]
@anim name="sukip" time=10 opacity=150
;スタッフロール
@layopt layer=0 visible=false
[ptext layer=0 text="クレジット" size=20 x=400 y=300 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=400 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=500 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=600 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=700 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=800 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=900 color=snow name="text"]
[wait time=1]
;スタッフロールの文字がアニメーションする設定
[keyframe name="animation1"]
[frame p=0% y="400"]
[frame p=100% y="-1000"]
[endkeyframe]
;アニメーションの実行 3秒かけてキーフレームアニメーションを実行
[kanim name="text" keyframe="animation1" time="30000" easing="linear" ]
;スタッフロールを描写したレイヤーが見えるように
@layopt layer=0 visible=true

;背景画像を変更
[bg storage="0_midori.png" time="3000" wait="false"]
[wait time="3000"]
[bg storage="0_kiiro.png" time="3000" wait="false"]
[wait time="3000"]
[bg storage="0_kuro.png" time="3000" wait="false"]
[wait time="3000"] 
;アニメーションの再生を待つ(waを使うとボタンが使えないためウェイト)
;ここの待ち時間は画像変更中のタイムを引いて計算しています。
[wait time="20000"]


[cm]
;エンドテキスト
[ptext text="The End" layer="0"  x="580"  y="250"  size="35"  edge="0xffffff"  color="0xffffff" name="end" time="2000" name=end]
;クリッカブルでクリックでs(ゲーム停止)を飛ばす
[clickable  width="1100"  height="760"  target="skip"  ]
;ゲーム停止
[s]
;クレジット終了
*skip
[cm]
[wait_cancel]
;テキストを消去
[freelayer layer="0"]
;タイトルへジャンプ
*title
@bg storage ="title.jpg" time=2000
@jump storage="title.ks" target="start"


++++++++++++++
制作したいと頑張る
みなさんの作品が無事公開できることを応援しています。



PR