에서 제대로 문제 자체의 비디오 직사각형/질감의 선택을 해제하는 방법 : 나는 scene2d이 할 수있는 간단한 방법이 알고 https://www.youtube.com/watch?v=cJfFIB3baAg선택하고 클릭
을하지만 난 사각형과 텍스처 변수로이 프로젝트를 만들하기로 결정했습니다 즉, 20 개의 텍스처 (빈 배경이있는 1 ~ 9 개, 행렬 [0] [0]에 표시된 녹색 blackground가있는 1 ~ 9 개)와 20 개의 직사각형이 있으며이 각각은 생성 된 텍스처 변수 중 하나를 나타냅니다. 너도 알다시피, 바로 그 순간에 [0] [0]이 선택되었다.
는 내가하고 싶은 것은, 또 다른 사각형을 선택하여,이 결과로 :
그것은 일어나고있다! 문제는 제가 사각형을 클릭 할 때, 그것을 선택하기 위해 클릭 할 필요가 있다는 것입니다 ... 단지 한 번만하는 대신 2 번 또는 3 번! 그리고 나는 그것이 일어나는 이유를 알아낼 수 없습니다! 여기에 제 코드가 있습니다. 뭔가 이해가되지 않으면 저에게 물어보십시오. 당신이 나를 도울 수 있기를 바랍니다.
@Override
public void render() {
batch.begin();
...(drawing of the matrix)...
if(Gdx.input.isTouched()){
Vector3 touchPos = new Vector3();
touchPos.set(Gdx.input.getX(), Gdx.input.getY(), 0);
camera.unproject(touchPos);
System.out.println(touchPos.x+ " "+touchPos.y);
checkTexture();
}
batch.end();
}
checkTexture() 메소드에는 80 가지 이상의 종류가 있기 때문에 여기서 한 가지 예제 만 제공합니다. (도면의 I는 당신에게 내가하는 일의 9 예 중 하나만주지 방법을 렌더링
public Texture checkTexture() {
int number=0;int x=0,y=0;
Vector3 touchPos = new Vector3();
touchPos.set(Gdx.input.getX(), Gdx.input.getY(), 0);
camera.unproject(touchPos);
int lastX=0,lastY=0;
if((touchPos.x>=125 && touchPos.x<=164) && (touchPos.y>=400 && touchPos.y<=440)){
number=matrix[0][0];x=125;y=400;lastX=currentX;lastY=currentY;squares[lastX][lastY]=false;currentX=0;currentY=0;squares[currentX][currentY]=true;
}
return associateImage(number,x,y);
}
Here are the selected textures
public Texture associateImage(int n,int x,int y) {
Texture t=null;
switch(n) {
case 1: t=numberOneSEL;break;
case 2: t= numberTwoSEL;break;
case 3: t= numberThreeSEL;break;
case 4: t= numberFourSEL;break;
case 5: t= numberFiveSEL;break;
case 6: t= numberSixSEL;break;
case 7: t= numberSevenSEL;break;
case 8: t= numberEightSEL;break;
case 9: t= numberNineSEL;break;
case 10: t= emptySquareSEL;break;
}
batch.draw(t, x, y);
return t;
}
그리고 다음에 ...; X 및 Y 변수는 associateImage()에 batch.draw에 사용되는 80은 선택되지 않음)
@Override
public void render() {
...batch.begin()...
for(x=0;x<matrix.length;x++){
for(y=0;y<matrix.length;y++){
switch(matrix[x][y]){
case 1:
if(squareCounter==9) {squareCounter=0;startingX=125;startingY-=40;numberOneR.x=startingX;numberOneR.y=startingY; }
numberOneR.setX(startingX);numberOneR.setY(startingY);
if(squares[x][y]==false)
batch.draw(numberOne, numberOneR.x, numberOneR.y);
squareCounter++;
startingX+=40;
numberOneR.x=startingX;
break;
...
}
onTouchDown 또는 onTouchUp을 사용하려면 무엇을 가져와야합니까? – pMpC