SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
ColonaLabs.com
13年5月11日土曜日
ColonaLabs.com
   Code Less, Play More !
  with Corona SDK #5
CoronaSDK Ambassador
     小野 哲生
13年5月11日土曜日
ColonaLabs.com
Corona SDK での音、画面遷移、UI など
五限目。。。
キーンコーン♪
カーンコーン♪
13年5月11日土曜日
ColonaLabs.com
Corona SDK での音、画面遷移、UI など
• 音の再生( BGM、イベント発生時 SE )
• 画面遷移( APIの使い方、Data受渡し )
• UI など ( iPhone5対応、ボタン類 )
13年5月11日土曜日
ColonaLabs.com
事前準備
• https://github.com/TetsuoOno/
CoronaSDK-5_1
• .mp3 をプロジェクトフォルダに追加
(main.luaへBGMとSEの両コードを記述済み)
• 音の再生
Corona SDK での音の再生
13年5月11日土曜日
ColonaLabs.com
• 音の再生( BGM )
local BGM = audio.loadSound(“bgm.mp3”)
audio.play( BGM )
音は鳴りましたね?(1回だけ)
でも、このままではループしません...orz
ループさせてBGMにしましょう☞
Corona SDK での音の再生
13年5月11日土曜日
ColonaLabs.com
• 音の再生( BGM )
Corona SDK での音の再生
local BGM = audio.loadSound(“bgm.mp3”)
audio.play( BGM,
{ loops = -1 } )
--channel = 1,
--duration = 30000,
--fadein = 5000,
--onComplete = callbackListener
13年5月11日土曜日
ColonaLabs.com
Corona SDK での音の再生
• 音の再生( SE )
local SE = audio.loadSound(“se.mp3”)
local function onTouch( event )
audio.play( SE )
end
Runtime:addEventListener(“touch”,
onTouch )
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方)
Corona SDK での画面遷移
事前準備
• https://github.com/TetsuoOno/
CoronaSDK-5_2
• main.lua、scene1.lua、scene2.luaの解説
(各ファイルへはコメント書き込み済み)
• 新規作成時、templateでSceneを選択
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):main.lua
Corona SDK での画面遷移
--storyboardAPIの呼出し
local storyboard = require "storyboard"
--同じフォルダ内のscene1.luaへ遷移
storyboard.gotoScene( "scene1" )
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):scene1.lua
Corona SDK での画面遷移
--storyboardAPIの呼出し
local storyboard = require "storyboard"
--新しいsceneの作成
local scene = storyboard.newScene( )
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):scene1.lua
Corona SDK での画面遷移
-----------------------------------------------------------
-- BEGINNING OF YOUR IMPLEMENTATION
-----------------------------------------------------------
--createSceneまでの間に
--変数・オブジェクト・functionを宣言
local _W = display.contentWidth
local _H = display.contentHeight
local text1
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):scene1.lua
Corona SDK での画面遷移
local function onTouch( event )
if("began" == event.phase )then
text1.text = "touch"
text.x = _W/2 ; text.y = _H/2
elseif("ended" == event.phase )then
storyboard.removeAll( )
storyboard.gotoScene( "scene2" )
end
end
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):scene1.lua
Corona SDK での画面遷移
function scene : createScene( event )
local group = self.view
--テキストオブジェクトの作成
text1 = display.newText( "", 0, 0, nil, 40 )
--グループに追加
group : insert( text1 )
end
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):scene1.lua
Corona SDK での画面遷移
function scene : enterScene( event )
local group = self.view
--function onTouchの呼出し
Runtime : addEventListener(
"touch", onTouch )
end
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):scene1.lua
Corona SDK での画面遷移
function scene : exitScene( event )
local group = self.view
--function onTouchの破棄
Runtime : removeEventListener(
"touch", onTouch )
end
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):scene2.lua
Corona SDK での画面遷移
-----------------------------------------------------------
-- BEGINNING OF YOUR IMPLEMENTATION
-----------------------------------------------------------
--createSceneまでの間に
--変数・オブジェクト・functionを宣言
local _W = display.contentWidth
local _H = display.contentHeight
local back
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):scene2.lua
Corona SDK での画面遷移
local function onTouch( event )
if("began" == event.phase )then
back:setFillColor( 250, 130, 10 )
elseif("ended" == event.phase )then
storyboard.removeAll( )
storyboard.gotoScene( "scene1" )
end
end
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( APIの使い方):scene2.lua
Corona SDK での画面遷移
function scene : createScene( event )
local group = self.view
--背景の作成
back = display.newRect( 0, 0, _W, _H )
--グループに追加
group : insert( back )
end
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( Data受渡し)
Corona SDK での画面遷移
事前準備
• https://github.com/TetsuoOno/
CoronaSDK-5_3
• scene1.lua、scene0.luaの解説
(各ファイルへはコメント書き込み済み)
13年5月11日土曜日
ColonaLabs.com
• 画面遷移( Data受渡し):scene1.lua
Corona SDK での画面遷移
--db.luaの読み込み
local db = require( "db" )
--変数の宣言
local score = 0
local scoreText
local highScoreText
13年5月11日土曜日
ColonaLabs.com
Corona SDK での画面遷移
• 画面遷移( Data受渡し):scene1.lua
--次のステージへ画面遷移
local function touchToNext(event)
--変数aにscoreを代入
local a = score
--dbのstageclear関数にscoreを渡す
stageclear( score )
13年5月11日土曜日
ColonaLabs.com
Corona SDK での画面遷移
• 画面遷移( Data受渡し):scene1.lua
--scoreを代入したaを渡す
storyboard.gotoScene( "scene2",
{ effect = "slideLeft", time = 1000,
params = { currentScore = a } })
return true
end
13年5月11日土曜日
ColonaLabs.com
Corona SDK での画面遷移
• 画面遷移( Data受渡し):scene1.lua
function scene:createScene( event )
--抜粋して解説しています。
highScoreText = display.newText("", 0, 0,
native.systemFont, 30)
--gameover関数戻り値highScore代入
highScoreText.text = " HighScore: " ..
highScore
end
13年5月11日土曜日
ColonaLabs.com
Corona SDK での画面遷移
• 画面遷移( Data受渡し):scene1.lua
function scene:enterScene( event )
--main.luaからcurrentScoreをもらう
if(event.params.currentScore)then
local currentScore =
event.params.currentScore
end
--dbのgameover関数にscoreを渡す
gameover( score )
end13年5月11日土曜日
ColonaLabs.com
Corona SDK での画面遷移
• 画面遷移( Data受渡し):scene0.lua
function scene:createScene( event )
--今回スコアとdbのハイスコア比較
if( yourScore >= highScore )then
--今回がハイスコア以上の処理
elseif( yourScore < highScore )then
--ハイスコアの更新なしの処理
end
end
13年5月11日土曜日
ColonaLabs.com
• iPhone5対応
Corona SDK での UI
事前準備
• https://github.com/TetsuoOno/
CoronaSDK-5_4
• config.lua をプロジェクトフォルダに追加
• config.lua、main.luaの解説
(各ファイルへはコメント書き込み済み)
• ※SDK Ver.1076以上で動作
13年5月11日土曜日
ColonaLabs.com
• iPhone5対応:config.lua
Corona SDK での UI
--端末のモデル・ピクセルHを判定
local isTall = (
( "iPhone" == system.getInfo("model") or
"iPod touch" == system.getInfo("model") )
and
( display.pixelHeight > 960 ) )
13年5月11日土曜日
ColonaLabs.com
• iPhone5対応:config.lua
Corona SDK での UI
--iPhone,iPod touchで960を越えるピクセル
if( isTall )then
application = {
content = {
width = 640,
height = 1136,
--
else
13年5月11日土曜日
ColonaLabs.com
• iPhone5対応:main.lua
Corona SDK での UI
local _W = display.contentWidth
local _H = display.contentHeight
--ボタン、テキスト、変数
local BTN, modelText, isTall
13年5月11日土曜日
ColonaLabs.com
• iPhone5対応:main.lua
Corona SDK での UI
--端末の判定(config.luaと同じ)
isTall = (
("iPhone" == system.getInfo("model") or
"iPod touch" == system.getInfo("model") )
and ( display.pixelHeight > 960 ) )
13年5月11日土曜日
ColonaLabs.com
• iPhone5対応:main.lua
Corona SDK での UI
BTN = display.newRect( 0, 0, 100, 100 )
BTN : setFillColor( 250, 130, 10 )
BTN . x = _W / 2
if( isTall )then
BTN.y = display.pixelHeight -100
else
BTN.y = _H -100
end
13年5月11日土曜日
ColonaLabs.com
• iPhone5対応:main.lua
Corona SDK での UI
modelText = display.newText( "", 0, 0, nil, 50 )
--端末のピクセルHをテキストに代入
modelText.text = display.pixelHeight
modelText.x = _W/2
if( isTall )then
modelText.y = display.screenOriginY +100
else
modelText.y = 100
end
13年5月11日土曜日
ColonaLabs.com
• ボタン
Corona SDK での UI
事前準備
• https://github.com/TetsuoOno/
CoronaSDK-5_5
• .pngをプロジェクトフォルダに追加
(コメント書き込み済み)
13年5月11日土曜日
ColonaLabs.com
• ボタン
Corona SDK での UI
local _W = display.contentWidth
local _H = display.contentHeight
--widget APIの呼出し
local widget = require( "widget" )
local button = widget.newButton {
defaultFile = "btn1.png",
overFile = "btn2.png", }
button.x = _W/2 ; button.y = _H/2
13年5月11日土曜日
ColonaLabs.com
• 標準 UI ボタン類
Corona SDK での UI
サンプル解説(紹介のみ)
•Sample > Interface > NativeDisplayObject
•Sample > Interface > WidgeDemo
13年5月11日土曜日
ColonaLabs.com
  Corona SDK #5 まとめ
13年5月11日土曜日
ColonaLabs.com
  Corona SDK #5 まとめ
• 音の再生( BGM、イベント発生時 SE )
• 画面遷移( APIの使い方、Data受渡し )
• UI など ( iPhone5対応、ボタン類 )
13年5月11日土曜日
ColonaLabs.com
お疲れさまでした。。。
#6へ つづく。。。
13年5月11日土曜日

Mais conteúdo relacionado

Semelhante a Corona HandsOn#5

Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
Corona HandsOn #1
Corona HandsOn #1Corona HandsOn #1
Corona HandsOn #1Tetsuo Ono
 
Voicepic@FacebookNight
Voicepic@FacebookNightVoicepic@FacebookNight
Voicepic@FacebookNightManabu Shimobe
 
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud PipelinesSpring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud PipelinesJunya Katada
 
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術Toru Yamaguchi
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Masaki Muranaka
 
JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE AWS連携編」| SORACOM 最新アップデート ーAfter the...
JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE AWS連携編」| SORACOM 最新アップデート ーAfter the...JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE AWS連携編」| SORACOM 最新アップデート ーAfter the...
JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE AWS連携編」| SORACOM 最新アップデート ーAfter the...SORACOM,INC
 
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 それ...SORACOM,INC
 
WindowsPhone arch 神戸#1
WindowsPhone arch 神戸#1WindowsPhone arch 神戸#1
WindowsPhone arch 神戸#1Tomonori Ohba
 
OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編Hideki Saito
 
Fuchsia概略その1
Fuchsia概略その1Fuchsia概略その1
Fuchsia概略その1l_b__
 
Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。Manato KAMEYA
 
20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability SeminarVisso株式会社
 
Firefox Ecosystem in Kagoshima
Firefox Ecosystem in KagoshimaFirefox Ecosystem in Kagoshima
Firefox Ecosystem in Kagoshimadynamis
 

Semelhante a Corona HandsOn#5 (20)

Storyboard
StoryboardStoryboard
Storyboard
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
Corona HandsOn #1
Corona HandsOn #1Corona HandsOn #1
Corona HandsOn #1
 
Blackberry introduction
Blackberry introductionBlackberry introduction
Blackberry introduction
 
Voicepic@FacebookNight
Voicepic@FacebookNightVoicepic@FacebookNight
Voicepic@FacebookNight
 
Spring I/O 2018 報告会
Spring I/O 2018 報告会Spring I/O 2018 報告会
Spring I/O 2018 報告会
 
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud PipelinesSpring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
 
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
 
OpenStack Updates
OpenStack UpdatesOpenStack Updates
OpenStack Updates
 
JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE AWS連携編」| SORACOM 最新アップデート ーAfter the...
JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE AWS連携編」| SORACOM 最新アップデート ーAfter the...JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE AWS連携編」| SORACOM 最新アップデート ーAfter the...
JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE AWS連携編」| SORACOM 最新アップデート ーAfter the...
 
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 それ...
 
RoboVM
RoboVMRoboVM
RoboVM
 
Openstack chef-repo
Openstack chef-repoOpenstack chef-repo
Openstack chef-repo
 
WindowsPhone arch 神戸#1
WindowsPhone arch 神戸#1WindowsPhone arch 神戸#1
WindowsPhone arch 神戸#1
 
OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編
 
Fuchsia概略その1
Fuchsia概略その1Fuchsia概略その1
Fuchsia概略その1
 
Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。
 
20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability Seminar
 
Firefox Ecosystem in Kagoshima
Firefox Ecosystem in KagoshimaFirefox Ecosystem in Kagoshima
Firefox Ecosystem in Kagoshima
 

Mais de Tetsuo Ono

Green Hack CoronaHandsOn#1
Green Hack CoronaHandsOn#1Green Hack CoronaHandsOn#1
Green Hack CoronaHandsOn#1Tetsuo Ono
 
Corona handsonvol.2 #6
Corona handsonvol.2 #6Corona handsonvol.2 #6
Corona handsonvol.2 #6Tetsuo Ono
 
Corona handsonvol.2 #5
Corona handsonvol.2 #5Corona handsonvol.2 #5
Corona handsonvol.2 #5Tetsuo Ono
 
Corona Handson vol.2 #4
Corona Handson vol.2 #4Corona Handson vol.2 #4
Corona Handson vol.2 #4Tetsuo Ono
 
Design workshop #2
Design workshop #2Design workshop #2
Design workshop #2Tetsuo Ono
 
Design workshop #1
Design workshop #1Design workshop #1
Design workshop #1Tetsuo Ono
 
Corona HandsOn#6
Corona HandsOn#6Corona HandsOn#6
Corona HandsOn#6Tetsuo Ono
 
CoronaSDK Meetup Tokyo 2013 #1
CoronaSDK Meetup Tokyo 2013 #1CoronaSDK Meetup Tokyo 2013 #1
CoronaSDK Meetup Tokyo 2013 #1Tetsuo Ono
 
Corona HandsOn#4
Corona HandsOn#4Corona HandsOn#4
Corona HandsOn#4Tetsuo Ono
 
初めてのアプリを2ヶ月でリリースする方法
初めてのアプリを2ヶ月でリリースする方法初めてのアプリを2ヶ月でリリースする方法
初めてのアプリを2ヶ月でリリースする方法Tetsuo Ono
 

Mais de Tetsuo Ono (10)

Green Hack CoronaHandsOn#1
Green Hack CoronaHandsOn#1Green Hack CoronaHandsOn#1
Green Hack CoronaHandsOn#1
 
Corona handsonvol.2 #6
Corona handsonvol.2 #6Corona handsonvol.2 #6
Corona handsonvol.2 #6
 
Corona handsonvol.2 #5
Corona handsonvol.2 #5Corona handsonvol.2 #5
Corona handsonvol.2 #5
 
Corona Handson vol.2 #4
Corona Handson vol.2 #4Corona Handson vol.2 #4
Corona Handson vol.2 #4
 
Design workshop #2
Design workshop #2Design workshop #2
Design workshop #2
 
Design workshop #1
Design workshop #1Design workshop #1
Design workshop #1
 
Corona HandsOn#6
Corona HandsOn#6Corona HandsOn#6
Corona HandsOn#6
 
CoronaSDK Meetup Tokyo 2013 #1
CoronaSDK Meetup Tokyo 2013 #1CoronaSDK Meetup Tokyo 2013 #1
CoronaSDK Meetup Tokyo 2013 #1
 
Corona HandsOn#4
Corona HandsOn#4Corona HandsOn#4
Corona HandsOn#4
 
初めてのアプリを2ヶ月でリリースする方法
初めてのアプリを2ヶ月でリリースする方法初めてのアプリを2ヶ月でリリースする方法
初めてのアプリを2ヶ月でリリースする方法
 

Corona HandsOn#5