LoginSignup
4
6

More than 5 years have passed since last update.

SKLabelNodeにカスタムフォントを設定する

Posted at

Sprite Kit の SKLabelNode にカスタムフォントを設定する方法です。

まずはデフォルトフォント

GameScene.swift
let label = SKLabelNode(text: "Chibi")
label.fontSize = 50
label.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
addChild(label)

20170507165237.png

カスタムフォント

http://itouhiro.hatenablog.com/entry/20130602/font
こちらのフォントを使用させていただきました。

プロジェクトにフォントファイルを追加する

20170507165236.png

20170507165235.png

チェックを入れることで、
リソースがコピーされるようになります。

ここまでで、Storyboardで UILabel に設定できるようになります。

スクリーンショット 2017-05-07 17.06.53.png

しかし、今回やりたいのは SKLabelNode に設定することです。
下記に続く。

info.plist を編集する

ソースコードから利用する場合は info.plist を編集する必要があります。

20170507165233.png

+ボタン を押して Fonts provided by application を追加します。
そして、下記のように Item 0 にフォントファイルを追加します。

20170507165234.png

SKLabelNode にカスタムフォントを設定する

let label = SKLabelNode(text: "Chibi")
label.fontName = "PixelMplus10-Regular"
label.fontSize = 50
label.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
addChild(label)

20170507165232.png

SKLabelNode のフォントが変わるようになりました!

トラブルシュート

自分がハマッたトラブルです。

font not found が出てフォントが変わらない!

SKLabelNode: "PixelMplus10-Regular" font not found.

原因1

Copy Bundle Resources に追加されていない

20170507172431.png

フォントをプロジェクトに追加した際に、
Add to targets のチェックを入れ忘れると Copy Bundle Resources に追加されないようです。
その場合、手動で追加して解決しました。

原因2

info.plist を修正していない

20170507173234.png

Fonts provided by application を追加するのを忘れていました。

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6