Jump to content

Recommended Posts

Posted

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

Posted

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%.

Posted

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);

       }

   }
}

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.