Poppetje over een lijn laten lopen

Status
Niet open voor verdere reacties.

Roofiej

Gebruiker
Lid geworden
12 jul 2007
Berichten
22
Hey allemaal,
weet iemand hoe ik een bepaald poppetje (een image kan dat gewoon zijn) kan laten bewegen over een bepaalde lijn? Zoals in een ganzenbord.
 
een timer maken is een optie, en dan een methode die de x / y coördinaten van het plaatje aanpassen zodat elke keer dat de timer afgaat de methode word aangeroepen die de coördinaten aanpast.

Als klein voorbeeldje hier een lichtslang (een stuk tekst dat over het scherm word bewogen ):

LichtslangApplet.java
Code:
import javax.swing.*;

public class LichtslangApplet extends JApplet{
	
	public void init() {
		setContentPane(new LichtslangPaneel());
	}
}

LichtslangPaneel.java
Code:
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class LichtslangPaneel extends JPanel{
	private Lichtslang slang;
	private javax.swing.Timer timer;
	
	public LichtslangPaneel() {
		this.slang = new Lichtslang("Java is leuk", -50, 60);
		this.timer = new Timer(40, new TimerHandler());
		timer.start();
	}
	
	public void paintComponent(Graphics g) {  
		super.paintComponent(g);
		slang.teken(g);
	}
	
	private class TimerHandler implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			slang.verplaatsing();
			repaint();
		}
	}
}

Lichtslang.java:
Code:
import java.awt.Color;
import java.awt.Graphics;

public class Lichtslang {
	private String tekst;
	private int x;
	private int y;
	
	public Lichtslang(String tekst, int x, int y) {
		this.tekst = tekst;
		this.x = x;
		this.y = y;
		
	}
	
	public void verplaatsing() {
		if(x < 200) {
			x++;
		}else {
			x = -50;
		}
	}
	
	public void teken(Graphics g) {
		g.setColor(Color.MAGENTA);
		g.drawString(tekst, x, y);
	}
	
}
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan