今回は基本的なメソッドを作成します。
基本的なメソッドはコンストラクタやset()などです。
まずはコンストラクタです。
デフォルトと各色を指定するタイプがあれば大丈夫でしょう。
// 色 public class Color { // コンストラクタ public Color() { SetColor( 0.0f, 0.0f, 0.0f, 0.0f ); } public Color( float r, float g, float b, float a ) { SetColor( r, g, b, a ); } // 色設定 public void SetColor( float r, float g, float b, float a ) { m_R = r; m_G = g; m_B = b; m_A = a; } private float m_R; private float m_G; private float m_B; private float m_A; }
ついでにSetColorメソッドも実装しちゃいました。。。
コンストラクタで各メンバに値を設定するとコードが長くなるので先にSetColor()も作っておきました。
色の範囲は0.0~1.0です。
次はコピーです。
これは各メンバをコピーするだけなので簡単ですね。
// コピー public void set( Color rhs ) { m_R = rhs.m_R; m_G = rhs.m_G; m_B = rhs.m_B; m_A = rhs.m_A; }
最後に比較です。
これも各メンバを比較するだけなので簡単ですね。
// 比較 public boolean equals( Object rhs ) { final Color color = ( Color )rhs; return (( m_R == color.m_R ) && ( m_G == color.m_G ) && ( m_B == color.m_B ) && ( m_A == color.m_A )); }
これで基本的なメンバが揃いました。
次は各色成分の取得、おまけ的な掛け算を実装します。
……どんなものかなんとなく予想がついちゃいますね。。。