Hirdetés
- HiFi műszaki szemmel - sztereó hangrendszerek
- Projektor topic
- NVIDIA® driverek topikja
- Fejhallgató erősítő és DAC topik
- VR topik (Oculus Rift, stb.)
- Akciókamerák
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Ettől lesz más a tévézés? Teszten a OneTV SoundBox
- Apple asztali gépek
Ú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?:))
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! ASRockB450M R5 5600X 16GB DDR4 512GB SSD STRIX RTX 2070 SUPER 8GB GameMax Aero Mini 700W
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- AKCIÓ! Apple MacBook Pro 16 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- LG 65QNED86T3A / QNED / 65" - 164 cm / 4K UHD / 120Hz / HDR Dolby Vision / FreeSync Premium / VRR
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


