2012-07-16 3 views
0

Slick Graphics API의 기본 글꼴을 바꾸어서 쓰고있는 게임의 제목을 단순히 그릴 수는 있지만 작동하지 않는 것 같습니다 (doesn 아무 것도 쓰지 않고 화면을 비워 두는 것). 표준 Java 글꼴 (Verdana) 중 하나를 사용하고 싶습니다.Slick Graphics API의 기본 글꼴 변경

http://slick.javaunlimited.net/viewtopic.php?t=3508

: 나는이 웹 사이트의 하단에있는 코드를 사용하고 자신을 수많은 시도 후

import java.awt.Font; 

import org.newdawn.slick.AppGameContainer; 
import org.newdawn.slick.BasicGame; 
import org.newdawn.slick.Color; 
import org.newdawn.slick.GameContainer; 
import org.newdawn.slick.Graphics; 
import org.newdawn.slick.SlickException; 
import org.newdawn.slick.UnicodeFont; 

public class Controller extends BasicGame { 
UnicodeFont uFont; 

@Override 
public void render(GameContainer container, Graphics g) throws SlickException { 
    g.setFont(uFont); 
    g.setColor(Color.white); 
    g.drawString("Hello World!", 50, 50); 
} 

@Override 
public void init(GameContainer container) throws SlickException { 
    //Set font 
    Font font = new Font("Serif", Font.PLAIN, 20); 
    uFont = new UnicodeFont(font, font.getSize(), font.isBold(), font.isItalic()); 
} 

/** 
* @param args 
* @throws SlickException 
*/ 
public static void main(String[] args) throws SlickException { 
    //Set up application 
    Controller c = new Controller("Tetris"); 
    AppGameContainer app = new AppGameContainer(c); 
    app.setDisplayMode(500, 800, false); 

    //Start application 
    app.start(); 
} 
} 

: 여기

내가 글꼴을 설정하기 위해 사용하고있는 코드입니다

내 질문은 : 어떻게 슬릭에서 기본 글꼴을 변경할 수 있으며, 내 게임의 제목에 대한 그 글꼴로 화면에 텍스트를 그립니다.

답변

1

Slick-Util은 글꼴을로드하기 위해 Java의 내장 글꼴 지원을 사용합니다. 기본 내장 Java 글꼴을 사용하거나 외부 ttf 파일을로드 할 수 있습니다.

글꼴은 slick의 TrueTypeFont class을 통해 저장되고 그려집니다.

것은 ninjacave에서이 코드를 참조하십시오 :이 사이트에

더 상세보기를 위해
TrueTypeFont font; 
TrueTypeFont font2; 

public void init() { 
    // load a default java font 
    Font awtFont = new Font("Times New Roman", Font.BOLD, 24); 
    font = new TrueTypeFont(awtFont, false); 

    // load font from a .ttf file 
    try { 
     InputStream inputStream = ResourceLoader.getResourceAsStream("myfont.ttf"); 

     Font awtFont2 = Font.createFont(Font.TRUETYPE_FONT, inputStream); 
     awtFont2 = awtFont2.deriveFont(24f); // set font size 
     font2 = new TrueTypeFont(awtFont2, false); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

:

http://ninjacave.com/slickutil1

+0

정말 감사합니다! 그것은 잘 작동하지만, 감가 상각 경고를받습니다. 그것들을 피하는 어떤 방법이라도? – GravityScore

+0

이클립스에서 코딩하는 경우, 더 이상 사용되지 않는 메소드에 마우스 포인터를 올려 놓으면 새로운 대안을 볼 수 있습니다 ... 자바 문서에서 더 자세한 정보를 볼 수 있습니다. –

+0

그것은 대안이'UnicodeFont'라고 말합니다. 그래서 이걸 사용하려고했는데 오 ... 음,'TrueTypeFont'가 제거 될 때 걱정할 것입니다 : P – GravityScore