Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Abbiamo giocato a lungo a Battlefield 6, abbiamo provato tutte le modalità multiplayer, Redsec, e le numerose personalizzazioni. In sintesi, ci siamo concentrati su ogni aspetto del titolo per comprendere al meglio uno degli FPS più ambiziosi della storia dei videogiochi e, dopo quasi due mesi, abbiamo tirato le somme. In questo articolo, condividiamo con voi tutto ciò che è Battlefield 6, un gioco che, a nostro avviso, rappresenta esattamente ciò che questo genere attendeva da tempo
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-02-2012, 20:28   #1
dragonhunter89
Senior Member
 
L'Avatar di dragonhunter89
 
Iscritto dal: Jul 2005
Città: Trenton (New Jersey)
Messaggi: 3079
[JAVA]Applet immagine interattiva

Avrei bisogno di "sviluppare" una immagine "interattiva" in java, tramite un applet.
Praticamente dovrei caricare su di una semplice pagina web un immagine, per esempio una planimetri di una stanza, e passando sopra a specifici oggetti/punti visualizzare un popup con delle informazioni. Inoltre avrei bisogno che questi punti siano personalizzabili in fase di esecuzione e non scelti a priori.

Con java e html/css me la cavo abbastanza, solo che qui non saprei da dove iniziare. Ho provato a cercare qualcosa con google, ma non sapendo cosa cercare precisamente non ho trovato nulla.

Gli unici due esempi che ho trovato che potrebbero essermi utili sono:

https://sites.google.com/site/drjohn...ews/graphpanel
http://www.valcon.it/p/JavaAppletImm..._interattiva_2

Qualcuno sa aiutarmi?
dragonhunter89 è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 13:28   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Esattamente cosa non ti torna? Lo chiedo perchè per l'applet (JApplet) basta praticamente pigiare il pulsante in Netbeans e te ne crea una bell'è pronta da riempire ed è praticamente un JPanel con qualche metodo per parlare col browser.

Per l'immagine la questione è aritmetica: pigli l'immagine, la ficchi in una JLabel (ImageIcon) e poi devi andare a interpretarel'input utente (MouseListener) secondo le ragioni del tuo programma.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 13:37   #3
dragonhunter89
Senior Member
 
L'Avatar di dragonhunter89
 
Iscritto dal: Jul 2005
Città: Trenton (New Jersey)
Messaggi: 3079
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Esattamente cosa non ti torna? Lo chiedo perchè per l'applet (JApplet) basta praticamente pigiare il pulsante in Netbeans e te ne crea una bell'è pronta da riempire ed è praticamente un JPanel con qualche metodo per parlare col browser.

Per l'immagine la questione è aritmetica: pigli l'immagine, la ficchi in una JLabel (ImageIcon) e poi devi andare a interpretarel'input utente (MouseListener) secondo le ragioni del tuo programma.
Il problema non è cosa non mi torna, ma che non so proprio come fare. Per rendere meglio l'idea di cosa voglio fare, ecco un esempio

http://www.ikea.com/us/en/catalog/ca...121_lirs03a_01

Qui è realizzato in flash, ed ha anche un sacco di effetti che non mi servono. E possibile fare una cosa un pò più semplice in java?

PS: Utilizzo eclipse al momento.
dragonhunter89 è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 16:31   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Corso applet super-breve.

Questa è un'applet che non fa nulla:

Codice:
package test;

import javax.swing.*;

public class ImageApplet extends JApplet {

}
Compilata e impacchettata in un jar di nome ImageApplet.jar può essere mostrata nella pagina:

Codice:
<html>
<body>
<applet code="test.ImageApplet" archive="ImageApplet.jar" width="600" height="600">
</applet>
</body>
</html>
Sarebbe meglio usare un descrittore jnlp ma funziona anche così.

In quella pagina ImageApplet è il rettangolo di 600x600 pixel. Dentro l'applet ci metti quello che preferisci: è come un JFrame solo che il ciclo vitale è passivo.

Ci ficchiamo dentro un'immagine. Puoi farlo direttamente con l'estensione di JApplet ma siccome oggi ci disegni un'immagine, domani devi aggiungere omnia mundi et quibusdam aliis, il disegno dell'immagine lo fai fare ad un componente separato che poi infili nell'applet:

Codice:
package test;

import java.awt.*;
import java.awt.image.*;
import javax.swing.*;

public class ImageDisplay extends JPanel {
	
	private BufferedImage currentImage = null;

	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		if(currentImage != null) doPaintImage((Graphics2D) g, currentImage);
	}
	
	public void setCurrentImage(BufferedImage image) {
		this.currentImage = image;
		repaint();
	}
	
	public void doPaintImage(Graphics2D g, BufferedImage image) {
		g.drawImage(image, 0, 0, null);
	}
}
Codice:
package test;

import java.awt.*;
import javax.swing.*;

public class ImageApplet extends JApplet {
	
	private ImageDisplay imageDisplay;

	public void start() {
		java.awt.EventQueue.invokeLater(new Runnable() {
				public void run() {
					setupUi();
				}
		});
	}
	
	public void setupUi() {
		imageDisplay = new ImageDisplay();
		add(imageDisplay);
		repaint();
	}
}
Per caricare un'immagine in ImageDisplay possiamo dire:

Codice:
package test;

import java.awt.*;
import java.awt.image.*;
import javax.swing.*;

public class ImageDisplay extends JPanel {
	
	private BufferedImage currentImage = null;

	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		if(currentImage != null) doPaintImage((Graphics2D) g, currentImage);
	}
	
	public void loadImage(java.net.URL url) {
		try {
			BufferedImage image = javax.imageio.ImageIO.read(url);
			setCurrentImage(image);
		} catch(Exception ex) {
			ex.printStackTrace();
		}
	}
	
	public void setCurrentImage(BufferedImage image) {
		this.currentImage = image;
		repaint();
	}
	
	public void doPaintImage(Graphics2D g, BufferedImage image) {
		g.drawImage(image, 0, 0, null);
	}
}
Per sapere da dove caricare l'immagine bisogna vedere come pensi di fare. Se usi un parametro del tag applet nella pagina html puoi dire:

Codice:
<html>
	<body>
		<applet code="test.ImageApplet" archive="ImageApplet.jar" width="600" height="600">
			<param name="default_image" value="image.png"></param>
		</applet>
	</body>
</html>
Nell'applet peschi il parametro e lo usi come percorso relativo dell'ipotetico file:

Codice:
package test;

import java.awt.*;
import javax.swing.*;

public class ImageApplet extends JApplet {
	
	private ImageDisplay imageDisplay;

	public void start() {
		java.awt.EventQueue.invokeLater(new Runnable() {
				public void run() {
					setupUi();
				}
		});
	}
	
	public void setupUi() {
		imageDisplay = new ImageDisplay();
		add(imageDisplay);
		repaint();
		
		String file = getParameter("default_image");
		java.net.URL url = ImageApplet.class.getResource("/" + file);
		imageDisplay.loadImage(url);
	}
}
Qui poi devi vedere tu da dove arrivano i file ma considera che un'applet non firmata carica solo dal server su cui risiede.

Dopodichè devi disegnare i punti. E qui ti servono le iconcine dei punti e le posizioni. Le posizioni puoi passarle come parametri o farle creare all'utente e poi salvarle da qualche parte.

Noti i punti le disegni sull'immagine nel doPaintImage di ImageDisplay. Il comando:

g.drawImage(image, 0, 0, null);

è formalmente:

g.drawImage(un java.awt.image, posizione x, posizione y, trasformazione);

E via così.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 23:32   #5
dragonhunter89
Senior Member
 
L'Avatar di dragonhunter89
 
Iscritto dal: Jul 2005
Città: Trenton (New Jersey)
Messaggi: 3079
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
...
Ottimo. Nei prossimi giorni vedo di fare dei test.

Grazie
dragonhunter89 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
La previsione di CATL: barche elettriche...
Stangata in arrivo: PC e notebook coster...
Lian Li si è inventata il primo a...
Amazon in raptus sconti: ogni 24 ore nov...
44 idee regalo sotto i 50€: con le offer...
Super Sconti Amazon Haul: ribassi fino a...
Cloudflare ha bloccato 416 miliardi di r...
Prezzo mai visto: POCO F7 12/256GB in su...
Svuotano tutto: super sconto su due scop...
Warner-Netflix, l'accordo riaccende le s...
6 robot al prezzo del Black Friday e non...
Russia, i cani randagi diventano hotspot...
Ogni giorno sconti nuovi: oggi iPhone 17...
Non solo Mac: anche alcuni futuri iPhone...
La costruzione del telescopio spaziale N...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v