Jump to content
Entertainer

ciclos for each duvida

Recommended Posts

Entertainer

Boas pessoal tenho de desenvolver um pequeno jogo mas estou com um pequeno bug, o problema e que nao percebo bem o pk do erro supostamente tenho 2 ciclos for each para me desenhar uma recta a acompanhar um objecto(estilo lazer), o problema depara-se quando tenho dois objectos a desenhar essa mira ao mesmo tempo, que em vez de apontar apenas os 2 para ela o 1 objecto q apontou nao apaga as sussecivas linhas e nao percebo porque se eu as estou a actualizar.

Obrigado desde já

Entertainer

Share this post


Link to post
Share on other sites
brunoais

Não percebi a pergunta.

Olha, toma, usa isto:

.?..!?!!???


Agora usa-os no teu post.:)


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Entertainer

Boas pessoal tenho de desenvolver um pequeno jogo mas estou com um pequeno bug,o problema e :

Tenho uma função que me desenha uma recta de um objecto(torre), e um objecto em movimento(inimigo), portanto a recta está em constante atualização o problema está quando tenho dois ou mais objectos(torre) a distancia do inimigo(range) ele desenha as rectas das torres, mas nao apaga as rectas do 1 objecto ligado ao inimigo(ver figura).

Desenho do problema -> http://postimage.org/image/el55glpyp/8786bdfe/

Sei que a variavel s fica a null (quando "passa de uma torre para outra"), mas nao sei como impedir de usar o s para as 2 torres.

código da função:

f (shot != null) window.getDisplayer().remove(shot);
for (SimpleImage tower : towers) {
   for (MovingImage x : invaders) {

       if (Math.abs(tower.getPosition().distance(x.getPosition())) < RANGE) {

       // if (shooting == true) { // to target one target at once


           System.out.println(shot);
           SimpleShape s = new SimpleShape(
           new Line2D.Double(tower.getPosition().getX()
               + tower.getDimension().width / 2, tower.getPosition().getY()
               + tower.getDimension().height / 2, x .getPosition().getX()
               + x.getDimension().width / 2, x .getPosition().getY()
               + x.getDimension().height / 2),
               Color.green, 100); window.getDisplayer().refresh();
           shot = s;

           window.getDisplayer().remove(shot);

           //shooting = false;

           window.getDisplayer().add(s);

       }

   }
}

Edited by Rui Carlos
GeSHi

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.