Corona HandsOn#5
Upcoming SlideShare
Loading in...5
×
 

Corona HandsOn#5

on

  • 1,008 views

Corona HandsOn #5

Corona HandsOn #5
5限目として、CoronaSDKでの音の再生、画面遷移、UIなどについて

Statistics

Views

Total Views
1,008
Views on SlideShare
1,005
Embed Views
3

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 3

http://www.google.co.jp 2
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Corona HandsOn#5 Corona HandsOn#5 Presentation Transcript

  • ColonaLabs.com13年5月11日土曜日
  • ColonaLabs.com   Code Less, Play More !  with Corona SDK #5CoronaSDK Ambassador     小野 哲生13年5月11日土曜日
  • ColonaLabs.comCorona SDK での音、画面遷移、UI など五限目。。。キーンコーン♪カーンコーン♪13年5月11日土曜日
  • ColonaLabs.comCorona 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 = callbackListener13年5月11日土曜日
  • ColonaLabs.comCorona SDK での音の再生• 音の再生( SE )local SE = audio.loadSound(“se.mp3”)local function onTouch( event )audio.play( SE )endRuntime: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.luaCorona SDK での画面遷移--storyboardAPIの呼出しlocal storyboard = require "storyboard"--同じフォルダ内のscene1.luaへ遷移storyboard.gotoScene( "scene1" )13年5月11日土曜日
  • ColonaLabs.com• 画面遷移( APIの使い方):scene1.luaCorona SDK での画面遷移--storyboardAPIの呼出しlocal storyboard = require "storyboard"--新しいsceneの作成local scene = storyboard.newScene( )13年5月11日土曜日
  • ColonaLabs.com• 画面遷移( APIの使い方):scene1.luaCorona SDK での画面遷移------------------------------------------------------------- BEGINNING OF YOUR IMPLEMENTATION-------------------------------------------------------------createSceneまでの間に--変数・オブジェクト・functionを宣言local _W = display.contentWidthlocal _H = display.contentHeightlocal text113年5月11日土曜日
  • ColonaLabs.com• 画面遷移( APIの使い方):scene1.luaCorona SDK での画面遷移local function onTouch( event )if("began" == event.phase )thentext1.text = "touch"text.x = _W/2 ; text.y = _H/2elseif("ended" == event.phase )thenstoryboard.removeAll( )storyboard.gotoScene( "scene2" )endend13年5月11日土曜日
  • ColonaLabs.com• 画面遷移( APIの使い方):scene1.luaCorona SDK での画面遷移function scene : createScene( event )local group = self.view--テキストオブジェクトの作成text1 = display.newText( "", 0, 0, nil, 40 )--グループに追加group : insert( text1 )end13年5月11日土曜日
  • ColonaLabs.com• 画面遷移( APIの使い方):scene1.luaCorona SDK での画面遷移function scene : enterScene( event )local group = self.view--function onTouchの呼出しRuntime : addEventListener("touch", onTouch )end13年5月11日土曜日
  • ColonaLabs.com• 画面遷移( APIの使い方):scene1.luaCorona SDK での画面遷移function scene : exitScene( event )local group = self.view--function onTouchの破棄Runtime : removeEventListener("touch", onTouch )end13年5月11日土曜日
  • ColonaLabs.com• 画面遷移( APIの使い方):scene2.luaCorona SDK での画面遷移------------------------------------------------------------- BEGINNING OF YOUR IMPLEMENTATION-------------------------------------------------------------createSceneまでの間に--変数・オブジェクト・functionを宣言local _W = display.contentWidthlocal _H = display.contentHeightlocal back13年5月11日土曜日
  • ColonaLabs.com• 画面遷移( APIの使い方):scene2.luaCorona SDK での画面遷移local function onTouch( event )if("began" == event.phase )thenback:setFillColor( 250, 130, 10 )elseif("ended" == event.phase )thenstoryboard.removeAll( )storyboard.gotoScene( "scene1" )endend13年5月11日土曜日
  • ColonaLabs.com• 画面遷移( APIの使い方):scene2.luaCorona SDK での画面遷移function scene : createScene( event )local group = self.view--背景の作成back = display.newRect( 0, 0, _W, _H )--グループに追加group : insert( back )end13年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.luaCorona SDK での画面遷移--db.luaの読み込みlocal db = require( "db" )--変数の宣言local score = 0local scoreTextlocal highScoreText13年5月11日土曜日
  • ColonaLabs.comCorona SDK での画面遷移• 画面遷移( Data受渡し):scene1.lua--次のステージへ画面遷移local function touchToNext(event)--変数aにscoreを代入local a = score--dbのstageclear関数にscoreを渡すstageclear( score )13年5月11日土曜日
  • ColonaLabs.comCorona SDK での画面遷移• 画面遷移( Data受渡し):scene1.lua--scoreを代入したaを渡すstoryboard.gotoScene( "scene2",{ effect = "slideLeft", time = 1000,params = { currentScore = a } })return trueend13年5月11日土曜日
  • ColonaLabs.comCorona SDK での画面遷移• 画面遷移( Data受渡し):scene1.luafunction scene:createScene( event )--抜粋して解説しています。highScoreText = display.newText("", 0, 0,native.systemFont, 30)--gameover関数戻り値highScore代入highScoreText.text = " HighScore: " ..highScoreend13年5月11日土曜日
  • ColonaLabs.comCorona SDK での画面遷移• 画面遷移( Data受渡し):scene1.luafunction scene:enterScene( event )--main.luaからcurrentScoreをもらうif(event.params.currentScore)thenlocal currentScore =event.params.currentScoreend--dbのgameover関数にscoreを渡すgameover( score )end13年5月11日土曜日
  • ColonaLabs.comCorona SDK での画面遷移• 画面遷移( Data受渡し):scene0.luafunction scene:createScene( event )--今回スコアとdbのハイスコア比較if( yourScore >= highScore )then--今回がハイスコア以上の処理elseif( yourScore < highScore )then--ハイスコアの更新なしの処理endend13年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.luaCorona 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.luaCorona SDK での UI--iPhone,iPod touchで960を越えるピクセルif( isTall )thenapplication = {content = {width = 640,height = 1136,--else13年5月11日土曜日
  • ColonaLabs.com• iPhone5対応:main.luaCorona SDK での UIlocal _W = display.contentWidthlocal _H = display.contentHeight--ボタン、テキスト、変数local BTN, modelText, isTall13年5月11日土曜日
  • ColonaLabs.com• iPhone5対応:main.luaCorona 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.luaCorona SDK での UIBTN = display.newRect( 0, 0, 100, 100 )BTN : setFillColor( 250, 130, 10 )BTN . x = _W / 2if( isTall )thenBTN.y = display.pixelHeight -100elseBTN.y = _H -100end13年5月11日土曜日
  • ColonaLabs.com• iPhone5対応:main.luaCorona SDK での UImodelText = display.newText( "", 0, 0, nil, 50 )--端末のピクセルHをテキストに代入modelText.text = display.pixelHeightmodelText.x = _W/2if( isTall )thenmodelText.y = display.screenOriginY +100elsemodelText.y = 100end13年5月11日土曜日
  • ColonaLabs.com• ボタンCorona SDK での UI事前準備• https://github.com/TetsuoOno/CoronaSDK-5_5• .pngをプロジェクトフォルダに追加(コメント書き込み済み)13年5月11日土曜日
  • ColonaLabs.com• ボタンCorona SDK での UIlocal _W = display.contentWidthlocal _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/213年5月11日土曜日
  • ColonaLabs.com• 標準 UI ボタン類Corona SDK での UIサンプル解説(紹介のみ)•Sample > Interface > NativeDisplayObject•Sample > Interface > WidgeDemo13年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日土曜日