Не выходит получить ARGB точки изображения -_-"

0
18 авг 2016 22:47
Привет всем. У меня многослойная панель. Для игры. На задней рисую BarrierList, над ней карта игры, перекрывающая барьеры, над ними лист спрайта героя, над ними - сам интерфейс с кнопками игры.

Когда герой появляется или движется - мне нужно проверять несколько пикселей вниз от его У, чтобы убеждаться, что там "земля", то-есть баррьер-лист прокрашен. Свободные места для передвижения в барьер-листе прозрачные.

Я уже измучался пытаться получить при игре ARGB точки под героем с Барьер-листа -_-

Что мне делать? Этот код всегда мне возвращает без остановки нули, где бы не находился герой:

int x = heroPanel.getLocation().x;
        int y = heroPanel.getLocation().y - 10;
        
        MapBarrierPane.pixelData = MapBarrierPane.bbuffer.getRaster().getDataElements(x, y, null);
        int argb = MapBarrierPane.bbuffer.getColorModel().getRGB(MapBarrierPane.pixelData);
        
        Color color = new Color(argb, true);
        
        System.out.println(argb);
        System.out.println(color);


heroPanel.getLocation().y - 10 - это 10 пикселей под героем в игре.
MapBarrierPane.pixelData - это буфер с барьер-листом, отрисовываемый на самом заднем плане.

Фон с картой игры специально сдвинул и сделал полу-прозрачной чтобы отслеживать задний красный барьер-лист.


Бестолку!

Ответов: 1

0
19 авг 2016 11:12
Ладно, так как тема вопроса поменялась и код рабочий, правда надо поменять х и у на другие координаты, вопрос можно закрыть, полагаю. Создам потом новый, если не разберусь. Жаль, что никто так и не написал больше ничего полезного -_-
Модераторы: Нет
Сейчас эту тему просматривают: Нет