Forums GAMERGEN

[TUTO] Réaliser un HelloWorld en BD-J (Débutant)

[TUTO] Réaliser un HelloWorld en BD-J (Débutant)

Message non lupar DrEB » 04 Sep 2008, 06:41

Explications détaillées sur la réalisation d'un HelloWorld en BD-J, destinés aux débutants ;)

/!\ Pour l'installation des logiciels requis, voir le tutorial précédent ICI

/!\ Je vous conseil aussi l'installation de PSPad (site officiel) comme éditeur de texte plutôt que le bloc-notes. Télécharger le ICI


/CREATION DES DOSSIERS ET DU FICHIER JAVA/


Il faut commencer par créer les dossiers pour l'utilisation du SDK.
Pour cela, il faut aller dans le répertoire "C:\Program Files\Java\jdk1.6.0_07\bin\" et créer un dossier "root".

Image

Dans le dossier "root", créer un nouveau répertoire nommé "org" et enfin dans "org", créer un répertoire appelé "homebrew".

Image

Dans ce dossier "homebrew", créer un nouveau document texte et renommé MyXlet.java (penser à renommer l'extension du fichier).

Image

Ouvrir le fichier avec votre éditeur de texte (dans ce tutorial j'utilise PSPad mais le bloc-notes peut convenir parfaitement).


/CODE ET EXPLICATIONS/


Le code est donné dans l'ordre de saisie, avec les explications correspondantes.

Code: Select All Code
package org.homebrew;


Indique l'emplacement du ou des fichiers .java de notre projet. Ceux-ci doivent toujours être placés dans un répertoire "homebrew", lui même placé dans un répertoire "org", lui même placé dans un répertoire "root" situé dans "C:\Program Files\Java\jdk1.6.0_07\bin\".


Code: Select All Code
import java.awt.*;
import java.awt.event.*;
import javax.tv.xlet.*;
import org.havi.ui.*;


Importation des classes pour l'affichage du texte et de l'écran. Plus d'informations sur ces classes :
java.awt.*
java.awt.event.*
javax.tv.xlet.*
org.havi.ui.*


Code: Select All Code
public class MyXlet extends Component implements Xlet{


Création de la classe MyXlet (Nom du fichier java) et implémentassions du Xlet. Pour plus d'informations sur les Xlet voir ICI


Code: Select All Code
private HScene scene;


On déclare une variable appelée "scene" de type HScene pour y stocker les paramètres de l'écran.


Code: Select All Code
public void initXlet(XletContext context){


On initialise le Xlet


Code: Select All Code
scene=HSceneFactory.getInstance().getBestScene(new HSceneTemplate());


On paramètre la scene avec le meilleur affichage possible. Pour plus d'informations sur la classe HsceneFactory, voir ICI


Code: Select All Code
setBounds(45,30,1830,1020);


L'utilisation de la méthode setBounds permet de régler les problèmes d’overscan en décalant l'écran. La taille réel de l'écran affiché sera de 1830 sur 1020 pixels. Si l'affichage n'est pas correct, voici les valeures par défaut : (0,0,1920,1080). Plus d'information sur cette classe ICI et à la fin du tutorial.


Code: Select All Code
scene.add(this);
scene.setVisible(true);
requestFocus();
repaint();
}


Permet l'affichage de la scene à l'écran.


Code: Select All Code
public void startXlet(){}
public void pauseXlet(){}
public void destroyXlet(boolean unconditional){}


On démarre le Xlet, on l'arrête et on le détruit.


Code: Select All Code
public void paint(Graphics g){


On utilise la méthode paint et la classe de dessin Graphics. Cette méthode permet d'afficher du texte, mais aussi toutes les formes possibles de dessins (lignes, ronds, carrés, etc..). Plus d'information sur cette classe ICI


Code: Select All Code
g.setColor(Color.red);


La méthode setColor permet de donner une couleur à l'élément qui le suit. Plus d'informations sur cette classe à la fin du tutorial.


Code: Select All Code
g.drawString("Mon premier programme en BD-J!!",600,100);


La méthode drawString permet d'afficher du texte à une position donnée. Plus d'informations sur cette classe à la fin du tutorial.


Code: Select All Code
}
}


Il faut toujours penser à fermer les parenthèses ou les accolades que l'on à ouvert.

Voila, vous pouvez sauvegarder, le fichier est terminé et doit ressembler à cela

Code: Select All Code
package org.homebrew;
   
import java.awt.*;
import java.awt.event.*;
import javax.tv.xlet.*;
import org.havi.ui.*;

public class MyXlet extends Component implements Xlet{
private HScene scene;
public void initXlet(XletContext context){
scene=HSceneFactory.getInstance().getBestScene(new  HSceneTemplate());
setBounds(45,30,1830,1020);
scene.add(this);
scene.setVisible(true);
requestFocus();
repaint();
}

public void startXlet(){}
public void pauseXlet(){}
public void destroyXlet(boolean unconditional){}

public void paint(Graphics g){
g.setColor(Color.red);
g.drawString("Mon premier programme en BD-J!!",600,100);
    }
}



/COMPILATION/


Maintenant que le fichier est prêt, il faut le compiler. Pour cela, il faut créer un fichier texte dans le répertoire "C:\Program Files\Java\jdk1.6.0_07\bin\". Ouvrir le document et y mettre ce texte :

Code: Select All Code
@echo off

if exist 00000.jar echo Deleting old JAR && del /q 00000.jar
if exist C:\bdj-ps3\common\sig\00000.jar del /q C:\bdj-ps3\common\sig\00000.jar
echo Compiling && javac -source 1.3 -target 1.3 -cp C:\bdj-ps3\common\bdj.jar root\org\homebrew\*.java && echo Copying permissions file to work area && copy C:\bdj-ps3\common\bluray.MyXlet.perm root\org\homebrew && echo Building new JAR && jar cf 00000.jar -C root . && echo Moving JAR to signing area && echo y | copy 00000.jar C:\bdj-ps3\common\sig\00000.jar && echo Signing JAR && pushd C:\bdj-ps3\common\sig && sign 00000.jar && popd && echo Copying signed JAR back to work area && echo y | copy C:\bdj-ps3\common\sig\00000.jar . && echo Finished.
:pause


Comme ceci :

Image

Enregistrer et renommer le fichier "build.bat" (ne pas oublier de modifier l'extension)

Image

Enfin, lancer-le, une fenêtre DOS devrait alors s'ouvrir un bref instant

Image

Les sources sont maintenant compilées dans un fichier "00000.jar" dans le dossier "C:\Program Files\Java\jdk1.6.0_07\bin\" (La taille de mon fichier est plus important c'est normal, ce sont les screenshots de l'autre tutorial)

Image

Il faut copier ce fichier "00000.jar" dans le dossier "C:\bdj-ps3\disc files\AVCHD\BDMV\JAR\"

Image

Enfin, copier le dossier "AVCHD" à la racine de votre clé USB et votre homebrew est près à être lancer.

Image


/SYNTAXES DES METHODES/


REGLER LA TAILLE DE L’ECRAN - setBounds

Code: Select All Code
setBounds(x,y,L,H);


x = decalage horizontal en pixel(s)
y = decalage vertical en pixel(s)
L = Largeur de l’ecran en pixels
H = Hauteur de l’écran en pixels


APPLIQUER UNE COULEUR A UN ELEMENT - setColor

Premiere méthode, avec le nom de la couleur :

Code: Select All Code
g.setColor(Color.X);


X = Nom de la couleur à afficher

Deuxième méthode, avec le code RGB :

Code: Select All Code
g.setColor(new Color(x, x, x));


x = entier entre 0 et 255

Noms et codes RGB des couleurs
Liste des plus utilisées ICI et une peu plus complète LA


AFFICHER DU TEXTE - drawString

Code: Select All Code
g.drawString("Mon texte",x,y) ;


"Mon texte" = Mettre le texte à afficher entre guillemets
x = position horizontale en pixel(s)
Y = position verticale en pixel(s)


Dans le prochain tutorial nous verrons comment dessiner des formes géometriques.
Si vous avez des questions, commmentaires,... n'hesitez pas ;)
DrEB Gamer Maitre
Gamer Maitre
Messages: 293
Inscription: 20 Aoû 2010, 18:21
Pays: France

Re : [TUTO] Réaliser un HelloWorld en BD-J (Débutant)

Message non lupar jordanm71 » 04 Sep 2008, 17:40

cool bonne initiative pour les débutants  ;) Merci
Iphone 4 16 Go.
jordanm71 Gamer Hardcore
Gamer Hardcore
Messages: 820
Inscription: 06 Juil 2010, 20:44
Pays: France
Sexe: Homme

Re : [TUTO] Réaliser un HelloWorld en BD-J (Débutant)

Message non lupar Playgen » 04 Sep 2008, 18:06

Excellent tuto et très bonne initiative,

Merci pour ce tuto accessible aux débutant en java !
Playgen Gamer Pro
Gamer Pro
Messages: 110
Inscription: 30 Déc 2008, 21:59

Re : [TUTO] Réaliser un HelloWorld en BD-J (Débutant)

Message non lupar yassin93 » 17 Jan 2009, 22:28

Sa sert a quoi exactement un HelloWorld
yassin93 Gamer Averti
Gamer Averti
Messages: 56
Inscription: 25 Jan 2009, 16:43

Re : [TUTO] Réaliser un HelloWorld en BD-J (Débutant)

Message non lupar madbo936 » 17 Jan 2009, 23:15

lancé du code non-signée sony (du moins le prouvé) , sa affiche sur ton ecran "hello word" qui veut dire "bonjour les gens" !!!

mais sa ne marche plus depuis le firmware 2.50
PS3 Fat 80 Go
PSVita 16Go
madbo936 Gamer Argent
Gamer Argent
Messages: 3885
Inscription: 05 Jan 2009, 00:53

Re : [TUTO] Réaliser un HelloWorld en BD-J (Débutant)

Message non lupar yassin93 » 17 Jan 2009, 23:27

Donc si on est en 2.10 ont peut lancé du code non signé c'est a dire joué au jeux ps3 et au homebrews ?
yassin93 Gamer Averti
Gamer Averti
Messages: 56
Inscription: 25 Jan 2009, 16:43

Re : [TUTO] Réaliser un HelloWorld en BD-J (Débutant)

Message non lupar madbo936 » 18 Jan 2009, 00:11

yassin93 Wrote:Donc si on est en 2.10 ont peut lancé du code non signé c'est a dire joué au jeux ps3
bah avec tout les firmware on peut joué au jeux ps3  ;D

Oui avec le 2.10 tu peux joué ou lancé des homebreaw quelques emulateure etc quelque recherche t'aurais trouvé
PS3 Fat 80 Go
PSVita 16Go
madbo936 Gamer Argent
Gamer Argent
Messages: 3885
Inscription: 05 Jan 2009, 00:53

Re : [TUTO] Réaliser un HelloWorld en BD-J (Débutant)

Message non lupar yassin93 » 18 Jan 2009, 10:35

Quand je dit joué au jeux je parle sans le CD biensur ...
yassin93 Gamer Averti
Gamer Averti
Messages: 56
Inscription: 25 Jan 2009, 16:43

Re : Re : [TUTO] Réaliser un HelloWorld en BD-J (Débutant)

Message non lupar madbo936 » 18 Jan 2009, 19:39

yassin93 Wrote:Quand je dit joué au jeux je parle sans le CD biensur ...


A sa tu pense a des jeux iso enfaite , bah non car pour le moment il y a pas de faille , pas d'iso loader "concret" donc on ne peut pas joué au jeu telecharger et autre il faut obligatoirement un CD sauf si tu achete sur le store biensur
PS3 Fat 80 Go
PSVita 16Go
madbo936 Gamer Argent
Gamer Argent
Messages: 3885
Inscription: 05 Jan 2009, 00:53


 

Retourner vers Tutoriels