浮動小数点値を0から255まで与えるUISliderがあります.GlubyteにあるCocos2Dの不透明度を設定する必要があります。iPhone Cocos2D - 浮動小数点をGLubyteに変換する
フロートをGLubyteに変換するにはどうすればよいですか?
おかげ
浮動小数点値を0から255まで与えるUISliderがあります.GlubyteにあるCocos2Dの不透明度を設定する必要があります。iPhone Cocos2D - 浮動小数点をGLubyteに変換する
フロートをGLubyteに変換するにはどうすればよいですか?
おかげ
GLubyte
に気づくdidntは単に次のように定義される。
typedef unsigned char GLubyte;
したがって、変換は実際には問題ありません(をご覧ください)。 "unsigned charは0から255までの10進数を表すことができる"ため、 "範囲外"の値を除いて、 "基本" (int)(x+0.5)
の背後にいくつかの考えられるアプローチを提供する。要するに、符号なし整数として表現できない浮動小数点値をどうするかを決める必要があります。
スライダーで0〜255の値が得られると言えますから、問題はありません。
static_cast<GLubyte>(floatNumber * 255.f);
私は..そう答え上記乗算を除去.. UISlider範囲は既に0から255の間である
static_cast<GLubyte>(floatNumber);
スライダーがすでに0-255の範囲で設定されている場合は、値を拡大縮小する必要はなく、タイプを変換するだけで済みます。このようなものがうまくいくはずです:
GLubyte component = (GLubyte)lroundf(slider.value);
C++演算子はObjective-C++を書かない限りおそらく助けにならないでしょう... –