Hirdetés
Új hozzászólás Aktív témák
-
Zulfaim
csendes tag
Szevasztok!
Egy dekázós appletet szeretnék írni, de valahogy nem sikerül megvalósítanom a következőket:
-legyen gravitáció
-ha a labda bal oldalára kattintok, akkor jobbra, ha a jobb oldalára kattintok akkor balra elpattanjonEddig így néz ki a kódom:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Labda extends Applet implements Runnable, MouseListener
{
private int dx,dy,w,h;
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 = y = 150; // indulási pozíció
dx =0;
dy = 20; // 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(100); // 0,1 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; // x irányváltás
if ((y+h+dy)>400)
dy=-dy;
if ((y+dy)<0)
{
dy=-dy; // y irányváltás
y-=10;
}
// léptetés
x += dx;
y += dy;
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.abs(dxx)<=w/2) && (Math.abs(dyy)<=h/2))
{
y += -30;
}
}
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?:))
- Autós topik
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Kerékpárosok, bringások ide!
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Luck Dragon: MárkaLánc
- Külföldi prepaid SIM-ek itthon
- Xiaomi 15T Pro - a téma nincs lezárva
- Vezeték nélküli fejhallgatók
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
- Dell G15 5511 i7-11800H / RTX 3050 Ti 4GB / 16GB RAM / 512GB NVMe 15,6" FHD 120Hz WVA
- Eladó Apple iPhone 11 128GB piros (PRODUCT RED) színben
- Samsung Galaxy S25 512GB HIBÁTLAN!ÚJSZERŰ!Kártyafüggetlen
- Iphone 13 White 128Gb újszerű állapot, független
- ELKELT - Apple MacBook Air 2025 13.6" M4 10C/8C - 256 SSD - 16GB RAM - 3 ÉV GARANCIA
- AKCIÓ! Acer Nitro 5 AN515-58-75F8 Gamer notebook - i7 12700H 16GB DDR4 512GB SSD RTX 3060 6GB
- 185 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080 (ELKELT)
- BESZÁMÍTÁS! Akár részletfizetés 0% THM ÚJ Intel LGA 1700 processzorok 3 év garanciával 27% áfaval
- Akció! Csere-Beszámítás! Asus Zenbook 14 UM425IA! R7 4700U / 8GB / 512GB SSD!
- IT Megoldások és szolgáltatások
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

