SlideShare une entreprise Scribd logo
1  sur  25
Storyboard API
  [Corona SDK]
  CoronaSDK 勉強会 in 渋谷
        2012.02.01




        @keygx
自己紹介


鍵山 征彦(かぎやま ゆきひこ)

・デザイナ兼エンジニア
・スマートフォン・アプリ開発歴 2年弱
・Corona SDK歴 約10ヶ月

Twitter: @keygx
blog: http://keygx.blogspot.com
apps: http://keygx-app.appspot.com
keygx apps


「iPhone」     Corona SDK


               …
「Android」


                          …
はじめに



        Storyboardは
  Corona SDKのイチAPIですが
   わりかしCorona SDKでの
       アプリ開発の大枠に
       関係するお話かも
Storyboardって何?


iOS 5 SDKの「Storyboard」ではありません
Corona SDKの「Storyboard」です




 http://developer.anscamobile.com/content/storyboard
Storyboardとは?


Director Classが担っていた
画面(scene)を管理するAPI
※Director Classというのはそういう名前のライブラリです
※画面遷移のあるアプリでは必須(=全てのアプリに必須)




以前「Director Class 入門 [Corona SDK]」というブログを書きました
http://keygx.blogspot.com/2011/09/director-class-corona-sdk.html
まぁぶっちゃけアレですね


これまでサードパーティのライブラリに
頼っていた機能が標準で組み込まれたので
これからは「Storyboard」使ってね
ということらしい
※Corona Simulatorの「New Project」で作成される
 サンプルコードもStoryboard使っていますね
※Director Classもまだまだ使えるので、選択肢が増えた程度に
 思っていますが…
何ができるのか?


・画面遷移のコントロール
 ※エフェクト付

・画面のライフサイクルに
 合わせた処理の記述
※Director Classにあった画面間の値の受け渡しはないっぽい
メソッド


・storyboard.getPrevious()
・storyboard.getScene()
・storyboard.gotoScene()
・storyboard.newScene()
・storyboard.purgeAll()
・storyboard.purgeScene()
・storyboard.removeAll()
・storyboard.removeScene()
エフェクト


・storyboard.gotoScene(sceneName [, effect, effectTime])
  fade                    zoomInOutFadeRotate
  zoomOutIn               fromRight (over original scene)
  zoomOutInFade           fromLeft (over original scene)
  zoomInOut               fromTop (over original scene)
  zoomInOutFade           fromBottom (over original scene)
  flip                     slideLeft (pushes original scene)
  flipFadeOutIn            slideRight (pushes original scene)
  zoomOutInRotate         slideDown (pushes original scene)
  zoomOutInFadeRotate     slideUp (pushes original scene)
  zoomInOutRotate         crossFade
サンプルファイル


サンプルを見てみよう!
ansca / Storyboard-Sample
https://github.com/ansca/
Storyboard-Sample
サンプルファイル 構成


Storyboard-Sampleのluaファイル
サンプルファイル 概要


・main.lua
 scene1.luaを読み込んでいるだけ
 ※タブUIがありますが、見せかけだけです(使い回し?)

・scene1.lua scene4.lua
 基本的に同梱されている「scenetemplate.lua」に沿って
 記述されています




       以下ポイントとなる部分のみご紹介します
サンプルコード 注目点①


・main.lua
 --[[一部抜粋--]]
 local storyboard = require "storyboard"

 storyboard.gotoScene("scene1")




     mainでは最初の画面を指定しているのみ
サンプルコード 注目点②


・scene1.lua scene4.lua
  --[[一部抜粋--]]
  function scene:createScene(event)

  function scene:enterScene(event)

  function scene:exitScene(event)

  function scene:destroyScene(event)


               シーンのライフサイクル
サンプルコード 注目点③


・scene1.lua scene4.lua
  --[[一部抜粋--]]
  function scene:createScene( event )
     local screenGroup = self.view

   image = display.newImage( "bg.jpg" )
   screenGroup:insert( image )

  end


        ディスプレイ・オブジェクトをグループ化
サンプルコード 注目点④


・scene1.lua scene4.lua
  --[[一部抜粋--]]
  function scene:enterScene( event )
     storyboard.purgeScene( "scene4" )

  end




                   前の画面をパージ
LTなんで、かなりざっくりですが…


main.luaは最初に表示したい画面を指定
アプリとしてのメインの画面はサンプルでいう
scene1.lua

実際のアプリでは、
メイン画面、設定画面、About画面などを
ゲームなら複数のシーン等を
遷移できるようにしていきます
でも


こんな説明だけじゃ解らないですよね。

サンプルもイマイチだし…
というわけで


サンプルを公開します
以前勉強会でつくった「Pac-Pac Droid」というアプリを
Storyboard APIを使ったものにしました
https://github.com/keygx/PacPacDroid

                                       他にも
                                       ・Physics
                                       ・collision
                                       ・movieclip
                                       とか
まとめ①



       "Hello World"の次は

  Storyboard API
   (もしくはDirector Class)
         を勉強するのが
         おすすめです!
まとめ②



       なんとなくでも
  Corona SDKでのアプリ開発の
   イメージがわいてきた!
   と思っていただけたなら
       幸いです (^^)/
参照情報


◆APIリファレンス
http://developer.anscamobile.com/content/storyboard

◆ansca / Storyboard-Sample
https://github.com/ansca/Storyboard-Sample

◆Common Storyboard API Questions
http://blog.anscamobile.com/2011/11/common-storyboard-
api-questions/

◆Introducing the Storyboard API
http://blog.anscamobile.com/2011/11/introducing-the-
storyboard-api/
質問は日本コロナの会へw


◆メーリングリスト
http://groups.google.co.jp/group/coronaja/subscribe

◆Twitter
http://twitter.com/JapanCoronaGrp


              情報共有のためにも
          どんどん質問しちゃえば
                 いいと思うよ!
ご静聴ありがとうございました

Contenu connexe

Tendances

福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
 

Tendances (20)

福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
Titaniumって何?
Titaniumって何?Titaniumって何?
Titaniumって何?
 
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosXcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
 
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
 
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
 
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
 
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
 
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
 
20151002 Android app for Pepper
20151002 Android app for Pepper 20151002 Android app for Pepper
20151002 Android app for Pepper
 
ABS2015 のセッション紹介
ABS2015 のセッション紹介ABS2015 のセッション紹介
ABS2015 のセッション紹介
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
 
もしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahoo
もしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahooもしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahoo
もしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahoo
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト
 
ようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへ
 
PF開発に使えるAOSPのツール達
PF開発に使えるAOSPのツール達PF開発に使えるAOSPのツール達
PF開発に使えるAOSPのツール達
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
既存アプリのiOS8対応 #ios8yahoo
既存アプリのiOS8対応 #ios8yahoo既存アプリのiOS8対応 #ios8yahoo
既存アプリのiOS8対応 #ios8yahoo
 
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
 
【出張ヒストリア2018】Caligula Overdose 開発ワークフロー アラカルト
【出張ヒストリア2018】Caligula Overdose 開発ワークフロー アラカルト【出張ヒストリア2018】Caligula Overdose 開発ワークフロー アラカルト
【出張ヒストリア2018】Caligula Overdose 開発ワークフロー アラカルト
 

Similaire à Storyboard

Neo4jrbにおけるOGM
Neo4jrbにおけるOGMNeo4jrbにおけるOGM
Neo4jrbにおけるOGM
takabes00
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
takuma mori
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
Kentarou Mukunasi
 

Similaire à Storyboard (20)

Skinny Framework 進捗どうですか? #fud_scala
Skinny Framework 進捗どうですか? #fud_scalaSkinny Framework 進捗どうですか? #fud_scala
Skinny Framework 進捗どうですか? #fud_scala
 
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発
 
実戦Scala
実戦Scala実戦Scala
実戦Scala
 
Scala Daysに行ってみて
Scala Daysに行ってみてScala Daysに行ってみて
Scala Daysに行ってみて
 
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
 
Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。
 
Shaping up ATOK to fit to your iPhone / iPad
Shaping up ATOK to fit to your iPhone / iPadShaping up ATOK to fit to your iPhone / iPad
Shaping up ATOK to fit to your iPhone / iPad
 
Neo4jrbにおけるOGM
Neo4jrbにおけるOGMNeo4jrbにおけるOGM
Neo4jrbにおけるOGM
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
 
Lightning Component × Lightning Design System
Lightning Component × Lightning Design SystemLightning Component × Lightning Design System
Lightning Component × Lightning Design System
 
Real World Android Akka - 日本語版
Real World Android Akka - 日本語版Real World Android Akka - 日本語版
Real World Android Akka - 日本語版
 
Xcode4 project template (slide)
Xcode4 project template (slide)Xcode4 project template (slide)
Xcode4 project template (slide)
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
 
Core Animation 使って見た
Core Animation 使って見たCore Animation 使って見た
Core Animation 使って見た
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 

Storyboard