corona handson#6

28
ColonaLabs.com 13614日金曜日

Upload: tetsuo-ono

Post on 30-Jul-2015

486 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Corona HandsOn#6

ColonaLabs.com13年6月14日金曜日

Page 2: Corona HandsOn#6

ColonaLabs.com

   Code Less, Play More !   with Corona SDK #6

CoronaSDK Ambassador     小野 哲生

13年6月14日金曜日

Page 3: Corona HandsOn#6

ColonaLabs.com

Corona SDK Hands On ざっくりまとめ

六限目。。。キーンコーン♪

カーンコーン♪

本日のメインはアイデア出し、解説のみでサクサク行きます!

13年6月14日金曜日

Page 4: Corona HandsOn#6

ColonaLabs.com

Corona SDK のLuaの記述について

• -- コメント、--[[ 複数行コメント ]]--

• if( 条件 )then --処理、文末の ; 不要 end

• for 初期値, 終了値, 増分値 do --処理 end

13年6月14日金曜日

Page 5: Corona HandsOn#6

ColonaLabs.com

Corona SDK での表示あれこれ

• テキストの表示

• 画像の読み込み

• 図形の描画

13年6月14日金曜日

Page 6: Corona HandsOn#6

ColonaLabs.com

• テキストの表示

Corona SDK での表示あれこれ

local hello = display.newText("Hello,Corona!", 0, 20, native.systemFont, 44)

13年6月14日金曜日

Page 7: Corona HandsOn#6

ColonaLabs.com

Corona SDK での表示あれこれ

local objB = display.newImage( "objB.png", 0, 0 )

local objY = display.newImage( "objY.png", 20, 20 )

• 画像の表示

13年6月14日金曜日

Page 8: Corona HandsOn#6

ColonaLabs.com

• 図形の描画、色、アルファ値

Corona SDK での表示あれこれ

local rect = display.newRect(20, 20, 100, 100 )

rect:setFillColor( 250, 130, 10, 255 )rect.alpha = 0.5

13年6月14日金曜日

Page 9: Corona HandsOn#6

ColonaLabs.com

Corona SDK でのアニメーション

• transition (CoronaAPIの利用)

• enterFrame (関数でアニメーション)

• spriteSheet (CoronaAPIの利用)

13年6月14日金曜日

Page 10: Corona HandsOn#6

ColonaLabs.com

• transition

local rect = display.newRect(0, 0, 100, 100 )

transition.to( rect, { time = 5000, alpha = 0.5, x = 200, y = 200, rotation = 45} )

Corona SDK でのアニメーション

13年6月14日金曜日

Page 11: Corona HandsOn#6

ColonaLabs.com

Corona SDK でのアニメーション

local rect = display.newRect( 0, 0, 100, 10 )

rect.x = display.contentWidth /2rect.y = display.contentHeight /2

local function animate( event ) rect.rotation = rect.rotation + 1

end

Runtime:addEventListener( "enterFrame", animate );

• enterFrame

13年6月14日金曜日

Page 12: Corona HandsOn#6

ColonaLabs.com

• spriteSheet

Corona SDK でのアニメーション

• https://github.com/TetsuoOnoCoronaSDK-2_3

• zip を DL

• Corona で起動

13年6月14日金曜日

Page 13: Corona HandsOn#6

ColonaLabs.com

Corona SDK でのタッチイベント

• touch( 画面・オブジェクトのタッチ)

• drag ( オブジェクトのドラッグ )

13年6月14日金曜日

Page 14: Corona HandsOn#6

ColonaLabs.com

• touch( タッチで図形描画 )

local function onTouch( event ) if(event.phase == "began") then

local rect = display.newRect(20, 20, 100, 100 )

endend

Runtime:addEventListener( "touch", onTouch )

Corona SDK でのタッチイベント

13年6月14日金曜日

Page 15: Corona HandsOn#6

ColonaLabs.com

• touch( 図形タッチで色変更 )

local rect = display.newRect(20, 20, 100, 100 )

local function changeRGB( event ) rect:setFillColor( 250, 130, 10 )

end

rect:addEventListener( "touch", changeRGB )

Corona SDK でのタッチイベント

13年6月14日金曜日

Page 16: Corona HandsOn#6

ColonaLabs.com

local rect = display.newRect(20, 20, 100, 100 )

local function moveRect( event ) local t = event.targetlocal phase = event.phaseif( "moved" == phase ) then

t.x = event.x; t.y = event.yend

endrect:addEventListener( "touch", moveRect )

• drag

Corona SDK でのタッチイベント

13年6月14日金曜日

Page 17: Corona HandsOn#6

ColonaLabs.com

Corona SDK での物理演算

• 落下と浮遊  ( 重力方向の設定 )

• 衝突判定   ( オブジェクト )

• 衝突判定   ( センサー )

13年6月14日金曜日

Page 18: Corona HandsOn#6

ColonaLabs.com

• 落下と浮遊(重力方向の設定)local physics = require ( ”physics” )physics.start( )physics.setGravity( 6, -9.8 )

local land = display.newRect( 0, 470, 320, 10 )

physics.addBody( land, “static”, { friction = 0.3 } )

local circle = display.newCircle( 50, 450, 25 )physics.addBody( circle, { bounce = 0.6, radius = 25 } )

Corona SDK での物理演算

13年6月14日金曜日

Page 19: Corona HandsOn#6

ColonaLabs.com

• 衝突判定(オブジェクト)_1

local physics = require ( ”physics” )physics.start( )

local land = display.newRect( 0, 470, 320, 10 )

physics.addBody( land, “static”, { friction = 0.3 } )

local circle = display.newCircle( 50, 50, 25 )physics.addBody( circle, { bounce = 0.6, radius = 25 } )

Corona SDK での物理演算

13年6月14日金曜日

Page 20: Corona HandsOn#6

ColonaLabs.com

• 衝突判定(オブジェクト)_2

local function onCollision( )land:setFillColor( 250, 130, 10 )

end

land:addEventListener( “collision”, onCollision )

Corona SDK での物理演算

13年6月14日金曜日

Page 21: Corona HandsOn#6

ColonaLabs.com

• 衝突判定(センサー)_1

local physics = require ( ”physics” )physics.start( )

local land = display.newRect( 0, 320, 320, 10 )

physics.addBody( land, “static”, { isSensor = true } )

local circle = display.newCircle( 50, 50, 25 )physics.addBody( circle, { bounce = 0.6 } )

Corona SDK での物理演算

13年6月14日金曜日

Page 22: Corona HandsOn#6

ColonaLabs.com

• 衝突判定(センサー)_2

local function onCollision( )land:setFillColor( 250, 130, 10 )

end

land:addEventListener( “collision”, onCollision )

Corona SDK での物理演算

13年6月14日金曜日

Page 23: Corona HandsOn#6

ColonaLabs.com

Corona SDK での音、画面遷移、UI など

• 音の再生( BGM、イベント発生時 SE )

• UI など ( iPhone5対応、ボタン類 )

13年6月14日金曜日

Page 24: Corona HandsOn#6

ColonaLabs.com

事前準備• https://github.com/TetsuoOno/ CoronaSDK-5_1

• zip を DL

• Corona で起動

• 音の再生( BGM、SE )

Corona SDK での音の再生

13年6月14日金曜日

Page 25: Corona HandsOn#6

ColonaLabs.com

• iPhone5対応

Corona SDK での UI

事前準備• https://github.com/TetsuoOno/ CoronaSDK-5_4

• zip を DL

• Corona で起動 ※SDK Ver.1076以上で動作

13年6月14日金曜日

Page 26: Corona HandsOn#6

ColonaLabs.com

• ボタン

Corona SDK での UI

事前準備• https://github.com/TetsuoOno/ CoronaSDK-5_5

• zip を DL

• Corona で起動

13年6月14日金曜日

Page 28: Corona HandsOn#6

ColonaLabs.com

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

#7へ つづく。。。

13年6月14日金曜日