Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 2.796 pregleda

Najnovija ↓

Crtanje poligona pomocu misa 22.02.2011. u 09:41 · pre 191 mesec #1
Pokusao sam da napravim jednostavan program za crtanje poligona misem. Hteo sam da svaki klik misem zapise koordinate kliknutog mesta u odgovarajucu tacku i onda se samo iscrta poligon sa tim tackama. Na primer, samo 4 tacke kako bih dobio neki cetvorougao.
Shvatio sam da kada se klikne misem negde, te koordinate se upisu u sve 4 tacke, a ne samo u jednu, pa posle u narednu itd. Kako to da resim?

Code:
import acm.graphics.*;
import acm.program.*;
import java.awt.event.*;

public class Pravougaonik extends GraphicsProgram {
    public void run() {
        addMouseListeners();    
    }
    public void mouseClicked(MouseEvent e) {
        GPolygon cetvorougao = new GPolygon();
        cetvorougao.addVertex(e.getX(),e.getY());
        cetvorougao.addVertex(e.getX(),e.getY());
        cetvorougao.addVertex(e.getX(),e.getY());
        cetvorougao.addVertex(e.getX(),e.getY());
        add(cetvorougao);        
    }
}
Re: Crtanje poligona pomocu misa 22.02.2011. u 13:22 · pre 191 mesec #2
Code:

public class Pravougaonik extends GraphicsProgram {
    GPolygon cetvorougao = new GPolygon();
    public void run() {
         add(cetvorougao);
         addMouseListeners();    
    }
    public void mouseClicked(MouseEvent e) {        
        cetvorougao.addVertex(e.getX(),e.getY());
    // mozda ga ovde poslije moras repaintovati, nije mi poznat ovaj framework
    }
}
Re: Crtanje poligona pomocu misa 22.02.2011. u 14:45 · pre 191 mesec #3
Mislim da nije do repaint-a. Problem mi je samo kako da svaki klik misem tj. njegove koordinate uskladistim u drugu promenljivu. Na ovaj nacin se iste koordinate upisu u sva cetiri temena i dobijam samo tacku.
Moze i neki predlog kako da ovo drugacije resim
Re: Crtanje poligona pomocu misa 22.02.2011. u 17:27 · pre 191 mesec #4
Hint:
Code:

public class Pravougaonik extends GraphicsProgram {
  private GPolygon cetvorougao;
  private int count = 0;

  public void run() {
    addMouseListeners();    
  }
  public void mouseClicked(MouseEvent e) {
    if (count == 0) {
      cetvorougao = new GPolygon();
    }
    cetvorougao.addVertex(e.getX(),e.getY());
    count++;
    if (count == 4) {
      add(cetvorougao);
      count = 0;
    }
  }
}
Re: Crtanje poligona pomocu misa 24.02.2011. u 16:38 · pre 191 mesec #5
To je resenje! Sad kad vidim, deluje krajnje jednostavno, samo se treba setiti :)
Problem je bio sto sam ja sa svakim klikom iznova i iznova pravio novi poligon, a nisam se setio da stavim neki uslov koji bi to onemogucio.
Hvala puno za pomoc!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme