因為工作的關係,很久很久沒有更新網誌了,目前卡牌部分已經暫停下來,在此也謝謝曾經與我合作或聯繫的美術,用了雙方不少的時間溝通討論,雖然停擺下來,不過是暫時性的,有機會還是要東山再起試試看啊!
雖然說卡牌停滯,但是之前開發的框架還是可以使用的,所以左思右想之後,目前在開發一款傳統型AVG的遊戲,如果你是60或是70年代的玩家往下看之後應該是不陌生

啊…我回想起國中半夜坐在電腦前面的美好回憶了…………而且右手不聽使喚…不聽使喚的點滑鼠…..
這款個人認為是前無古人後無來者的XXXX,目前VJ的序章已經開發90%,接下來就等美術妹妹幫我處理圖像的部分了。


今天要介紹的就是影格的切換,影格的概念滿單純的:
1.將要播放的圖片做切割變成imageSheet
2.定義要輪播的順序或是格式,官網在這
3.將上述兩項給予sprite
4.告知sprite要跑的動畫
5.play動畫
範例下載

--首先我們仔入主圖,人物圖檔
local img = display.newImage( 'character.png', display.contentCenterX, display.contentCenterY )
--接下來設定預設的表情
local mood = "eyes1"

--這邊要將臉部表情做切割
local options =
{
 width = 88,   --小圖的寬度
 height = 72,  --小圖的長度
 numFrames = 9,--總格數
 sheetContentWidth = 264, --表情的總寬
 sheetContentHeight = 216 --表情的總長
}
--把參數丟給sheet,可樂就會自己去切割了
local imageSheet = graphics.newImageSheet( "face.png", options )

--定義動作參數
local sequenceData =
{
 { name = "eyes1", frames = { 1, 4 ,7 }, time = 300, loopCount = 1, loopDirection = 'bounce' },
 { name = "eyes2", frames = { 2, 5 ,8 }, time = 300, loopCount = 1, loopDirection = 'bounce' },
 { name = "eyes3", frames = { 3, 6 ,9 }, time = 300, loopCount = 1, loopDirection = 'bounce' },
}

--將sheet和表情定義給sprite
local character = display.newSprite( imageSheet, sequenceData )
character.x = display.contentCenterX + 3
character.y = display.contentCenterY - 93

local function play()
 --設定sprite 要跑哪一個動畫
 character:setSequence( mood )
 character:play()
end
timer.performWithDelay( 2000, play, -1 )

local a = display.newText( '笑', display.contentCenterX - 200, display.contentCenterY + 300, 200, 100, native.systemFont ,50 )
a:setFillColor( 1, 1, 1 )
local function onObjectTap( event )
 mood = "eyes1"
end
a:addEventListener( "tap", onObjectTap )

local b = display.newText( '生氣', display.contentCenterX , display.contentCenterY + 300, 200, 100, native.systemFont ,50 )
b:setFillColor( 1, 1, 1 )
local function onObjectTap( event )
 mood = "eyes2"
end
b:addEventListener( "tap", onObjectTap )

local c = display.newText( '害羞', display.contentCenterX + 200, display.contentCenterY + 300, 200, 100, native.systemFont ,50 )
c:setFillColor( 1, 1, 1 )
local function onObjectTap( event )
 mood = "eyes3"
end
c:addEventListener( "tap", onObjectTap )

本次一點點心得小分享。


發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

Related Posts

Corona sdk 實作

CORONA SDK 音樂播放

使用可樂的好處就是比一般的遊戲引擎還快上手,一是不需要做太多設定,二是 Read more…

Corona sdk 實作

Corona SDK 跳動的數字

以上,就是本次教學,謝謝大家。     &nbsp Read more…

Corona sdk 實作

Corona SDK 伺服器讀取資料(文字檔篇)

其實這陣子工作之餘,也忙著開始找尋美術,所以在巴哈發了篇文,原本想說資 Read more…