キャンバスを8つの垂直の白黒のストライプに分割したいと思います。ループが実行されるたびに色の値を変更するメソッドchangeValueを書きましたが、キャンバスは完全に白です。私のchangeValueメソッドは想定どおりではないと私は思うが、私は理由を説明することはできない。キャンバスをRGBを使って複数のストライプに分割する
これまでのところ、私はこれを得た:
私は8本のストライプのための文が、例えば、これは3本の縦縞ですが、実際に働くイタリア国旗のコードであれば8を書くことではないはず午前public class Stripe {
public boolean switch = false;
private void stripes(int[] pixels, int width, int height) {
// TODO set some values here
int counter = 1;
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int pos = y * width + x;
int r, g, b;
// TODO code for the flag.
r = 255;
g = 255;
b = 255;
for (int i = 0; i < 8; i++) {
if (x < (counter * (width - 1))/8) {
r = changeValue();
g = changeValue();
b = changeValue();
}
counter++;
switch ^= true;
}
pixels[pos] = 0xFF000000 | (r << 16) | (g << 8) | b;
}
}
}
public int changeValue() {
if (switch) {
return 255;
} else {
return 0;
}
}
}
:
private void flagItalian(int[] pixels, int width, int height) {
// TODO set some values here
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int pos = y * width + x;
int r, g, b;
// TODO code for the flag.
r = 255;
g = 0;
b = 0;
if (x < 2 * (width - 1)/3) {
r = 255;
g = 255;
b = 255;
}
if (x < (width - 1)/3) {
r = 0;
g = 255;
b = 0;
}
pixels[pos] = 0xFF000000 | (r << 16) | (g << 8) | b;
}
}
}
と交換してみてください、私はそれはswitch文でも使用されているとおりに、変数の名前としてスイッチを使用することができるかどうかわからないんだけど... – Lucurious