コンテンツにスキップ

自作スキンガイド

Manic EMUスキン制作ガイドへようこそ。このエミュレータのスキンシステムは DeltaSkin フレームワーク上にあり、基本形式と完全互換です。まずDeltaSkinの基礎を知りたいときは、公式チュートリアル を見てください。Figmaで作るなら、RetroSkinner をどうぞ。Figmaのデザインをそのままスキンファイルにできます。

Manic EMUには、さらに使える機能があります。押し込みアニメ自由な拡大縮小画面反転など。専用機能の使い方は次のとおりです。


ゲームタイプ識別子(gameTypeIdentifier

Section titled “ゲームタイプ識別子(gameTypeIdentifier)”

Manic EMUは独自のゲームタイプ識別子を使います:

  • Wii: public.aoshuang.game.wii
  • NGC: public.aoshuang.game.ngc
  • Amiga: public.aoshuang.game.amiga
  • C64: public.aoshuang.game.c64
  • NGP: public.aoshuang.game.ngp
  • PCE: public.aoshuang.game.pce
  • Symbian: public.aoshuang.game.symbian
  • DOS: public.aoshuang.game.dos
  • J2ME: public.aoshuang.game.j2me
  • DOOM: public.aoshuang.game.doom
  • JAGUAR: public.aoshuang.game.jaguar
  • LYNX: public.aoshuang.game.lynx
  • 7800: public.aoshuang.game.7800
  • 5200: public.aoshuang.game.5200
  • 2600: public.aoshuang.game.2600
  • Arcade: public.aoshuang.game.arcade
  • DC: public.aoshuang.game.dc
  • PS1: public.aoshuang.game.ps1
  • PM: public.aoshuang.game.pm
  • VB: public.aoshuang.game.vb
  • N64: public.aoshuang.game.n64
  • SS: public.aoshuang.game.ss
  • MD: public.aoshuang.game.md
  • MCD: public.aoshuang.game.mcd
  • 32X: public.aoshuang.game.32x
  • MS: public.aoshuang.game.ms
  • GG: public.aoshuang.game.gg
  • SG-1000: public.aoshuang.game.sg1000
  • MD: public.aoshuang.game.md
  • PSP: public.aoshuang.game.psp
  • 3DS: public.aoshuang.game.3ds
  • NDS: public.aoshuang.game.ds
  • GBA: public.aoshuang.game.gba
  • GBC: public.aoshuang.game.gbc
  • GB: public.aoshuang.game.gb
  • NES: public.aoshuang.game.nes
  • SNES: public.aoshuang.game.snes

💡 ヒント:DeltaとManic EMUの両方で使いたいときは、DeltaSkinの識別子をそのまま使ってください。システムが自動変換します。

一部のプラットフォームは互換コントローラを使えるので、Manic EMUでは次のスキンを混ぜて使えます:

  • GB GBC
  • MD MCD 32X
  • MS GG SG-1000
  • NES FDS
  • DOS DOOM

スキンにはグローバルに一意な識別子を付けてください。重複すると読み込み失敗やキャッシュ不具合の原因になります。


ボタンに動きを付けたいときは、2ステップです:

  1. レイヤー分離:ボタンの背景と前景を分ける(3DSスキンテンプレート を参照)
  2. JSON設定info.json のボタンに asset フィールドを追加

例:Aボタンに押し込み効果を付ける

{
"asset": {
"normal": "a_button.pdf"
// Reserve for future state expansions
},
"frame": {
"height": 48,
"width": 48,
"x": 545,
"y": 552
},
"inputs": ["a"]
}

🎚️ アニメーション付きスイッチボタン

Section titled “🎚️ アニメーション付きスイッチボタン”

状態を保ったトグルができます。見た目の参考は、標準のAtari 2600スキンです。

{
"asset":
{
"normal": "fuction_button.pdf",
"selected": "fuction_button.pdf"
},
"frame":
{
"height": 40,
"width": 20,
"x": 30,
"y": 569
},
"animation":
{
"type": "spring",
"begin":
{
"height": 20,
"width": 20,
"x": 0,
"y": 2
},
"end":
{
"height": 20,
"width": 20,
"x": 0,
"y": 18
}
},
"inputs": "menu",
"selfRetracting": true
}

animation オブジェクトが追加されています(現在はSwitch Buttonのみ対応)。 animation:

  • type はアニメーション曲線。現在は spring のみ。
  • begin は開始前のフレーム。
  • end は終了時のフレーム。

注: beginend の座標は、親の frame からの相対です。

asset: normal に加え、selected アセットがあります。selected 状態のときに対応リソースを表示できます(現在はSwitch Buttonのみ)。

inputs: ほかのコントロールと同じ内容ですが、ここでは文字列のみ渡せます。Switch Buttonに結びつける機能です。abupdown などの標準操作でも、次節の Custom Function Buttons でも構いません。

注: 一部のカスタム機能ボタンは状態バインドに対応します。たとえば inputsvolume(ミュート)にすると、スキン読み込みのたびに音量状態を問い合わせ、結び付けたSwitch Buttonを更新します。標準Atari 2600スキンの tvType を参照してください。

状態バインド対応の Custom Function Buttons:

  • reverseScreens
  • volume
  • toggleControlls
  • toggleAnalog
  • tvType
  • leftDifficulty
  • rightDifficulty

selfRetracting: Switch Buttonが自動で戻るかどうか。Atari 2600のゲームリセットボタンのように、押したあと跳ね返り、モーメンタリのスイッチになります。


Manic EMUは多くのショートカットに対応します(バージョン要件あり):

v1.2.3以上:

  • flex: スキンレイアウト設定へ

v1.2.4以上で追加:

  • quickSave: クイック手動セーブ
  • quickLoad: クイック手動ロード
  • fastForward: 長押しで最大倍速
  • toggleFastForward: タップで倍速率を循環
  • reverseScreens: 主画面/副画面を入れ替え
  • volume: ミュート
  • saveStates: ステートセーブ一覧を開く
  • cheatCodes: チートコード一覧を開く
  • skins: スキン一覧を開く
  • filters: フィルタ一覧を開く
  • screenshot: スクリーンショット
  • haptics: 振動フィードバックを調整
  • controllers: コントローラ一覧を開く
  • orientation: 回転設定を変更
  • functionLayout: レイアウト設定へ
  • restart: ゲームをリセット
  • resolution: ゲーム解像度を設定
  • quit: ゲームを終了
  • amiibo:3DS向けにAmiiboを読み込む
  • homeMenu:3DSのHome Menuへ戻る

v1.4.2以上で追加:

  • toggleControlls:コントローラ表示の表示/非表示
  • blowing:マイクへの息吹きをシミュレート
  • palette:GB GBC VB向けパレット

v1.5.0以上で追加:

  • swapDisk:次のディスクへ、またはFDSの面を切り替え

v1.5.5以上で追加:

  • shake:シェイクのシミュレート

v1.6.0以上で追加:

  • toggleAnalog:入力デバイスモードを切り替え。PS1でPlayStation ControllerやDualShockに変えるなど。

v1.7.0以上で追加:

  • retroAchievements:RetroAchievementsページを開く。

v1.7.1以上で新規:

  • fastForward2x: 長押しで2倍速
  • fastForward3x: 長押しで3倍速
  • fastForward4x: 長押しで4倍速
  • airPlayScaling: AirPlay中のゲーム画面の拡大縮小を調整
  • airPlayLayout: AirPlay中のマルチ画面ゲーム(NDSなど)の配置を選ぶ

v1.7.2以上で新規:

  • gameplayManuals:Gameplay Manualsを開く

v1.7.3以上で新規:

  • triggerPro:TriggerProの設定を切り替え

v1.8.3以上で新規:

  • tvType: Atari 2600のカラー/白黒を切り替え。
  • leftDifficulty: Atari 2600の左難易度スイッチ。
  • rightDifficulty: Atari 2600の右難易度スイッチ。

v1.9.0以上で追加:

  • screenScaling:画面のストレッチモードを切り替え
  • j2meSettings:J2ME設定ページを開く
  • dosSettings:DOSのコア設定ページを開く
  • insertDisc:ディスクを挿入

v2.0.0以上で追加:

  • coreSettings:コア設定を開く
  • rewind:長押しで巻き戻し

例:リスタートボタンを追加

{
"asset": { "normal": "button.pdf" },
"frame": { ... },
"inputs": [ "restart" ]
}

⚠️ 重要な注意
ひとつのボタンに複数機能を割り当てないでください。例:

// ❌ Dangerous Example!
{
"inputs": [ "restart", "quit" ]
}

V1.9.0から、Manic EMUはスキンボタンの効果音に対応します。音声をCAF形式に変換し、sound.caf と名前を付けてスキンのルートに置き、まとめてパッケージしてください。


3ステップです:

  1. すべてのアセットをフラットに置く(親フォルダなし)
  2. 全ファイルを選び、非暗号化ZIP に圧縮
  3. 拡張子は .manicskin または .deltaskin

公式テンプレートを使うと、構造が正しくなります。



自分だけのスキンを、ここから。