2015-07-12 3 views
0

Я пишу небольшую игру, в которой игрок контролирует небольшой шар (может перемещаться по вертикали и по горизонтали). Когда мяч движется, на его пути рисуется линия.Структура данных для сохранения данных пикселей

Я использую LinkedList для сохранения положения пикселей (каждый раз, когда шар перемещает координаты x и y, сохраняются в LinkedList) Я храню объекты Pixel в LinkedList (просто сделал простой класс Pixel с Int х, у и геттера для каждого)

p.add(new Pixel(x,y)); 

в моем методе краски каждый пиксель линии затем окрашены с помощью для цикла

for (int i = 0; i < p.size(); i++) 
      g.drawOval(p.get(i).getX(), p.get(i).getY(),1,1); 

Это работает хорошо, но теперь я хотите реализовать другую функцию, и я не могу понять Выясните, как это сделать с использованием структуры данных, которую я использую:

Если мяч достигает границы карты, и линия делит карту на две части, одна из этих частей должна быть заполнена цветом.

Я не уверен, что это возможно с моим подходом. Кто-нибудь знает, какую структуру данных я мог бы использовать, и я также не уверен, что с использованием drawOval - лучший способ сделать это. Любая идея?

+1

Посмотрите на [Path2D] (http://docs.oracle.com/javase/7/docs/api/java/awt/geom/Path2D .html). – RealSkeptic

ответ

0

То, что вы хотите сделать, очень много, может быть, на самом деле много исследований уже сделано в этой области, вам нужно изучить методы, необходимые для достижения того, что вы хотите, и ответить на ваш вопрос о том, как его заполнить цвет, хорошо, как только вы сможете получить координаты полигона, подлежащего обрезанию, вы можете реализовать любой из методов Polygon Filling (заливка заливки), чтобы заполнить его. Теперь заполнение так много пикселей также является потребляющей память задачей, есть много способов преодолеть эти ситуации утечки памяти, но вам не нужно беспокоиться прямо сейчас. Вот некоторые ссылки, которые могут вам помочь.
Computer Graphics - Clipping Solid Polygon Clipping Techniques PS: Вы делаете игру как JezzBall

Смежные вопросы