CoreLibs
CoreLibsは、
Playdate SDKに標準で付属しているLuaライブラリのセットです。
Playdateのネイティブ
API(C言語で書かれた低レベルAPI)を、Luaでより使いやすく、高機能に拡張するための「標準的な拡張機能集」のような役割を果たします。
主要なCoreLibs一覧
| ライブラリ名 |
主な機能 |
用途 |
| import "CoreLibs/object" |
クラス、継承、インスタンス化 |
オブジェクト指向開発 |
| import "CoreLibs/graphics" |
playdate.graphics の拡張 |
描画の簡略化 |
| import "CoreLibs/sprites" |
スプライト、衝突判定、レイヤー管理 |
ゲームオブジェクトの制御 |
| import "CoreLibs/timer" |
カウントダウン、コールバック実行 |
時間制限や遅延処理 |
| import "CoreLibs/ui" |
GridView, CrankIndicator |
メニューやUIパーツの作成 |
| import "CoreLibs/nineslice" |
9スライス。角を保持した画像の拡大縮小 |
ボタンやウィンドウの描画 |
概要
1. CoreLibsの基本
CoreLibsは、SDK内の`CoreLibs`フォルダに格納されている`.lua`ファイル群です。これらを使用するには、プロジェクトの`main.lua`の冒頭などで`import`文を記述する必要があります。
import "CoreLibs/graphics"
import "CoreLibs/sprites"
import "CoreLibs/timer"
すべてを一度に読み込む import "CoreLibs/all" もありますが、メモリ節約のため、必要なものだけを個別にインポートするのが一般的です。
2. 主なライブラリと機能
CoreLibsは、ゲーム開発における共通タスクを簡略化するために以下のカテゴリーに分かれています。
- オブジェクト指向と基本(Object)
- グラフィックスと描画(Graphics & Sprites)
- CoreLibs/graphics: 基本的な描画機能(画像、図形、テキスト)を拡張します
- CoreLibs/sprites: スプライト管理システムを提供します。画面上のオブジェクトを「スプライト」として扱い、衝突判定や描画順序(Z-Index)の管理を自動化します
- CoreLibs/nineslice: 画像の角を維持したまま拡大縮小する「9スライス」描画をサポートします。
- アニメーションとタイマー(Animation & Timer)
- CoreLibs/timer: 時間(ミリ秒)ベースのタイマーを管理します
- CoreLibs/frameTimer: フレーム数ベースのタイマーを提供します
- CoreLibs/animation: 複数の画像(イメージテーブル)を使ったループアニメーションを簡単に実装できます
- ユーザーインターフェース(UI)
- CoreLibs/ui/gridview: リストやメニュー、インベントリなどで使われるグリッド形式のUIを簡単に構築できます
- CoreLibs/ui/crankIndicator: 画面の隅に「クランクを回して」という指示を出すアニメーション表示を提供します
3. CoreLibsを使うメリット
Playdateの開発において、CoreLibs(特に sprites や object)を使うことは事実上のデファクトスタンダードとなっています。
- 1. スプライトの自動更新
- playdate.graphics.sprite.update() を呼ぶだけで、登録された全スプライトの移動や描画が完了します。
- 2. ボイラープレートの削減
- クラス定義やタイマー管理などの「決まりきった処理」を一から書く必要がありません。
- 3. 最適化
- Luaで書かれていますが、SDK標準のため効率的に動作するよう設計されています。
関連ページ
最終更新:2026年04月28日 07:04