- Azonnali alaplapos kérdések órája
- 3D nyomtatás
- Apple MacBook
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Nvidia GPU-k jövője - amit tudni vélünk
- Milyen videókártyát?
- TCL LCD és LED TV-k
- Új szintre emeli a csalók elleni védelmet a Battlefield 6
- Milyen asztali (teljes vagy fél-) gépet vegyek?
Hirdetés
Új hozzászólás Aktív témák
-
Zulfaim
csendes tag
kicsit haladtam, most az a baj, hogy nem mindegyik egérkattintást észleli.
public class Labda extends Applet implements Runnable, MouseListener
{
private int w,h;
private double dx, dy;
private int x, y;
private Graphics offGraphics; // háttérgrafika
private Image offImage; // háttérkép
private Image labda;
private Thread animator=null;
boolean stopFlag;
public void init(){
offImage=createImage(400,400); // a háttérkép létrehozása
offGraphics=offImage.getGraphics();
labda=getImage(getDocumentBase(),"labda.jpg");
x=200;
y=200;
// indulási pozíció
dx=0;
dy=10; // indulási lépéstáv
setSize(400,400);
setBackground(Color.white);
addMouseListener(this);
}
public void start() { // a szál indítása
animator=new Thread(this);
stopFlag=false;
animator.start();
}
public void run() {
while(true) {
if (stopFlag) // ha megállt az animáció
break;
try {
Thread.sleep(50); // 0,2 másodperces várakozás
}
catch (InterruptedException ex){}
w = labda.getWidth(this); // a labda méretei
h = labda.getHeight(this);
if ((x+w+dx)>400 || (x+dx)<0)
dx=-dx * 0.6; // x irányváltás
if ((y+h+dy)>400 || (y+dy)<0)
dy=-dy * 0.6; // y irányváltás
// léptetés
x += dx;
y += dy;
dy += 1.2;
repaint();
}
}
public void stop() { // a szál törlése
stopFlag = true;
animator = null;
}
// kettőspuffer
public void paint(Graphics g) {
int h = getSize().height;
int w = getSize().width;
offGraphics.setColor(Color.white);
offGraphics.fillRect(0,0,w,h); // a rajzlap törlése
offGraphics.drawImage(labda,x,y,this);
g.drawImage(offImage,0,0,this);
}
// egérkattintáskor módosítjuk a lépéseket - irányváltás
public void mouseClicked(MouseEvent e){
/*int dxx,dyy;
dxx = e.getX()-x;
dyy = e.getY()-y;*/
if ( Math.sqrt ( Math.pow (e.getX() - (x + w/2), 2) + Math.pow (e.getY() - (y + w/2), 2)) < w)
{
dy += -20;
dx += (x+w/2) - e.getX();
}
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e) {}
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Azonnali alaplapos kérdések órája
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Cyberpunk 2077
- 3D nyomtatás
- Formula-1
- Vicces képek
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Apple MacBook
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Elektromos autók - motorok
- További aktív témák...
- Bomba ár! Dell Precision 5530 - i7-8850H I 16GB I 512SSD I 15,6" FHD I P1000 I Cam I W11 I Gari!
- BESZÁMÍTÁS! MSI B450M R7 1700X 16GB DDR4 128GB SSD 1TB HDD GTX 1650 Super 4GB Zalman T7 Chieftec 400
- Új MSI Katana 15 Gamer FHD IPS 144Hz i7-13620H 10mag 16GB 512GB Nvidia RTX 4060 8GB Win11 Garancia
- Új Asus F16 TUF WQXGA 165Hz G-Sync i7-14650HX 16mag 16GB 1TB SSD Nvidia RTX 5050 8GB Win11 Garancia
- HIBÁTLAN iPhone 15 Pro Max 256GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3004
Állásajánlatok
Cég: FOTC
Város: Budapest