掛け算、色成分取得メソッド

掛け算、色成分取得メソッド




色の掛け算ができれば結構便利なので掛け算を実装します。
あと、今のままだと設定した色が取得できないのでそちらも実装します。

掛け算を実装しましょう。
といっても、各メンバを掛けるだけですが。。。

    //  掛け算
    public void Mul( Color rhs )
    {
        m_R *= rhs.m_R;
        m_G *= rhs.m_G;
        m_B *= rhs.m_B;
        m_A *= rhs.m_A;
    }

この計算を全体に適応すると黒フェードができるようになります。
黒フェードは画面の一番上に黒いテクスチャを描画する方法もありますが
処理負荷的に色を掛け算するほうが優れてます。

次は取得です。
floatの0.0~1.0で取得するメソッドです。

    //  各色取得
    public float    GetR()  { return m_R;   }
    public float    GetG()  { return m_G;   }
    public float    GetB()  { return m_B;   }
    public float    GetA()  { return m_A;   }

あと、整数値で0~255の値を取れるようにもしておきます。

    public int      GetRI() { return _ConvertFtoI( m_R );   }
    public int      GetGI() { return _ConvertFtoI( m_G );   }
    public int      GetBI() { return _ConvertFtoI( m_B );   }
    public int      GetAI() { return _ConvertFtoI( m_A );   }



    //  整数型で色取得
    private int _ConvertFtoI( float color )     { return ( int )( color * 255.0f ); }

単純に各成分を255倍してintにキャストしているだけです。

これでひと通り必要なメソッドは揃いました。
あとは、よく使う白とか黒とかを簡単に作れると便利そうです。
次はそのメソッドを実装してみましょう。



<前のページ
次のページ>