Bonjour,

j'ai écris une classe "sprite" et comme elle peux être utile dans plusieurs programmes (spécialement les jeux), j'aimerai la mettre dans un package (dans lequel je rajouterai également d'autres classes utiles), mais j'ai regardé sur le web et ai essayé plusieurs méthodes mais jusque-là je n'ai rien obtenu de satisfaisant (sûrement ma faute, je suppose), alors voilà:

j'excecute l'invite de commande depuis le dossier dans lequel se trouve "javac.exe", c'est-à-dire: "D:\utilitaires\JDK (pour java)\jdk\bin"

ma classe "sprite" se trouve à: "D:\NET\Jclasses\sprite"

et si possible j'aimerai que tout se qui se trouve sous "Jclasses" soit accessibles via la méthode "import", je sais pas si c'est possible.


j'ai essayé "javac -classpath D:\NET\Jclasses\sprite sprite.java" / "javac -classpath D:\NET\Jclasses\sprite\sprite.java" / "javac -classpath \..\..\..\..\NET\Jclasses\sprite sprite.java" / "javac -classpath \..\..\..\..\NET\Jclasses\sprite\sprite.java"

mais tous me renvoient des erreurs, j'ai cherché pas mal de temps et posé la question sur divers forums, mais jusque-là j'ai pas réussi à comprendre comment ça marche. Merci d'avance à celle/celui qui pourra m'aider (désolé pour la longueur du message, c'est pour que vous ayez un maximum d'informations)

ma classe sprite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
package Jclasses.sprite;
 
import java.awt.*;
import java.lang.Math;
 
class sprite{
 
	private Image imageSprite=null;
	private int posX=0, posY=0, sizeX=0, sizeY=0, speedX, speedY, margeX, margeY, marge;
 
//initialise le sprite
	public sprite(Image image, int PX, int PY, int SX, int SY){
		imageSprite=image;
		sizeX=SX; sizeY=SY;
		posX=PX; posY=PY;
	}
 
	public sprite(Image image, int PX, int PY, int SX, int SY, int spX, int spY){
		imageSprite=image;
		sizeX=SX; sizeY=SY;
		posX=PX; posY=PY;
		speedX=spX; speedY=spY;
	}
 
	public sprite(int PX, int PY, int SX, int SY){
		sizeX=SX; sizeY=SY;
		posX=PX; posY=PY;
	}
 
	public sprite(int PX, int PY, int SX, int SY, int spX, int spY){
		sizeX=SX; sizeY=SY;
		posX=PX; posY=PY;
		speedX=spX; speedY=spY;
	}
 
 
//les méthodes SET
	public void setImage(Image image){
		imageSprite=image;
	}
	public void setPos(int X, int Y){
		posX=X; posY=Y;
	}
	public void setSize(int X, int Y){
		sizeX=X; sizeY=Y;
	}
	public void setPosX(int X){posX=X;}
	public void setPosY(int Y){posY=Y;}
	public void setSizeX(int X){sizeX=X;}
	public void setSizeY(int Y){sizeY=Y;}
 
	public void setSpeedX(int X){speedX=X;}
	public void setSpeedY(int Y){speedY=Y;}
 
 
//les méthodes GET
	public Image getImage(){
		return imageSprite;
	}	
	public int getSizeX(){return sizeX;}
	public int getSizeY(){return sizeY;}
	public int getPosX(){return posX;}
	public int getPosY(){return posY;}
 
	public int getSpeedX(){return speedX;}
	public int getSpeedY(){return speedY;}
 
	public int getArea(){
	return (sizeX*sizeY);
	}
//les méthode move
	public void move(int X, int Y){
		posX+=X; posY+=Y;
	}
 
	public void moveX(int X){
		posX+=X;
	}
 
	public void moveY(int Y){
		posY+=Y;
	}
 
	public void move(){
		posX+=speedX; posY+=speedY;
	}
 
	public void moveX(){
		posX+=speedX;
	}
 
	public void moveY(){
		posY+=speedY;
	}
 
//les méthodes checkCollision qui renvoient true s'il y a une collision ou sinon false
	public boolean checkCollision(sprite Sprite){
		if(posX+sizeX<=Sprite.getPosX() || posX>=Sprite.getPosX()+Sprite.getSizeX() || posY+sizeY<=Sprite.getPosY() || posY>=Sprite.getPosY()+Sprite.getSizeY()){
			return false;
		}
		else{return true;}
	}
 
	public boolean checkCollision(int PX, int PY, int SX, int SY){
		if(posX+sizeX<=PX || posX>=PX+SX || posY+sizeY<=PY || posY>=PY+SY){
			return false;
		}
		else{return true;}
	}
 
//les méthodes checkCollisionExt qui renvoient quelle partie du sprite cible est touchée
	public String checkCollisionExt(sprite Sprite, int V){
		if(!(posX+sizeX<Sprite.getPosX() || posX>Sprite.getPosX()+Sprite.getSizeX() || posY+sizeY<Sprite.getPosY() || posY>Sprite.getPosY()+Sprite.getSizeY())){
			if(posX+sizeX-V<=Sprite.getPosX()){return "left";}
			if(posX+V>=Sprite.getPosX()+Sprite.getSizeX()){return "right";}
			if(posY+sizeY-V<=Sprite.getPosY()){return "top";}
			if(posY+V>=Sprite.getPosY()+Sprite.getSizeY()){return "bottom";}
		}
		else{return "null";}
		return "null";
	}
 
	public String checkCollisionExt(sprite Sprite){
		if(!(posX+sizeX<Sprite.getPosX() || posX>Sprite.getPosX()+Sprite.getSizeX() || posY+sizeY<Sprite.getPosY() || posY>Sprite.getPosY()+Sprite.getSizeY())){
			margeX=Math.abs(speedX)+Math.abs(Sprite.getSpeedX()); margeY=Math.abs(speedY)+Math.abs(Sprite.getSpeedY());
 
			if(posX+sizeX-margeX<=Sprite.getPosX()){return "left";}
			if(posX+margeX>=Sprite.getPosX()+Sprite.getSizeX()){return "right";}
			if(posY+sizeY-margeY<=Sprite.getPosY()){return "top";}
			if(posY+margeY>=Sprite.getPosY()+Sprite.getSizeY()){return "bottom";}
		}
		else{return "null";}
		return "null";
	}
 
 
 
	public String checkCollisionExt(int PX, int PY, int SX, int SY, int VS, int VO){
		if(!(posX+sizeX<PX || posX>PX+SX || posY+sizeY<PY || posY>PY+SY)){
		marge=Math.abs(VS)+Math.abs(VO);
			if(posX+sizeX-marge<=PX){return "left";}
			if(posX+marge>=PX+SX){return "right";}
			if(posY+sizeY-marge<=PY){return "top";}
			if(posY+marge>PY+SY){return "bottom";}
		}
		else{return "null";}
		return "null";
	}
 
	public String checkCollisionExt(int PX, int PY, int SX, int SY, int V){
		if(!(posX+sizeX<PX || posX>PX+SX || posY+sizeY<PY || posY>PY+SY)){
		margeX=Math.abs(speedX)+V; margeY=Math.abs(speedY)+V;
			if(posX+sizeX-margeX<=PX){return "left";}
			if(posX+margeX>=PX+SX){return "right";}
			if(posY+sizeY-margeY<=PY){return "top";}
			if(posY+margeY>PY+SY){return "bottom";}
		}
		else{return "null";}
		return "null";
	}
 
}//fin class sprite
PS: je sais pas s'il faut mettre "public class" ou pas. Mais même en rajoutant ça ne change rien.