| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 
 | //////////////CODE//////////////
class Siege {
	private Frame motherApp;
	private Vector3f vect;
	public Siege(Frame motherApp, Vector3f vect) {
		this.motherApp = motherApp;
		this.vect = vect;
	}
	private Appearance mkAppWithTexture(String textureName) {
		Appearance app = new Appearance();
		TextureLoader loader = new TextureLoader(textureName, motherApp);
		ImageComponent2D image = loader.getImage();
		Texture2D texture = new Texture2D(Texture.BASE_LEVEL, Texture.RGBA,
				image.getWidth(), image.getHeight());
		texture.setImage(0, image);
		texture.setEnable(true);
		texture.setMagFilter(Texture.BASE_LEVEL_LINEAR);
		texture.setMinFilter(Texture.BASE_LEVEL_LINEAR);
		app.setTexture(texture);
		app.setTextureAttributes(new TextureAttributes());
		return app;
	}
	public BranchGroup createSiege() {
		BranchGroup myScene = new BranchGroup();
		Transform3D tr3d = new Transform3D();
		tr3d.setTranslation(vect);
		TransformGroup tg = new TransformGroup(tr3d);
		Appearance LOGOApp = mkAppWithTexture("M:/workspace/FirstAppletCLT/src/LOGO.gif");
		// on crée une apparence de couleur bleue
		Appearance app_bleu = new Appearance();
		ColoringAttributes bleu = new ColoringAttributes();
		bleu.setColor(0.1f, 0.1f, 1.0f);
		// on precise le rendu
		bleu.setShadeModel(ColoringAttributes.NICEST);
		app_bleu.setColoringAttributes(bleu);
		// on crée un vecteur de translation 30 cm suivant les Y (dans l'autre
		// sens)
		Transform3D translate3 = new Transform3D();
		translate3.set(new Vector3f(-0.4f, 0.4f, 0.0f));
		// on crée un groupe de transformation TG3 suivant la matrice de
		// transformation translate3
		TransformGroup TG3 = new TransformGroup(translate3);
		// on crée un cube qui herite de cette rotation
		TG3.addChild(new Box(0.3f, 0.1f, 0.4f, Box.GENERATE_TEXTURE_COORDS,
				LOGOApp));
		// on crée un vecteur de translation 30 cm suivant les Y (dans l'autre
		// sens)
		Transform3D translate = new Transform3D();
		translate.set(new Vector3f(0.0f, 1.0f, -0.5f));
		// on crée un groupe de transformation TG3 suivant la matrice de
		// transformation translate3
		TransformGroup TG = new TransformGroup(translate);
		// on crée un cube qui herite de cette rotation
		TG.addChild(new Box(0.1f, 0.6f, 0.4f, Box.GENERATE_TEXTURE_COORDS,
				LOGOApp));
		// on crée un vecteur de translation 30 cm suivant les Y (dans l'autre
		// sens)
		Transform3D translate4 = new Transform3D();
		translate4.set(new Vector3f(-0.6f, 0.0f, -0.5f));
		// on crée un groupe de transformation TG3 suivant la matrice de
		// transformation translate3
		TransformGroup TG4 = new TransformGroup(translate4);
		// on crée un cube qui herite de cette rotation
		TG4.addChild(new Box(0.05f, 0.3f, 0.2f, Box.GENERATE_TEXTURE_COORDS,
				app_bleu));
		// on crée un vecteur de translation 30 cm suivant les Y (dans l'autre
		// sens)
		Transform3D translate5 = new Transform3D();
		translate5.set(new Vector3f(-0.2f, 0.0f, -0.5f));
		// on crée un groupe de transformation TG3 suivant la matrice de
		// transformation translate3
		TransformGroup TG5 = new TransformGroup(translate5);
		// on crée un cube qui herite de cette rotation
		TG5.addChild(new Box(0.05f, 0.3f, 0.2f, Box.GENERATE_TEXTURE_COORDS,
				app_bleu));
		tg.addChild(TG3);
		tg.addChild(TG);
		tg.addChild(TG4);
		tg.addChild(TG5);
		myScene.addChild(tg);
		myScene.compile();
		return myScene;
	}
} | 
Partager