"◀ Back Menu"
Playdateのパラパラアニメアプリです
これはプログラムのソースコード(Lua)なので
コマンドプロンプト(Macだとターミナル)を使って
コンパイルするのでPlaydateSDKが必要です
(何かあっても自己責任ということでお願いします)
"ParaOnion"(Infinite MacのHyperCard)のスタックで作成した画像を使用
■ ParaAnimプロジェクトのダウンロード
ParaAnim.zip
ダウンロードしたプロジェクトは解凍してデスクトップに置いておく
■ PlaydateSDKのダウンロード
https://play.date/dev/
ダウンロードした"PlaydateSDK.pkg"ファイルを
ダブルクリックしてインストールする
Macの場合Xcodeが必要だと言ってきたらそれもインストールする
■ParaAnimプロジェクトの構成
ParaAnim/ プロジェクトフォルダ
source/ ソースフォルダ
images / 画像フォルダ
card_0001.GIF サンプルで試したい場合はこのままでコンパイルする
card_0002.GIF 新規画像を入れる場合はこれらのサンプル画像は削除する
:
:
card_0017.GIF
crank.lua "crank"のライブラリファイル
graphics.lua "graphics"のライブラリファイル
main.lua "ParaAnim"のソースコード
pdxinfo "pdxinfo"ファイル
(重要)
"ParaOnion"で作った画像を使用する場合は
"DumpFloder.zip"を解凍し"images"フォルダの中の画像と入れ替える
ペイントツールで作ったGIF画像(400x240pix)を使用する場合は
ファイル名は連番にするべし(card_0001.GIF~ card_0010.GIFとか)
■ コンパイルする
コマンドプロンプト(Macはターミナル)を出す
●Windowsの場合
Windowsメニュー>Windowsシステムツール>コマンドプロンプトを
ダブルクリックして起動する
●Macの場合
アプリケーション>ユーティリティ>ターミナルを
ダブルクリックして起動する
コマンドをコピペしてコンパイルする
メモ帳などに下記のコードの ">" の後からコピペする(Macの場合は "%" の後から)
UserNameの箇所を自分のコンピュータのユーザーネームに書き換える
修正したものをコマンドプロンプト(Macはターミナル)に
コピペしてENTERキーを押す
今回は出力フォルダ(ParaAnimApp)以外はフルパスで指定しています
●Windowsの場合
コマンドプロンプトでデスクトップに移動
-----------------------------------------------------------ここから⇩
> cd C:\Users\UserName\Desktop
-----------------------------------------------------------ここまで⇧
ParaAnim\sourceをコンパイルしてデスクトップにParaAnimApp.pdxを作成
-----------------------------------------------------------ここから⇩
> C:\Users\UserName\Documents\PlaydateSDK\bin\pdc.exe -sdkpath C:\Users\UserName\Documents\PlaydateSDK C:\Users\UserName\Desktop\ParaAnim\source ParaAnimApp
-----------------------------------------------------------ここまで⇧
●Macの場合
ターミナルでデスクトップに移動
-----------------------------------------------------------ここから⇩
% cd /Users/UserName/Desktop
-----------------------------------------------------------ここまで⇧
ParaAnim/sourceをコンパイルしてデスクトップにParaAnimApp.pdxを作成
-----------------------------------------------------------ここから⇩
% /Users/UserName/Developer/PlaydateSDK/bin/pdc -sdkpath /Users/UserName/Developer/PlaydateSDK /Users/UserName/Desktop/ParaAnim/source ParaAnimApp
-----------------------------------------------------------ここまで⇧
コンパイルに成功するとデスクトップに”ParaAnimApp.pdx”フォルダが出来ています
*もしうまくいかない場合フォルダの置いてある場所が問題の原因かもしれません
ファイルをコマンドプロンプト(Macはターミナル)にドロップインしてフルパスを入力する方法があります
このページの下で詳しく説明しているのでぜひ試してみてください
コンパイル済みのサンプルファイルも一応ここに置いておきます
解凍してお使いください(使い方は以下動作テストを見てください)
ParaAnimApp.pdx.zip
■ 動作テスト
”PlaydateSimulator”をダブルクリックで起動して
コンパイルで出来た”ParaAnimApp.pdx”フォルダを
PlaydateSimulatorにドロップインするとParaAnimAppが始まる
クランクを時計回りに回すとパラパラする。逆時計回りに回すと逆パラパラする
PlaydateSimulatorの場所
●Windows
C:\Users\UserName\Documents\PlaydateSDK\bin\PlaydateSimulator.exe
●Mac
/Users/UserName/Developer/PlaydateSDK/bin/PlaydateSimulator
Macのみ
● シミュレーター本体の色を黄色くするのはMacのメニューバーの
"Playdate>SimulateDeviceAppearance"にチェックを入れる
● クランクのコントローラー部分はシミュレーター本体の右下の矢印ボタンを
クリックすると出てくる
■その他
コマンドプロンプトにファイルをドロップインしてフルパスを入力する方法
コンパイルがうまくいかない場合フォルダの場所が問題かもしれません
以下の方法を試してみてください
( 1) コマンドプロンプト(Macはターミナル)に"cd"を入力し半角スペースを入力
"デスクトップ"フォルダをコマンドプロンプトにドロップインする
( 2) Enterキーでデスクトップに移動する
(注意) Macの場合、ドロップインすると自動で
最後にスペースが入るのでスペースは入力しない
(半角スペースが2つ入るとエラーになる)
●Windowsの場合
●Macの場合
( 3) "PlaydateSDK/bin/pdc.exe"(Macは"pdc")ファイルをコマンドプロンプトにドロップインする
( 4) "スペース"を間に入れる
( 5) -sdkpathをキーボードから入力
( 6) "スペース"を間に入れる
( 7) "PlaydateSDK"フォルダをコマンドプロンプトにドロップインする
( 8) "スペース"を間に入れる
( 9) "ParaAnim/source"フォルダをコマンドプロンプトにドロップインする
(10) "スペース"を間に入れる
(11) アプリケーション名"ParaAnimApp"をキーボードから入力
(12) Enterキーでコンパイルされる
●Windowsの場合
●Macの場合
ソースコード
間違いもあるかもな”ぐだぐだな”ソースコードですが
ご参考までに・・・・w
■ main.lua
import "crank" -- "crank"のライブラリをインポート
gfx = playdate.graphics --"playdate.graphics"を変数に入れておく
local ticksPerRevolution = 6 --1 回転あたりのチック数
x = 0 --画像位置x
y = 0 --画像位置y
nowImg = 1 --現在のページ
local arryImg = playdate.file.listFiles('images') --フォルダ内のファイル名リストを配列に入れる
maxImg = #arryImg --配列の要素数
img = gfx.image.new('images/'..arryImg[nowImg]) --画像を読込む
function playdate.update()
refresh() --画面クリア
img = gfx.image.new('images/'..arryImg[nowImg]) --画像を読込む
img:draw(x, y) --画像を描画する
local crankTicks = playdate.getCrankTicks(ticksPerRevolution)
if crankTicks == 1 then --(時計回り)
nowImg = nowImg + 1 --次のページへ
if nowImg > maxImg then --ラストページに行ったら
nowImg = 1 --初めのページへ
end
refresh() --画面クリア+
img = gfx.image.new(('images/pic')..tostring(n))--画像を読込む
img = gfx.image.new('images/'..arryImg[nowImg])
img:draw(x, y) --画像を描画する
elseif crankTicks == -1 then --(逆時計回り)
nowImg = nowImg - 1 --前のページへ
if nowImg < 1 then --最初のページに戻ったら
nowImg = maxImg --ラストのページへ
end
refresh() --画面クリア+
img = gfx.image.new(('images/pic')..tostring(n))--画像を読込む
img = gfx.image.new('images/'..arryImg[nowImg])
img:draw(x, y) --画像を描画する
end
end
function refresh() --画面クリアーのユーザー関数
gfx.setColor(gfx.kColorWhite) --カラーを白にする
gfx.fillRect(0, 0, 400, 240) --全画面を白で塗りつぶす
gfx.setColor(gfx.kColorBlack) --カラーを黒に戻す
end
■ pdxinfo
name= ParaAnim
author= hogehoge
description= this is ParaAnim test
bundleID= com.hoge.hoge
version= 0.1
buildNumber= 240301
imagePath= images
■ コンパイルコマンド
書式
------------------------------------------------------------------------------------------------------
pdc.exe -sdkpath [SDKフォルダ] [sourceフォルダ] [出力フォルダ名]
------------------------------------------------------------------------------------------------------
pdc.exe コンパイルコマンド
-sdkpath オプション
SDKフォルダ playdateSDKフォルダ
sourceフォルダ コンパイルするParaAnimプロジェクトのsourceフォルダ
出力フォルダ名 出力するアプリの名前(任意) ここではParaAnimAppとした