Γεια
Ειμαι αρχαριος σχετικα στη java με βασικα πραματα ασχολουμαι ακομα δηλαδη, εχω αρχισει λιγο να παιζω με το swing και φτιαχνω ενα παιχνιδακι θελω να να κανω το εξης μεχρι τωρα εχω εναν κυβο που τον μετακινω ειτε με buttons ειτε με το ποντικι κλασσικα listerners repaint κλπ καλα μεχρι εδω) θελω ομως ο κυβος αυτος να κινειται και μονος του σε μια προδιαγεγραμενη πορεια(τροχεια) και απο οπου περναει να αφηνει μια γραμμη.
Καθε βοηθεια ευπροσδεκτη δεν θελω αποκλειστικα κωδικα και λιγο στη λογικη να με βοθησει καποιος αν μπορει
Εμφάνιση 1-14 από 14
Θέμα: Κινηση java swing
-
22-03-12, 01:36 Κινηση java swing #1
Τελευταία επεξεργασία από το μέλος ibid : 22-03-12 στις 01:47.
-
22-03-12, 18:53 Απάντηση: Κινηση java swing #2
στείλε τον κώδικα σου μέχρι τώρα
-
22-03-12, 22:14 Απάντηση: Κινηση java swing #3
αρχαριος ειμαι μη γελασετε:P ψαχνωτας απο εδω απο εκει τον εφταιξα και μεχρι αυτο το απλο σταδιο..
αυτα που θελω να κανω ειναι να κινω το αντικειμενο σε μια σταθερη τροχια βαση χρονου ( μια while με επαναλ. αλλαγη τον χ και ψ ..? αλλα με το θεμα του χρονου τι παιζει..)
Spoiler:
-
23-03-12, 04:20 Απάντηση: Κινηση java swing #4
Το πως θα κάνεις τον κύβο να κινείται από μόνος του είναι εύκολο. Θα χρησιμοποιήσεις μια συνάρτηση την οποία θα εκτελείς συνεχώς και θα σου δίνει σημεία. Π.χ αν θες να πάς από κάτω αριστερά πάνω δεξιά μια συνάρτηση είναι η y = x.
Τώρα για την γραμμή μια ιδέα είναι να χρησιμοποιήσεις μια λίστα η στοίβα από Point2D στην οποία θα αποθηκέυεις σημεία σε κάθε screen update. Μετά στο κάθε επόμενο update θα ανατρέχεις την δομή σου και θα τυπώνεις ένα pixel ή ότι άλλο θέλεις σε κάθε σημείο που έχεις αποθηκευμένο.
-
23-03-12, 11:20 Απάντηση: Κινηση java swing #5
για να κάνεις αυτό που θες πρέπει να κάνεις χρήση threads
δες τις αλλαγές στον κώδικα σου
Κώδικας:/* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author ΞΕΝΟΦΩΝ */ import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.ArrayList; public class kinisi extends Applet implements ActionListener,Runnable { class Point{ private int X; private int Y; Point(int x,int y){ this.X=x; this.Y=y; } } Button up,right,left,down,stop; int x=20, y=20; private boolean running=true; private Thread runner; private ArrayList<Point> kinisiGrammi; public void init() { up = new Button("up"); add(up); up.addActionListener(this); right = new Button("right"); add(right); right.addActionListener(this); left = new Button("left"); add(left); left.addActionListener(this); down = new Button("down"); add(down); down.addActionListener(this); stop=new Button("Stop"); stop.addActionListener(this); add(stop); setBackground( Color.black ); kinisiGrammi=new ArrayList<Point>(); runner=new Thread(this); runner.start();//τρέχει την συνάρτηση run() } public void run(){ while (running){//οσο running==true repaint(); try{ runner.sleep(1000);//αναμονή 1 sec }catch (InterruptedException e){ } } } public void destroy(){//όταν τελειώσεις το καταστρέφεις running = false; runner = null; } public void actionPerformed(ActionEvent e){ if(e.getSource() == up){ y=y-40; repaint(); } if(e.getSource() == down){ y=y+40; repaint(); } if(e.getSource() == left){ x=x-40; repaint(); } if(e.getSource() == right){ x=x+40; repaint(); } if(e.getSource() == stop){ destroy(); } } public void paint( Graphics g ) { g.setColor( Color.blue ); g.fillOval( x, y, 40, 40 ); g.setColor( Color.red ); g.fillOval(x+90,y+90,40,40); g.setColor( Color.green ); for (int i=0;i<kinisiGrammi.size()-2;i++)//σχεδιάζει σαν γραμμή μια σειρά σημείων g.drawLine(kinisiGrammi.get(i).X, kinisiGrammi.get(i).Y, kinisiGrammi.get(i+1).X, kinisiGrammi.get(i+1).Y); x=x+1;//σε κάθε κλήση της repaint() το χ αυξάνεται κατά 1 y=y+1;//ομοίως για το y if (x>50) x=0; if (y>50) y=0; Point pt=new Point(x,y);//δημιουργεί νέο σημείο kinisiGrammi.add(pt);//το προσθέτει στην λίστα που περιγράφει την πορεία } }
-
23-03-12, 21:19 Απάντηση: Κινηση java swing #6
οταν βαζω τον κωδικα στο eclipse δεν το δεχεται.. Syntax error, parameterized types are only available if source level is 5.0 μου βγαζει στα υπογραμμισμενα.. Εχω λαθος εκδοση ; 1.6 τρεχω java και eclipse 3.2
λιγη βοηθεια με αυτο..
κατα τα αλλα εχεις βαλει αναλυτικα σχολια αν το τρεξω πιστευω θα το καταλαβω.
-
23-03-12, 21:56 Απάντηση: Κινηση java swing #7
Καλησπέρα,
Από Window->Preferences->Java->Compiler και δεξιά JDK Compliance τί λέει;
Αντίστοιχα με δεξί κλίκ στο project->Properties->Java Compiler;
Επίσης το Eclipse 3.2 είναι λίγο αρχαίο... Υποστηρίζει Java 5; (Θα το δείς στις επιλογές που αναφέρω)
Καλή επιτυχία
-
23-03-12, 22:59 Απάντηση: Κινηση java swing #8
Πηγα στο preference και επελεξα source 5.0 και ετρεξε :P ευχαριστω.
Χμμ λιγο διαφορετικο το ειχα φανταστει(edit:οχι και πολυ τωρα που το ειδα καλυτερα , αυτο ηθελα να κανει ) αλλα θα πειραματιστω να το διαμορφωσω πανω στον κωδικα μου εδωσε ο φιλος πιο πανω .Το θεμα ειναι να καταλαβω πληρως τον κωδικα, παντως μου ειναι μεγαλη βοηθεια thanks.Τελευταία επεξεργασία από το μέλος ibid : 23-03-12 στις 23:08.
-
29-03-12, 02:06 Απάντηση: Κινηση java swing #9
Ενα αλλο θεμα ειναι το τρμοπαιγμα που κανουν τα σχηματα , διαβασα στο internet 2 τεχνικες(Double Buffering και overide update νομιζω) για μην γινεται αυτο το πραγμα.. Αλλα δεν καταφερα να τις εφαρμοσω στον εν λογω κωδικα.. :S μπορει καποιος να μου εξηγησει-βοηθησει λιγο;
-
29-03-12, 09:33 Απάντηση: Κινηση java swing #10
-
29-03-12, 13:50 Απάντηση: Κινηση java swing #11
-
30-03-12, 15:37 Απάντηση: Κινηση java swing #12
-
30-03-12, 22:56 Απάντηση: Κινηση java swing #13
αν κατάλαβα καλά θες κάτι τέτοιο?--->http://www.jcreator.org/download.htm
-
03-04-12, 16:35 Απάντηση: Κινηση java swing #14
Ευχαριστω!
Παρόμοια Θέματα
-
Java Swing...
Από hritso στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 0Τελευταίο Μήνυμα: 03-01-12, 06:02 -
Java Swing OS-Native Look'n'Feel
Από papajohn στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 4Τελευταίο Μήνυμα: 23-01-07, 07:01
Bookmarks