2014-01-25 4 views
-4

все, что я делаю, похоже, разбивает мой код на неиспользуемый мусор. Обратите внимание, что это тоже беспорядок ... но по крайней мере он работает почти правильно. Вот некоторые детали: это своего рода система частиц, но с изображениями. koffer обозначает мешок, и он должен быть своего рода взрывом вращающихся мешков, которые становятся немного больше или меньше для эффекта глубины, и они исчезают во времени и после выхода из экрана его следует удалить. На данный момент я получил половину мешков, которые взрываются, чтобы превратить случайные пути, а половина мешков этого не делает. Они все исчезают, но не удаляются после выхода из экрана. пока нет незначительного изменения размера. Но больше всего я должен использовать arraylist() и не знаю, как это реализовать. вот мой код:Мне нужно запрограммировать этот код с arraylist

Главный класс BagEplode:

PImage coffre; 
float life = 255; 
int i = 0; 
Ball [] balls = new Ball [200]; 


void setup(){ 
    size (600,600,P3D); 
    noStroke(); 
    smooth(); 
    coffre = loadImage("coffre.png"); 
    for (i = 0; i < balls.length; i ++) 
    { 
    balls[i] = new Ball(); 
    } 
} 

void draw() 
{ 
    clear(); 
    life -= 2.5; 

    for (int i = 0; i < balls.length; i++) 
{ 
    if(i <= 4) 
    { 
    balls[i].kleur(); 
    image(coffre, balls[i].x, balls[i].y); 
    tint(255, life); 
    balls[i].update(); 
    } 
    //else 
    //{ 
    //} 

} 

} 

и я получил мяч Класс:

class Ball 
{ 
public void kleur(){ 

} 

    float x = width/2; 
    float y = 601; 
    float vX = random(1,4); 
    float vY = random(-9,-5); 
    float sizeX = 0 ; 
    float sizeY = 0 ; 
    float draaiHoek = 0; 
    float angle = random(-3,3); 

public void update(){ 
    x += vX ; 
    y += vY ; 
    vY += 0.125; 
    sizeX = 64 ; 
    sizeY = 64 ; 
    draaiHoek -=angle; 
    imageMode(CENTER); 
    pushMatrix(); 
    translate(x,y); 
    rotate((radians(draaiHoek))); 
    image(coffre, 0, 0); 
    imageMode(CORNER); 
    popMatrix(); 

    //if (x > width || x < 0 || y > height || y < 0) 
    //{ 

    //} 

} 
} 

Thanx за помощь мне заранее. Надеюсь, я действительно получу несколько указателей.

+0

проводка код, который на самом деле составляет _might_ помощи. Пожалуйста, отредактируйте свой вопрос. –

ответ

1

Из моего понимания, вам нужно заменить шаров массива тип- Бала с ArrayList типа мячема

import java.util.ArrayList; 

public class Ball { 

    PImage coffre; 
    float life = 255; 
    int i = 0; 


    //Ball [] balls = new Ball [200]; 
    ArrayList<Ball> balls= new ArrayList<Ball>(); 

    void setup(){ 
     size (600,600,P3D); 
     noStroke(); 
     smooth(); 
     coffre = loadImage("coffre.png"); 


/* for (i = 0; i < balls.length; i ++) 
     { 
     balls[i] = new Ball(); 
     } 
*/ 

     for(int i=0;i<balls.size();i++) 
     { 

      balls.add(new Ball()); 
     } 
    } 

    void draw() 
    { 
     clear(); 
     life -= 2.5; 

/* for (int i = 0; i < balls.length; i++) 
    { 
     if(i <= 4) 
     { 
     balls[i].kleur(); 
     image(coffre, balls[i].x, balls[i].y); 
     tint(255, life); 
     balls[i].update(); 
     } 
*/   
     for (int i = 0; i < balls.size(); i++) 
     { 
      if(i <= 4) 
      { 
      balls.get(i).kleur(); 
      image(coffre, balls.get(i).x, balls.get(i).y); 
      tint(255, life); 
      balls.get(i).update(); 
      } 
     //else 
     //{ 
     //} 
    } 
    } 
} 
Смежные вопросы