alkisg Δημοσ. 9 Νοεμβρίου 2005 Δημοσ. 9 Νοεμβρίου 2005 Θέλω να κάνω ένα απλό animation σε Java, π.χ. μια μπαλίτσα που να κινείται στο εσωτερικό ενός jPanel και να αναπηδά στα άκρα του. Για να ζωγραφίσω τη μπάλα ξεκινάω με Graphics g = jPanel1.getGraphics και μετά κάνω g.drawOval(x, y, ...). Ερωτησούλες (απλά hints δώστε μου, π.χ. τα αντίστοιχα objects, δεν χρειάζεται κώδικας): 1) Πώς βάζω έναν timer, ώστε να κινώ τη μπάλα ένα pixel ανά δευτερόλεπτο; 2) Με τη μέθοδο που έγραψα παραπάνω η μπάλα σβήνεται όταν ξανασχεδιάζεται (repaint) το παράθυρο. Καμιά μέθοδος για πιο "μόνιμη" ζωγραφική; Π.χ. υποστηρίζει η Java memory images ή κάτι σχετικό; 3) Υπάρχει καμιά εύκολη μέθοδος για να μην σβήνεται το background όταν κινείται η μπάλα; Π.χ. αν ήθελα να ζωγραφίσω πρώτα κάτι (ας πούμε δυο ορθογώνια) κάπου στο panel και μετά η μπάλα να φέρνει βόλτες κι αυτή στο panel αλλά να μην τα "σβήνει" όταν περνά από πάνω τους; 4) Ο νορμάλ τρόπος για να βάλουμε image components ποιος είναι; Βάζουμε μια label με icon και χωρίς κείμενο; Δουλεύω με NetBeans 4.1. Κατά προτίμηση θα ήθελα να μου προτείνετε κάτι σε απλή Java, χωρίς εξωτερικές βιβλιοθήκες/toolboxes κτλ. Ευχαριστώ, Άλκης
kickeras Δημοσ. 9 Νοεμβρίου 2005 Δημοσ. 9 Νοεμβρίου 2005 den exeis anagki esy apo voitheia......eisai guru :D:D
alkisg Δημοσ. 9 Νοεμβρίου 2005 Μέλος Δημοσ. 9 Νοεμβρίου 2005 Χεχε!!! :-? Θα συνεχίσω λοιπόν να απαντάω στις ερωτήσεις των άλλων και στις δικές μου δεν θα απαντάει κανένας... sniff!!! :neutral:
boutsak Δημοσ. 10 Νοεμβρίου 2005 Δημοσ. 10 Νοεμβρίου 2005 Loipon elpizw na se boh8hsw k na mh se mperdepsw 1)Mporeis na pai3eis me ta threads ths java. Sygkekrimena, kaneis implement to Runnable interface sth klash pou 8eleis (p.x. ths main calss sou) kai yparxei leitourgia sleep(msec). Mporei na leitourghsei ws timer. 2)Yparxei h class ImageIcon pou pistevw einai ayto pou 8eleis. Exei kai to function paintIcon poy einai pio bolikh. 3)Den katalabainw ti ennoeis na mhn sbhnei ta or8ogwnia. Dhladh psaxneis gia transparency? (meta mpaineis se alla xwrafia) 4)Den katalabainw mallon edw thn erwthsh sou....Mhpws h ImageIcon sou dinei kai edw thn apanthsh? Eixa ylopoihsei ena paromoio project (prosomoiosh enos oikosysthmatos) me grafika klp gramenno olo me to xeri kai mia stoiba apo biblia dipla!!! (Hmoun neos k ma8a bebaia). Meta apo ayto omws, ta NetBeans ta epaiza kate8eian sta daktyla, se shmeio pou na mh mou fainontai ka8olou eparkh.
alkisg Δημοσ. 10 Νοεμβρίου 2005 Μέλος Δημοσ. 10 Νοεμβρίου 2005 Thank you boutsak, 3) Φαντάσου μια κάτοψη γηπέδου μπάσκετ. Με έναν κύκλο ας πούμε ζωγραφίζουμε το καλάθι, και με μια σφαίρα τη μπάλα. Έστω ότι η μπάλα περνάει πάνω από το καλάθι. Αφού λοιπόν απομακρυνθεί η σφαίρα, θα πρέπει να ξαναζωγραφιστεί ο κύκλος (το καλάθι). Αν ήταν σε Photoshop αυτό θα γινόταν με layers. Σε Java πώς γίνεται; Πρέπει να τα ξαναζωγραφίζω όλα σε κάθε repaint, ή υπάρχει κάποιος τρόπος να τα δηλώνω σε κάποια λίστα και να τα ζωγραφίζει μόνη της όταν χρειάζεται; 4) Στην παλέττα του NetBeans δεν είδα ImageIcon (δηλαδή να το τραβήξω από την παλέττα χωρίς κώδικα). Είδα όμως ότι μπορώ να βάλω ένα icon σε ένα jLabel και να μην έχω καθόλου text σ' αυτό. Είναι νορμάλ τρόπος αυτός ή υπάρχει στην παλέττα το ImageIcon και για κάποιον λόγο δεν το βλέπω;
georgemarios Δημοσ. 12 Νοεμβρίου 2005 Δημοσ. 12 Νοεμβρίου 2005 σε καθε repaint πρεπει να ξαναζωγραφιστει ολοκληρη η σκηνη, ναι....
alkisg Δημοσ. 13 Νοεμβρίου 2005 Μέλος Δημοσ. 13 Νοεμβρίου 2005 Thank you guys, για όποιον ενδιαφέρεται, τελικά α) ναι, είναι νορμάλ να βάζεις εικονίδιο σε ετικέτα, και β) γίνεται να κινείς τα εικονίδια με setLocation και δεν χρειάζεται ούτε redraw ούτε τίποτα...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.