2014-12-09 3 views
0

Так что я делаю программу с затмением, и я пытаюсь сделать объекты только одного цвета. Проблема в том, что когда я сравниваю два цвета с paint.getColor или paint.getAlpha, кажется, что оба цвета одинаковы независимо от того, что.Функция Eclipse paint.getColor() возвращает неправильные значения

Вот некоторые из кода:

private int red = -65536; 
private int blue = -16776961; 
private int green = -16711936; 
private int black = -16777216; 

... 

if(color == 0) paint.setColor(red); 

else if(color == 1) paint.setColor(green); 

else if(color == 2) paint.setColor(blue); 

else if(color == 3) paint.setColor(black); 

... 


if(x < (playerX + 35) && x > (playerX - 35)) 
{ 
    reset(); 
    if(paddle.getAlpha() == paint.getAlpha()) 
    { 
     return 100; 
    } 
} 

Я назначить цвет, так же, как грести. Не понимаю, в чем проблема.

Заранее спасибо.

ответ

0

Возможно, ваша проблема в том, что вы получили константы неправильно, попробуйте использовать Color.RED, Color.BLUE, Color.GREEN, Color.BLACK для ваших красных, синих, зеленых и черных переменных соответственно. Сравнение двух альфа-значений не означает, что они одного цвета, это означает, что они имеют одинаковое количество прозрачности, что вам нужно сделать, это сравнить как альфа, так и фактический цвет RGB вашей краски с вашим веслом, а затем вы можете быть уверены, что они одного цвета. Надеюсь, это поможет.