CoronaSDK Advent Calendar 2日目です。
…残念ながら2日で終了しそうな気配なので続けてもらえる人が居たら幸いです。是非に。ホントに。お願いだから。
CoronaSDKでゲーム開発始めて約半年で遭遇した選りすぐりのハマりポイントをいくつか紹介します。
iOS用にビルドしたappが実機に転送できない。
「resources」という名前のディレクトリをプロジェクト直下に作っていた
CoronaSDKのプロジェクト直下のディレクトリ構造を安直にapp内に再現するので、「resources」に限らずiOSやAndroidのプロジェクトにとって特別な名前のファイルを作ると同様の現象になると思われる。
ぶつからない構造にできなかったのは仕方無いかもしれんけど、せめてビルド時にエラー出して欲しい…
ダウンロードしてローカルに保存、利用している画像が、サーバ側を更新してもローカルに保存されてるファイルを削除しても更新されない…
Coronaのシミュレータ自身がキャッシュを持っていた
Coronaシミュレータを完全終了させれば良い。GUIで落としてもプロセス残ってるとクリアされないので注意。
メニューにキャッシュクリアとかあればもうちょっとわかりやすいんだけど…
network.downloadでダウンロードした画像ファイルが表示されない事がある。
エラーページが画像の代わりに保存されていた
上記通りキャッシュを全部消して正常にダウンロードできるようにして再開する。
corona標準のnetwork.downloadが失敗してもエラーページをそのまま保存するという斬新な仕様の為。ファイルサイズ違うのに気づいて中身見てみたときの脱力感は忘れられません。downloadの終了callbackで正常時以外は保存したファイルを消すという対症療法で凌いでます。こんな感じ。
local function networkListener(e)
if e.status ~= 200 then
os.remove(system.pathForFile( "path/to/file.jpg", baseDirectory))
end
end
network.download(
'http://hoge/fuga.jpg',
"GET",
networkListener,
params,
"path/to/file.jpg",
baseDirectory
)
postリクエストしてるのにサーバ側で受け取れない!
Content-Length,Content-Typeヘッダが無いから自分でつける
こんな事やったの久々です。7年振りぐらいじゃなかろうか…
さっきまでビルドできてたのにソース一行も変えてないのに失敗するよ!
ほっとくと勝手に解決。CoronaLabs側のトラブルだったっぽい…
CoronaLabs側にソース送信してビルドする為たまにあるのは仕方無い。
ただ長時間ビルドできなかったのは約半年で一回だけと思ったより少ないのでご安心を。
もちろん毎日実機用ビルドするわけでは無いし、応答無くてもう一回やったら大丈夫だったことは何回もあるのですが本気で困ったのは一回だけという事です。
でもCoronaSDK良いトコロもありますよ!皆さんお気をつけて。