2013年10月1日 星期二

Joystick -- 方向鍵

小孩該該
這篇感覺目前用不到,不過是個很多遊戲都會用到的功能耶,之前在捷運時也看到有人用手機玩最終幻想(FF12)也是運用螢幕上的方向鍵,算是讓玩家比較熟悉的操作吧,程式本身又很短,所以來筆記一下。

官網程式分享文有將整個副程式都貼出來,看得懂得可以去試試看怎麼修改,作者還有提供自己製作來模擬的遊戲下載點(根本佛心來)

本篇要說的就是左下角那個方向鍵


先製作一個joystick.lua載入所需的檔案中,這部分沒甚麼改變,主要是main.lua中需要放的程式內容,說明如下:

1
joystick = joystickClass.newJoystick{}

先新增一個joystick的物件(Corona的程式中前方正常都是自訂名稱的物件,後方是想要設定的格式)

-----以下教學純屬娛樂------

用比喻的方法就是:

1
男主角一號 = 天然受的類別.new受{}

照上面的程式寫法我們將男主角一號設定成一個天然受,要改變屬性,要回到類別裡面去設定,男主角一號是要直接使用的變數物件。

-----教學終了------

方向鍵顯示的程式如下:

1
2
3
4
5
local function printOutput()
        print( joystick.joyX , joystick.joyY , joystick.joyAngle , joystick.joyVector )
end
Runtime:addEventListener( "enterFrame" , printOutput )
至於方向鍵功能比較詳細設定的程式如下:(綠色字複製每一項修改的意義,不過未測試所已有的未知)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
local function printJoystick2( event )
        print( event.joyX , event.joyY , event.joyAngle , event.joyVector )
end
 
local joystick2 = joystickClass.newJoystick{
        outerImage = "joystickOuter.png", 
-- 預設的顯示圖(未觸碰時)
        outerRadius = "",
-- 感應的範圍半徑
        outerAlpha = 0.5,
-- 圖示位置變數 Alpha ( 0 - 1 )
        innerImage = "joystickInner.png",
-- 碰觸時顯示圖
        innerRadius = "",
-- 感應半徑
        innerAlpha = 0.5,
-- 圖示位置變數 Alpha ( 0 - 1 )

        backgroundImage = "",
-- Background Image 背景圖片
        background_x = 0,
-- Background X Offset 左右位置
        background_y = 0,
-- Background Y Offset 上下位置
        backgroundAlpha = 1,
-- 圖示位置變數 Alpha ( 0 - 1 )
        position_x = 185,
-- 預設圖示相對於背景圖的左右位置
        position_y = 345,
-- 預設圖示相對於背景圖的上下位置
        ghost = 0,
-- 觸摸效果的設置 ( 0 - 255 )
        joystickAlpha = 0.5,
-- 設置方向鍵群組的位置變數 Alpha ( 0 - 1 ) 
-- 1是顯示 0是至於圖層下隱藏
        joystickFade = true,
-- 按鈕效果 ( true / false )
        joystickFadeDelay = 2000,
-- 觸碰的逾時 ( In MilliSeconds )
        onMove = printJoystick2
-- 觸發的事件
}

模擬程式檔:Download

沒有留言:

張貼留言