アットウィキロゴ

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