Avatar billede fireworld Nybegynder
08. november 2001 - 14:34 Der er 14 kommentarer og
1 løsning

Rect / Pictures

Hvordan laver man et flytbart billede altså så man kan flytte dens X / Y akser senere hen...
har prøvet sådan her



public class test extends Applet
{
Image bg;
public void init()
    {
    bg = getImage(getCodeBase(),\"webcam.jpg\");
    }

public void paint(Graphics g)
    {
    g.drawImage(bg,0,0,this);   
    move();
    }   
public void move()
    {
    bg.setBounds(new Rectangle(0,0,100,10));
    }
}


uden held.... hvordan gør man deT?
Avatar billede kresten Nybegynder
08. november 2001 - 14:36 #1
Du skal lave en mouselistener og så hente koordinaterne fra den og indsætte dem i din

g.drawImage(bg,musX,musY,this);
Avatar billede disky Nybegynder
08. november 2001 - 14:37 #2
bruge mouseListener og drawImage til at flytte med
Avatar billede disky Nybegynder
08. november 2001 - 14:37 #3
hov havde ikke set dit svar kresten :)
Avatar billede kresten Nybegynder
08. november 2001 - 14:38 #4
well, bare det jeg var hurtigere er jo utroligt *g*
Avatar billede disky Nybegynder
08. november 2001 - 14:39 #5
:-)
Avatar billede fireworld Nybegynder
08. november 2001 - 21:01 #6
altså...

hvis nu jeg har lavet et g.drawImage

og jeg så senere vil flytte billedet bruger jeg så bare g.drawimage med nye X / Y ?? vil den så ikke lave et billede merE?
Avatar billede kresten Nybegynder
09. november 2001 - 09:15 #7
Nej, den vil tegne det samme billede et andet sted. Hvis du vil lave en applet som streamer live fra dit webcam er det er smule mere indviklet.

Det kommer også lidt an på hvordan du koder din paint/update metode om den tegner et nyt eller ej.

Kom med nogle flere hints om hvad du vil, så skal jeg prøve at hjælpe.
Avatar billede fireworld Nybegynder
09. november 2001 - 11:02 #8
jeg har ikke sat noget med webcam....

webcam.jpg var bare et billede jeg brugte... uden grund!!

vil bare kunne ændre et billedes X / Y akser
Avatar billede kresten Nybegynder
09. november 2001 - 11:05 #9
Ok, men så mener jeg at have svaret på det :)

Se evt. http://java.sun.com/j2se/1.3/docs/api/java/awt/Graphics.html for detaljer.
Avatar billede fireworld Nybegynder
10. november 2001 - 03:05 #10
kan jeg ikke få et eksempel?
Avatar billede kresten Nybegynder
12. november 2001 - 09:51 #11
Arh hva? Jeg tror du ville få 100 gange mere ud af det ved at læse lidt om hvordan du laver en mouseListener. Det er RET nemt!

Derefter er det jo bare at tegne billedet som i mit tidligere svar.

Kom nu, arbejd med kroppen :-)
Avatar billede fireworld Nybegynder
12. november 2001 - 17:22 #12
lolda jeg ved godt med en mouselistener ...


men det er bare om man bliver nød til f.eks at slette det gamle billede ved at over tegne det først og så tegne det nye hvis ikke man vil have 1000 billeder?
Avatar billede kresten Nybegynder
13. november 2001 - 09:27 #13
jo, det har du ret i.

Du er nød til at tegne din baggrund hver gang du opdaterer. Det er typisk her man render ind i performance problemer og ikke synkroniserede opdateringer, så det blinker og ser dårligt ud.

Den helt basic måde at gøre det på er:

1. hent x, y
2. slet skærm med f.eks. drawRect
3. tegn billede på position x,y

Hvis du kigger på http://java.sun.com/docs/books/tutorial/uiswing/painting/movingImage.html så kan du se et lille eksempel.
Avatar billede fireworld Nybegynder
14. november 2001 - 09:20 #14
fandt ud af det ved at lægge en variabel i starten som hed x / y og så med et klik satte jeg x og y og kaldte paint() og tegnet billedet
Avatar billede kresten Nybegynder
14. november 2001 - 10:41 #15
Godt nok! Keep up the good work
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