2013年9月10日 星期二

使用spriteSheet時,用ui.lua製作按鈕的方法


使用spriteSheet又要用ui.lua製作按鈕的時候,
在dafaultSrc和overSrc兩個地方不知道要帶什麼參數進去嗎?
(我自己土法煉鋼想出來一個方法,)
(提供給有同樣問題的大家參考一下。)

為了解決這個問題,必須要做兩個動作:
1.改動ui.lua:打開ui.lua檔,搜尋newButton函式,將原來的程式碼改成下面的樣子:
(紅色為改動的地方)



2.在生成按鈕的時候,加入下面兩行:
(紅色為加入的地方)












回到 魏巍的CORONA SDK百科全書

2013年9月5日 星期四

用Texture Packer來製作Corona SDK可以使用的貼圖

記憶體對手機來說彌足珍貴。記憶體使用越少,遊戲或App的效能就越高。為了減少記憶體使用量、減少OpenGL ES呼叫貼圖的次數、利用圖像的透明區塊在同一張貼圖中塞下更多的圖像,以及讓顯示的圖片看起來不會失真,會使用各種軟體把程式裡會用到的圖像全部放進一張貼圖裡面,Texture Packer就是其中一款這樣的軟體。我之前就有在其他的網站介紹過怎麼在Cocos2D裡使用Texture Packer。今天針對Corona SDK,要來介紹怎麼樣用Texture Packer,來做出CORONA SDK可以使用的貼圖集。

1.首先請到Texture Packer的網站下載程式並安裝。
網址:http://www.codeandweb.com/texturepacker/

2.先把要用的圖拉進程式中,放進中間的空間裡,就會發現要用的圖都已經匯進來了

3.設定的部份,如下圖

Data Format: Corona SDK
Data Filename: 取一個名字,用.lua當結尾
Texture Format: PNG
Texture file: 通常取好Data Filename,這邊就會自動生成對應的png檔名
Image Format: RGBA4444
Dithering: FloydSteinbergAlpha




























4.按下上方工作列裡的的Publish按鈕,然後按OK


















5.把Step4生成的.lua檔和.png檔放進專案資料夾裡面

























6.在程式碼上寫上
display.setStatusBar(display.HiddenStatusBar) --隱藏狀態列
local sheetInfo = require("GamePlayImages") -- 生成的lua檔名
local myImageSheet =
    graphics.newImageSheet( "GamePlayImages.png", sheetInfo:getSheet() )
    -- 第一個參數是生成的png檔
local background =
    display.newImage( myImageSheet ,              sheetInfo:getFrameIndex("GamePlayBackground"))
    --真的圖片檔名
background.x = 160
background.y = 240



7.發現圖片已經被我們放到螢幕上了。