coronasdkのご紹介

31
CoronaSDK のののの のののののののの07/03/2022 1

Upload: takuro-fukamizu

Post on 21-Jun-2015

1.002 views

Category:

Technology


6 download

DESCRIPTION

2012/04/07のプロ生@品川の時のLTスライドです。

TRANSCRIPT

Page 1: CoronaSDKのご紹介

CoronaSDK のご紹介

ビールじゃないよ?

04/13/2023 1

Page 2: CoronaSDKのご紹介

軽く自己紹介

日本コロナの会 元・熊本支部長 春から神奈川で新社会人 大学時代は Python やら JavaScript で書いて GAE で動かしたりして

ました バイトでネット販売の支援アプリを書いてました

うずきあおば ( @uzuki_aoba )

04/13/2023 2

Page 3: CoronaSDKのご紹介

物理エンジンを使う例

04/13/2023 3

Page 4: CoronaSDKのご紹介

物理エンジンを使う例

地面 ( 画像 ) を表示し、物が当たった時の

跳ね返り具合を設定

箱 ( 画像 ) を表示し、上空にセット

箱を落とす!

04/13/2023 4

Page 5: CoronaSDKのご紹介

CoronaSDK の特徴

Lua 言語 2D ゲーム得意

OpenGL ( ネイティブ , 60fps くらい OpenAL Box2D

マルチプラットフォーム サーバサイドでビルド 海外では商用アプリも実績あり

        が開発しているマルチプラットフォーム SDK 。 Adobe Flash に似た構造のグラフィックフレームワークを持っています。

04/13/2023 5

Page 6: CoronaSDKのご紹介

映画のプロモーションにも!Dolphin Tale: Fling a Fish

04/13/2023 6

Page 7: CoronaSDKのご紹介

CoronaSDK の特徴Flasher とかデザイン系の人にやさしい?

Photoshop や Flash 用のプラグインやツール豊富なドキュメント

Ansca 社の公式ドキュメント ( 英語 ) API レファレンス , サンプルコード集 , コードの共有スペース

日本語の本も出ました! 「基礎から学ぶ CoronaSDK 」 2012/2/25

無料で始められる! マーケットに出すならライセンス買ってね

04/13/2023 7

Page 8: CoronaSDKのご紹介

Robert Nay 14 歳 Corona で作ったゲームが1ヶ月で 700 万 DL 開発期間は 1.5 ヶ月  4,000 行

04/13/2023 8

Page 9: CoronaSDKのご紹介

「シュベーレ・グスタフごっこ。」 位置、方角、発射角度を取得。着弾地点を算出して地図で表

04/13/2023 9

Page 10: CoronaSDKのご紹介

使ってみた実感Ansca の開発スピードが早くて嬉しい

週一くらいのペースでバグ潰しやら機能拡張やらをしてくれる

シュミレータが早い。軽い コードを上書き保存するとすぐに反映される 反復的な開発、 Try&Error でガンガンいこうぜ

画像さえ準備すれば、かなりいい感じ 絵を使って簡単に、綺麗に魅せるのが得意

04/13/2023 10

Page 11: CoronaSDKのご紹介

ご静聴ありがとうございました!

04/13/2023 11

Page 12: CoronaSDKのご紹介

Ansca のプロモーションビデオ http://www.youtube.com/watch?v=WMZ7R92glQ4

04/13/2023 12

Page 13: CoronaSDKのご紹介

サーバサイドでビルド

AnscaYour Code

iPhone App

iPad App

Android App

04/13/2023 13

Page 14: CoronaSDKのご紹介

マルチプラットフォーム

04/13/2023 14

Page 15: CoronaSDKのご紹介

無料からはじめられる 無料でも有料ライセンスとほぼ同じことが出来る! 無料ではできないこと

App Store や Google Play への登録(が可能なバイナリの作成) 最新機能の使用 ビルドスピードが若干遅い

有料ライセンス iOS Only $199/year

+ Apple 社の iOS の開発者登録料 Android Only $199/year All Platforms $349/year http://www.anscamobile.com/pricing/

04/13/2023 15

Page 16: CoronaSDKのご紹介

Corona Daily Builds Summary

04/13/2023 16

http://developer.anscamobile.com/content/corona-daily-builds/summary

Page 17: CoronaSDKのご紹介

Kwik Photoshop のプラグイン コードを操作することなく、デジ

タルブック等のアプリが作れる短期間で見た目がいいものが作れ

るので、受けがいい

https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxjb3JvbmFvcGVuc3JjMnxneDoyYWJhZDIzNTljMmFhZDcw

04/13/2023 17

Page 18: CoronaSDKのご紹介

SpriteLoq Flash で作ったキャラクターを書きだす(画像 + コード) アニメーションをフレームごとに切って、スプライトシート

を作る シーン分けもちゃんと把握してくれる

04/13/2023 18

Page 19: CoronaSDKのご紹介

Gumbo Web アプリ GUI で設計して、コードを吐き出す http://www.nerderer.com/Gumbo/

04/13/2023 19

Page 20: CoronaSDKのご紹介

教育分野でも使われはじめてる!熊本

昨年度ゼミで試しに導入してみたところ他ゼミにも好評で、情報コースのいくつかで本格導入することに!

04/13/2023 20

Page 21: CoronaSDKのご紹介

Corona におけるセンサー使えるセンサー

heading ( 方位 ) location ( 位置 ) accelerometer (加速度 ) gyroscope ( ジャイロ )

使い方 使用可能か調べる: system.hasEventSource() 値を取得したときのリスナーを登録する:Runtime:addEventListener() リスナーで値を使う(保存、表示、 etc… )

04/13/2023 21

Page 22: CoronaSDKのご紹介

コード例

system.hasEventSource(“heading”) でコンパスが使えるか確認する 使えるなら Runtime:addEventListener(“heading”, リスナー関数 ) で、方

位を取得した場合の処理を登録する これは方位が変化する度に呼び出される

使えない場合の処理も必要です。(例では使えない旨を表記)

04/13/2023 22

Page 23: CoronaSDKのご紹介

build.settings で許可 android で GPS を使うにはパーミッション(許可)設定が必要 プロジェクトのフォルダにある build.settings に記述する

• build.settings について:• http://developer.anscamobile.com/content/configuring-projects

• Android のパーミッション設定の項目について:• http://developer.android.com/reference/android/Manifest.permission.html

04/13/2023 23

Page 24: CoronaSDKのご紹介

「シュベーレ・グスタフごっこ。」

ナショジオのミリタリーアワー見ながら何造るか考えてたらこんなことになりました。

ナチス・ドイツが誇るトンデモ兵器である 80cm列車砲“シューベーレ・グスタフ( Schwerer Gustav )”をシュミレートします。

方角と発射角度をセンサーで決定して、飛距離と着弾地点を算出します。 兵器の威力と恐ろしさを伝えます。

04/13/2023 24

Page 25: CoronaSDKのご紹介

特長 センサーを使いました

使ったセンサー heading location accelerometer (所持してる Android端末が gyroscope非搭載だったので )

使い方は Ansca のテンプレートや API レファレンスの例とほぼ同じです。 マップを表示します

Android はネイティブのマップが呼び出せません(多様性があるため) native.showWebPopup で html ファイルを表示し、 html側で JavaScript を使っ

て Google Map を呼び出しています。 GET メソッドで値は渡しています。 CDN で他所にあるスクリプトを読み込んで使うのも OK です。

Google にホスティングされている jQuery を使っています。

04/13/2023 25

Page 26: CoronaSDKのご紹介

デモ HTC EVO でデモします

04/13/2023 26

Page 27: CoronaSDKのご紹介

感想 センサー類の実装はネイティブの開発環境よりシンプル 何も考えなくてもだいたいは動く

そして、だいたいは Ansca のサンプル書き換えで OK マップが呼べない等端末差異やサポートしてない機能も有るけれど、 native.showWebPopup() で JavaScript に仕事させれば何とかなる

センサー類は実機でないと試せないので、デバッグが少し面倒 appMobi XDK みたいに本体傾きや位置のエミュレートが出来るとうれ

しい… location イベントの発生が遅いのはなんでだろう・・・

50秒くらいかかる

04/13/2023 27

Page 28: CoronaSDKのご紹介

感想 (2) Android端末の間でもセンサーのズレがありますね。個体差かしら。 もともと精度は期待できないので仕方ないけど。

04/13/2023 28

Page 29: CoronaSDKのご紹介

付録 : native.showWebPopup() を使った map 表示

html を経由することで、 Android でも iOSでも共通の実装で map を表示できます。

Google Static Map API を表示していますが、ちゃんと組めば動かせる Map も出せると思います (未検証

表示用の HTML はプロジェクトフォルダにつっこんでます。

jQuery が使えるので、だいたいの事はできます。

04/13/2023 29

←グスタフごっこでは着弾地点の表示に使ってます

Page 30: CoronaSDKのご紹介

やり方:Corona側 Ansca が公開してる native.showWebPopup の利用例とほぼ同じ。 Map 表示用に準備した HTML ファイルを WebPopup で開く。 表示したいマーカーの座標と、スクリーンサイズを GET メソッドで渡しています。 下が該当部分です( urlRequestListener 等は省略してますが、 Ansca のサンプル通りで

OK )

04/13/2023 30

Page 31: CoronaSDKのご紹介

やり方 : HTML側 meta タグをちゃんと指定する。

スマートフォン用の viewpoint の設定で良いです map 表示用のエレメント (Static Map の場合 img) と、ローディング中の代替表示

用のエレメント、閉じるボタン用のエレメントを準備する Corona側で拾うために、閉じるボタンは form と submit で作ります。

jQuery を読み込む 他のライブラリでも良いですし、ネイティブ実装でも良いです

JavaScript で HTML のロード時の処理を書く GET メソッドでパラメータを取得する map 表示用のエレメントのサイズを、 Corona側から渡した画面サイズを基に調節する Google Static Map API に投げるリクエスト URL を組み立てて、 map 表示用の img エレ

メントの src属性に入れる 画像のロード完了時にローディング表示を消して map を表示する

04/13/2023 31