Avatar billede up2nogood Nybegynder
22. maj 2002 - 14:48 Der er 7 kommentarer og
1 løsning

Flytte et jpg billede i en applikation

Jeg er ved at lave et labyrintspil og har brug for at vide hvordan jeg flytter et billede i java. Billedet er tegnet og der er implementeret buttonlistners, jeg mangler bare en funktion til at kunne flytte det tegnede billede med.
Avatar billede disky Nybegynder
22. maj 2002 - 14:54 #1
du tegner det med drawImage() som har coordinater som parameter.

dem ændrer du bare så flytter billedet sig.
Avatar billede up2nogood Nybegynder
22. maj 2002 - 15:07 #2
Hmmm, disky det har jeg prøvet, men den vil ikke tegne det samme billede to gange. Billedet skal jo gentegnes hver gang det bliver trykket på en tast...
Avatar billede disky Nybegynder
22. maj 2002 - 15:28 #3
definer dit problem lidt bedre, tak.
Avatar billede up2nogood Nybegynder
23. maj 2002 - 00:23 #4
Jeg er ved at lavet et java applikationsspil som bygger på et labyrintspil der skal køre over RMI. Der kan være 4 spillere logget på ved hver sin pc. Hver spiller har samme figur, men med hver sin farve, altså 4 forskellige jpg billeder. Mit problem er at når jeg har tegnet figuren en gang, kan jeg ikke få lov at tegne den igen med nye koordinater. Et udpluk af koden kommer lige her:
//i constructor:
Toolkit tk = Toolkit.getDefaultToolkit();
eks = tk.getImage("spillerR.jpg");

//i panel som det ses...
panel = new JPanel()
        {
      public void paintComponent(Graphics g)
            { 
        super.paintComponent(g);
              Graphics2D g2 = (Graphics2D)g;
              g2.drawImage(eks,0,0, this);

//nede i actions hvis de forskellige keys bliver pressed:
if (retning == 3)
{
location(3);
/*her skulle der så gerne være en metode der har flyttet figuren, *feks eks.move(x,y);
*/
panel.repaint();

Håber det er lidt mere klart nu...
                }
Avatar billede disky Nybegynder
23. maj 2002 - 00:37 #5
det er fordi du har:
g2.drawImage(eks,0,0, this);


altså tegn altid på koordinat '0,0'

de to vædier skal du ændre i tagt med bevægelsen.

jeg bruger f.eks:
g.drawImage(imgGhost,x,y,this);

i et pacman spil jeg rodede med engang.
Avatar billede up2nogood Nybegynder
23. maj 2002 - 01:03 #6
Jesus, selvfølgelig var det det som der var galt, man kan jo bare definere en ny x og y værdi inden man repainter. So simple, men alt det tid det tog for at finde ud af det! Jeg takker mange gange og du har fortjent dine 60 point. Var det muligt at jeg kunne få dit icq / msn hvis jeg skulle fucke up igen, vi kunne godt lave en deal med point stadigvæk =)
Avatar billede disky Nybegynder
23. maj 2002 - 07:17 #7
1413069
Avatar billede disky Nybegynder
23. maj 2002 - 07:17 #8
ups, tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester