jMonkeyEngine e IntelliJ IDEA: ecco come fare

si dà il caso che io oltre ad essere un esteta della programmazione, sia anche piuttosto pignolo sui vari  IDE che ci sono in giro. Per questo motivo, se non ho unIDE che mi soddisfa appieno, non riesco a scrivere codice con tranquillità. Ora, siccome sto inziando a fare due test con jMonkeyEngine (io e Alex stiamo valutando di sviluppare un nuovo titolo 3D per la PlayOn), avevo bisogno di un IDE Java che soddisfasse appieno il mio innato edonismo. Per questo motivo, dopo aver scartato subito Eclipse, che francamente giudico osceno, e che ogni volta installo e poi RIMUOVO al volo, e scartando anche NetBeans, che sono disposto ad usare solo se devo sviluppare un’applicazione con le Swing (infatti ha un ottimo editor per le UI)… alla fine la scelta più comoda è caduta su IntelliJ IDEA, che usavo con estrema goduria già nel 2000, quando sviluppavo JSP e JavaBeans, e che ancora oggi non fa che darmi grosse soddisfazioni (non a caso il motto del software è develop with pleasure ).

Ma andiamo a vedere come far convivere tranquillamente IntelliJ IDEA e jMonkeyEngine:

  • innanzitutto scaricate lo snapshot build di jMonkeyEngine da qui, e scompattatelo da qualche parte (è un .zip contenente tutto il progetto jME, sources inclusi) ;
  • quindi scaricate IntelliJ IDEA da qui. OVVIAMENTE va benissimo la versione “community edition”, free ed opensource (che lo dico a fare… :D);
  • fatto ciò, lanciate IDEA, create un nuovo progetto, quindi selezionate File -> Project Structure. In pratica dobbiamo semplicemente creare una nuova global library di dipendenze, che potremo riutilizzare anche per altri progetti;
  • dal primo listview a sinistra selezioniamo “Global Libraries”, quindi clicchiamo sul bottoncino “+” in cima alla seconda listview, come nome diamo, ad esempio “jME”, e siamo pronti per definire le classi che questa libreria dovrà contenere;
  • per aggiungere i jar di jMonkeyEngine alla libreria, clicchiamo su “Attach Classes…”, e andiamo a selezionare *tutti* i jar presenti nelle directory lib/, lib/lib/jorbis/ e lib/lib/lwjgl della snapshot di jMonkeyEngine, come si può vedere dallo shot di seguito:
  • fatto ciò, selezioniamo dal primo listview a sinistra “Modules” sotto “Project Settings”, e quindi la tab “Dependencies” nel panel a destra. Quindi clicchiamo sul bottone “Add…” a destra, e dal popup che ne risulta, scegliamo “Global Library…”. Si aprirà un dialog dal quale potremo selezionare la global library che abbiamo creato poc’anzi (“jME”);

A questo punto siamo pronti per scrivere qualche simpatica riga di codice:

  • tasto destro sulla dir “src” nella treeview del progetto, quindi New -> Java Class, e la chiamiamo fantasiosamente “HelloWorld”;
  • andiamo sul wiki di jMonkeyEngine, e prendiamo, per semplicità, il codice dello “Starter Tutorial 1”;
  • sostituiamo tutto il codice della nostra classe appena creata, con il codice preso dal sito;

…a questo punto saremmo pronti a lanciare l’applicazione. Ma scopriremmo che, se provassimo a lanciarla, java terminerebbe con una exception. In pratica ciò è dovuto al fatto che l’interprete non è in grado di trovare la libreria nativa di lwjgl. Per ovviare a questo problema,

  • dalla combobox delle configurazioni di Run/Debug (sulla toolbar, in alto, prima della freccina verde “Run”), selezioniamo “Edit configurations”, e per la configurazione attuale inseriamo nel textbox “VM Parameters” il parametro -Djava.library.path seguito dal path della directory contenente la lib dinamica di lwjgl. Nel mio caso:
-Djava.library.path=/home/ultimoistante/Development/[GameProgramming]/jME2_0_1-Stable/lib/lib/lwjgl/native/linux

e finalmente siamo pronti. Ora possiamo lanciare tranquillamente la nostra applicazione, e iniziare a goderci jMonkeyEngine.

Have fun!

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...