phinajs / phina.js

phina.js is game library
http://phinajs.com
MIT License
308 stars 51 forks source link

alpha < 0の時は、描画前にalpha = 0に補正する #193

Closed alkn203 closed 7 years ago

alkn203 commented 7 years ago

alpha < 0 の場合、透過設定が無効になることへの対策

simiraaaa commented 7 years ago

this.alphaの値は書き換えない方が良いと思います

alkn203 commented 7 years ago

そうなると、基本fadeOut推奨って感じですかね?

simiraaaa commented 7 years ago

そういうことではなくworld alpha には0として代入しますが、this.alphaの値は設定値のままにしておきたいということです

alkn203 commented 7 years ago

以下の感じですか?

_calcWorldAlpha: function() {
      if (this.alpha < 0) {
        this._worldAlpha = 0;
        return;
      }
      if (!this.parent) {
        this._worldAlpha = this.alpha;
        return ;
      }
      else {
        var worldAlpha = (this.parent._worldAlpha !== undefined) ? this.parent._worldAlpha : 1.0; 
        // alpha
        this._worldAlpha = worldAlpha * this.alpha;
      }
    },
simiraaaa commented 7 years ago

そういう感じですね、こっちのほうが個人的には勝手に値が書き換えられなくてバグが起こりにくいと思います。

alkn203 commented 7 years ago

アドバイスありがとうございます。それでは、修正プルリクしますね。

phi-jp commented 7 years ago

@alkn203 @simiraaaa 対応ありがとうございます! 遅くなりましたmm

LGTM

alkn203 commented 7 years ago

お忙しい中、マージありがとうございました♪