Avatar billede supermichael Nybegynder
22. januar 2007 - 18:10 Der er 3 kommentarer og
1 løsning

Grafik i java

Hey
Er lidt ny inden for java. Ved ikke så meget om det grafiske endnu.

Jeg vil bare spørge om hvordan man loader et billede ind i en frame, og derefter får den til at bevæge sig flydene hen over skærmen. f.eks. fra location(40,50) til location(20,0).

Jeg har laven prøve hvor jeg bruger en timer der via en funktion setPos, flytter en rektangel fra last_x, last_y til wantsX, wantsY

timeren køre så igennem i "numberOfSteps" antal gange hvor den forøger steppet med 1 hver gang.

public void setPos (int wantsX, int wantsY, int step) {
    rect.setLocation(
(int)(last_x + (wantsX - last_x) * step / numberOfSteps), (int)(last_y + (wantsY - last_y) * step / numberOfSteps));
  }

men der må være en nemmere måde..

Kan nogen give mig et forslag til en nemmere måde?
Avatar billede supermichael Nybegynder
22. januar 2007 - 18:15 #1
forresten:
min timer ser således ud:

  private void initTimer() {
    timer = new javax.swing.Timer(1, new ActionListener () {
      public void actionPerformed (ActionEvent e) {
        setPos(0,50,step);
        step++;
        repaint();
        if (step == numberOfSteps) {
          step = 1;
          timer.stop();
        }
      }
    });
  }
Avatar billede jime_boy Nybegynder
24. januar 2007 - 12:31 #2
Faktisk ser det ud for mig som om at du gør hvad du skal. Men du kan prøve at tage den ene beregning ud og lægge den i en variabel

eks.
faktorX = (slutX - startX)/steps //så ved du hvormeget den skal rykke sig pr. step
faktorY = (slutY - startY)/steps // det samme

Bagefter kan du bare kører metoden gennem løkken således

rect.setLocation((int)rect.getX()+faktorX,(int)rect.getY()+faktorY);

eller noget i den stil
Avatar billede supermichael Nybegynder
12. februar 2007 - 00:45 #3
Smid et svar...
Avatar billede jime_boy Nybegynder
12. februar 2007 - 13:15 #4
:-)
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