LoginSignup
0
0

Renpyのsmooth transformが半透明のまま止まってしまう

Last updated at Posted at 2023-05-23

ノベルゲームエンジンRenpyでは、transformを定義して立ち絵に変化を加えることができます。
以下のsmooth transformは、立ち絵を滑らかに表示するtransformです

# show および hide 時に実行される transform を定義する
transform smooth:
    on show:
        alpha 0.0
        linear 0.5 alpha 1.0
	#0.5秒で立ち絵の透明度を、0.0から1.0に変化させる
    on hide:
        alpha 1.0
        linear 0.5 alpha 0.0
 
label start:
    scene bg washington
    "「ここがワシントンD.C.か……」"
 
    # eileen vhappy を smooth トランスフォームを使って表示する
    show eileen vhappy at center, smooth
 
    e "「こんにちは!」"
 
    # 立ち絵をフェードつきで切り替えるために、show ステートメントを使用する
    show eileen happy at center, smooth
    e "「さようなら!」"
 
    # イメージにはすでにトランスフォームが設定されているので、hide 時に指定する必要はない
    hide eileen
 
    "……"
    "「え、何?」"

引用元(原文にコメントを付けた)

バグの事象

スキップすると、立ち絵が完全に表示されず、半透明のままになってしまう事象が発生しました。

原因

立ち絵の表情を変えると、on showのtransformがキャンセルされてしまうことが分かりました。

# show および hide 時に実行される transform を定義する
transform smooth:
    on show:
        alpha 0.0
        linear 0.5 alpha 1.0
    on hide:
        alpha 1.0
        linear 0.5 alpha 0.0
    on replace:
        linear 0.5 alpha 1.0

表情を置き換えた際に実行される、on replaceにも記述することで解決しました。

0
0
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
0
0