2016-06-14 2 views
1

현재 slick2D로 java 프로그램을 작성 중이며 마우스 커서를 변경하려고하지만 다운로드 한 이미지를 사용하고 싶지 않습니다. 마우스 커서를 시스템 커서 중 하나로 변경하는 방법이 있습니까?lwjgl/slick2D의 시스템 마우스 커서 (예 : Cursor.TEXT_CURSOR)를 사용하는 방법

+0

LWJGL2 또는 LWJGL3을 지정하십시오. – RecursiveExceptionException

+0

LWJGL2를 사용하고 있습니다. – benny3543

+0

이 질문에 -1을받은 이유가 확실하지 않습니다. 그것은 매우 직접적이고 이해하며 대답할만한 질문입니다. –

답변

1

당신은 디스플레이의 인스턴스를 얻기 위해 시도하여의 커서를 변경할 수 있습니다 : 당신은 또한 JFrameLWJGL 디스플레이를 장착 한 후 커서를 바꿀 수

Display.setCursor(Cursor.WAIT_CURSOR); 

.

0

일반적으로 시스템 마우스 커서는 C : \ Windows \ Cursors에 저장되므로이 폴더에 액세스하여 파일을 사용할 수 있어야합니다. (Windows를 사용하는 경우 OS와 채팅 할 필요가 있습니다.)

Slick2D 설명서를 살펴보면 문제에 대한 기능이 이미 있음을 알 수 있습니다.

void setMouseCursor(org.lwjgl.input.Cursor cursor, int hotSpotX, int hotSpotY) 

void setMouseCursor(ImageData data, int hotSpotX, int hotSpotY) 

void setMouseCursor(Image image, int hotSpotX, int hotSpotY) 

void setMouseCursor(java.lang.String ref, int hotSpotX, int hotSpotY) 

http://slick.ninjacave.com/javadoc/org/newdawn/slick/AppGameContainer.html

그래서 당신은 당신의 appcontainer에서 이러한 방법 중 하나를 사용하여 커서를 설정할 수 있어야한다.

Windows 폴더에있는 .cur 파일에서 직접 새 이미지를 만들 수 있는지 여부는 잘 모르겠습니다. 확인해야합니다. 즉,

app.SetMouseCursor(new Image("C\Windows\Cursors\aero_link.cur")) 

은 아마도 작동하지 않습니다.

org.lwjgl.input.Cursor Cursor를 처음으로 사용하는 것은 분명히 작동해야합니다. 매개 변수가 org.lwjgl.input.Cursor Cusor 개체 (http://legacy.lwjgl.org/javadoc/org/lwjgl/input/Cursor.html)

을 구성하기위한 requiered된다 해명 여기를 참조하십시오

최악의 경우는 당신이 그것을로드하기 전에 JPG 또는 PNG 파일로 .CUR 파일을 변환 할 필요가있을 것이다 또는 어쩌면 Windows에서 사용 가능한 이미지 파일 인 .cur 파일을 어딘가에 저장했습니다.

AppGameContainer apgcc = new AppGameContainer() 
apgcc.setCursor(new Cursor(Cursor.MOVE_CURSOR)); //e.g. or AppGameContainer in case you are not programming an Applet. 

내가 생각 시스템 커서로 정말이 생각하지 않는 게 좋을 :


이 경우에는 내가 다음과 같이 간단하게 할 수있는 질문을 missunderstood.