2013-04-23 3 views
0

나만의 레이어를 만들 수 있습니까? 처럼 :자바 자신 만의 레이어 만들기

public class MyLayer extends javax.microedition.lcdui.game.Layer{ 
(...) 
} 

나는 오류 얻을 : ". 레이어() 계층에 공개하지 않습니다, 패키지 외부에서 액세스 할 수 없습니다"

저는 2D 그래픽 (import javax.microedition.lcdui.Graphics)을 그리고 그 위에 Sprite coursor를 그리기를 원했습니다. 그래픽은 대부분 정적이므로 매번 그릴 필요가 없습니다. 그래서 layerManager가 도움이 될 것이라고 생각하지만 Sprite 또는 TiledLayer가 될 필요가 있습니다. 내 자신의 레이어를 만들면 문제가 해결됩니다.

+0

javax.microedition.lcdui.game을 가져 왔습니까? –

답변

1

Layerjavax.microedition.lcdui.game 패키지 외부의 확장을 위해 설계되지 않았습니다. 이에 대한 오류 메시지는 분명합니다.
그러나 TiledLayer 또는 Sprite까지 확장 할 수 있습니다.

업데이트 (의견 @bartholomew-surma가 가리키는)

두 클래스에 paint 방법은 최종으로 내 위의 진술이 잘못되었습니다. 또 다른 접근법은 Image이라는 메서드를 호출하고 getGraphics 메서드를 호출하고 2D 그래픽을 그려서 마지막으로 스프라이트를 페인트하는 것입니다.

+0

TiledLayer와 Sprite의 페인트 메소드는 모두 final이며 그래픽을 페인트 할 수 없습니다. –

관련 문제