- Kormányok / autós szimulátorok topikja
- Milyen billentyűzetet vegyek?
- LG LCD és LED TV-k
- Fejhallgató erősítő és DAC topik
- Törölte az idei asztali csúcsprocesszorát az Intel
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Azonnali VGA-s kérdések órája
- OLED monitor topic
- Utolérte az áremelés a PlayStation 5-öt
- Házimozi belépő szinten
Új hozzászólás Aktív témák
-
Fenyo12
tag
Sziasztok!
Alap Java programozásban kérnék segítséget. (most tanulom)
Ez volt az alap, amiből indultam. (a SunAndCloud)
Az alapképernyőt megnövetlem és még egy képet betettem a nap mellé, ami előtűnik a felhő mögül.
A beszúrt objektumot meg szeretném forgatni a középpontja körül úgy, hogy a nap ne mozduljon meg.
Egy FOR ciklussal próbáltam, de szerintem eleve szintaktikai bajai is vannak.
Tudna valaki ebben segíteni?
A forgatást akkor kéne elkezdeni, amikor az 'alpha' változóm elérte a nullát, mert ez jelzi, hogy az áttűnés befejeződött.
Eddig működik jól, innen kéne valahogy beletenni a forgatást:package com.zetcode;
import java.awt.AlphaComposite;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.Timer;
class Surface extends JPanel implements ActionListener {
private Image sun;
private Image cloud;
private Image bee;
private Timer timer;
private float alpha;
public Surface() {
loadImages();
initTimer();
}
private void loadImages() {
sun = new ImageIcon("sun.png").getImage();
cloud = new ImageIcon("cloud2.png").getImage();
bee = new ImageIcon("bee_3m.png").getImage();
}
private void initTimer() {
timer = new Timer(300, this);
timer.start();
alpha = 1f;
}
private void doDrawing(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
BufferedImage buffImg = new BufferedImage(640, 480,
BufferedImage.TYPE_INT_ARGB);
Graphics2D gbi = buffImg.createGraphics();
AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
gbi.drawImage(sun, 40, 30, null);
gbi.drawImage(bee, 350, 180, null);
gbi.setComposite(ac);
gbi.drawImage(cloud, 25, 50, 576, 301, this);
g2d.drawImage(buffImg, 20, 20, null);
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
doDrawing(g);
}
@Override
public void actionPerformed(ActionEvent e) {
alpha -= 0.05;
if (alpha <= 0) {
alpha = 0;
timer.stop();
System.out.println("Jelenet vége.");
}
repaint();
}
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- A fociról könnyedén, egy baráti társaságban
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Luck Dragon: Asszociációs játék. :)
- Kormányok / autós szimulátorok topikja
- BMW topik
- sziku69: Fűzzük össze a szavakat :)
- Milyen billentyűzetet vegyek?
- Hieronymus: Hogyan parkolj hátramenetben profi módon
- iPhone topik
- Autós topik
- További aktív témák...
- Corsair VENGEANCE RGB PRO 16GB (2x8GB) DDR4 3200MHz CMW16GX4M2Z3200C16
- Dell Precision 5570! 4K Touch / i7-12800H / RTX A2000 / 32GB DDR5 / 512GB NVMe! BeszámítOK
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- DJI mini 3 drón display unit
- GAMING PC! i5-12400F / RTX 5060 / 32GB DDR5 / 512GB NVMe / 600w! BeszámítOK
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

