2014-11-23 2 views
1

Как я использую ArrayList в обработке в первый раз, у меня возникают некоторые проблемы.Обработка ArrayList - Как получить доступ к каждому индексу отдельно

Я создал Arraylist, в котором хранится PVector (x, y позиция) эллипса.

То, что я пытаюсь сделать, очень просто, я думаю, но я не могу найти много информации о ArrayLists.

Код: Позиция ArrayList;

void setup() 
{ 
    position= new ArrayList<Vectors>(); 
} 

void draw() 
{ 
    position.get(i).display(); //display ellipse 
} 

void mousePressed() 
{ 
    position.add(new Vectors(new PVector(mouseX, mouseY))); 
} 

Таким образом, каждый раз, когда мышь нажата, новый эллипс создается в позиции mouseX mouseY. То, что я хотел бы сделать, - это когда я создал количество эллипсов, мне нужно контролировать каждый отдельно, чтобы изменить его размер или цвет, нажав на них или с помощью KeyPressed().

+0

Пожалуйста, добавьте ваш код. – jruizaranguren

ответ

2

Это не будет компилироваться автоматически Я предполагаю, что ваш объект PVector уже создан, и что у него есть два открытых атрибутов xPosition и yPosition:

// Initialise your arraylist 
ArrayList<PVector> listOfPVectors = new ArrayList<PVector>; 

// Objects can be added to your list as follows: 
PVector pvectorObject = new PVector(); 
listOfPVectors.add(pvectorObject); 

// The size of your ArrayList can be output as follows: 
println(listOfPVectors.size()); 

// You can iterate through every entry in the arraylist as follows: 
for(int index = 0; index < listOfPVectors.size(); index ++) { 
    println("X Position Value = " + listOfPVectors.get(index).xPosition); 
    println("Y Position Value = " + listOfPVectors.get(index).yPosition); 
} 

В принципе, можно использовать ArrayList.get (indexPosition) для извлечения любого элемента из вашего ArrayList. Затем вы можете работать с ним как обычно.

Надеюсь, это поможет!

+0

Привет, Энтони, спасибо за ваш ответ. Работает ли getXPosition() в обработке? – Apollon1954

+0

Привет, я отредактировал свой ответ в соответствии с обработкой немного более четко. Надеюсь, теперь это немного яснее (я удалил методы getter для getXPosition() и getYPosition()). Дайте мне знать, если это поможет :) – AJC24

+0

Спасибо Энтони, это мне помогает. Однако я думаю, что для печати значений в обработке: println («Y Position Value =» + listOfPVectors.get (index) .x); – Apollon1954

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