創作內容

6 GP

[RMMV 插件] 打磚塊v1.2 (最後更新:170610)

作者:未来ずら│2016-07-02 19:11:52│巴幣:1,010│人氣:822
<更新履歷>
v1.2:
    對應主程式v1.5

v1.1:
    1.對應主程式v1.31
    2.板子和球設定方式變更
    3.貫通球演出變更
    4.插件參數英文化 & 擴充,需要重設
造成不便請多包涵


最近在懷舊...所以...

做了個打磚塊插件

嗯,打磚塊


打磚...

⊂彡☆))∀`) < 想當年物資缺乏...




當然也有基本樣式可使用


Download
demo v1.1 :
(沒意外不會更新的) 範例專案 (這次因為本體大更動,範例也更新了)
(※範例的插件版本和用法可能是舊的,一切以最新版的插件為主)
※範例的STLLA_ScriptCore確定有問題,務必從下方連結抓最新版取代


必須plugin:
STLLA_ScriptCore.js (共通前置)
STLLA_BreakoutMain.js (系統本體)
STLLA_BreakoutStage.js (關卡設定檔) (內部只有一個 BlockGroup 變數,此插件不必再更新)
STLLA_BreakoutEdit.js (關卡編輯器)(製作用)

附屬plugin:


使用教學

<本體 (STLLA_BreakoutMain.js)

插件參數
本體有很多參數設定,如果很懶也可以就這樣保持預設值
但要注意插件有用到事件開關和變數,看要改掉或是留空:

參數名稱 功能 預設值
Image Path 此系統使用的圖片路徑 img/breakout/
Paddle Image 板子的圖片名稱,不需要時保持空白
Ball Image 球的圖片名稱,不需要時保持空白
EXBall Image 貫通球的圖片名稱,不需要時保持空白
Barrier Image 護罩的圖片名稱,不需要時保持空白
Barrier Y 護罩的Y 516
Paddle Rebound SE 撞到板子時的SE名稱,頻率,音量
(中間不能空格,以下皆同)
Crossbow,120,85
Wall Rebound SE 撞到牆壁時的SE Knock,100,90
Block HP 磚塊1~5的耐久(-1為無法破壞) 1,2,3,4,-1
Block Color 磚塊1~5的顏色
(CSS色碼或textColor編號,
不需要上色的種類保持空白)
,11,17,2,red
Combo Bonus Increase 每多一Combo的追加分數倍率 0.2
Block Break Animation 破壞磚塊時的動畫ID 1
Block Rebound Animation 被磚塊反彈時的動畫ID 2
Count Down SE 倒數最後10秒的SE Decision2,130,100
TimeUp SE 時間到的SE Bell3,100,100
TimeUp Switch 時間到時指定開關為on,不需要時保持空白 5
Score Value 勝負判定時,得到的分數要記錄到哪個變數
不需要時保持空白
5
Time Value 勝負判定時,剩餘的時間要記錄到哪個變數
不需要時保持空白
6
MaxCombo Value 勝負判定時,最大連擊要記錄到哪個變數
不需要時保持空白
7
Score Text 用語「分數」的文字 SCORE:
Combo Text 用語「連擊」的文字 COMBO(※前有空格)
Time Text 用語「剩餘時間」的文字 TIME:
Buff0 Icon 「板子寬度變化」的Icon號
(增加,減少 ,以下同)
35,51
Buff1 Icon 「板子高度變化」的Icon號 37,53
Buff2 Icon 「板子橫向速度變化」的Icon號 38,54
Buff3 Icon 「板子縱向速度變化」的Icon號 39,55
Buff4 Icon 「球攻擊力變化準備」的Icon號 42,58
Buff5 Icon 「球速變化準備」的Icon號 46,62
Buff6 Icon 「球貫通準備」的Icon號 77
Turn Frame 幾Frame做為一回合,回合計算用 60
Break Effect 預設前景圖破壞的計算
0:關、1:消矩形、2:消圓型
2
Block Display 預設是否要顯示磚塊,0關、1開 0
ItemDrop Rate 預設磚頭破壞時掉落道具的機率
0為不掉道具(※有道具插件此值才會生效)
35
Paddle Width 板子預設長度 120
Paddle Height 板子預設高度 15
Paddle SpeedX 板子預設X移動速度 15
Paddle FrictionX 板子預設X摩擦力 3
Paddle SpeedY 板子預設Y移動速度 3
Paddle FrictionY 板子預設Y摩擦力 3
Paddle Smash Range 預設貫通化區域
以中心往左右各延伸n像素,0為無貫通判定
5
Paddle Down Limit 板子預設往下移動限制,也是板子的起始Y 516
Paddle Up Limit 板子預設上移限制 516
Ball Size 球預設直徑 24
Ball Speed 球預設移動速度 7
Ball AtkPower 球預設攻擊力 1


v1.1新功能
現在板子和球的數據改成開戰前套用插件預設值
如果需要個別設定寫在「角色」的註解欄


可用參數一覽:
<BO_PaddleImage:name> 板子圖片名
<BO_BallImage:name> 球的圖片名
<BO_BallEXImage:name> 貫通球的圖片名
<BO_PaddleWidth:formula(※)> 板子寬
<BO_PaddleHeight:formula> 板子高
<BO_PaddleSpeedX:formula> 板子X速度
<BO_PaddleSpeedY:formula> 板子Y速度
<BO_PaddleFricX:formula> 板子X摩擦力
<BO_PaddleFricY:formula> 板子Y摩擦力
<BO_PaddleSmashRange:formula> 板子貫通範圍
<BO_PaddleUpLimit:formula> 板子上移限制
<BO_PaddleDownLimit:formula> 板子初始Y、下移限制
<BO_BallSize:formula> 球大小
<BO_BallSpeed:formula> 球速
<BO_BallAtk:formula> 球攻擊力

※formula如技能公式,可進行簡單的計算,me為角色、v為事件變數,例:
<BO_BallSize:me.mat> 球的大小為角色mat
<BO_BallSpeed:me.agi/2> 球的速度為角色agi / 2
<BO_PaddleWidth:(me.def+me.mdf)*2+v[5]> 板子的寬為角色(def+mdf)*2 + 5號變數值


若有進階需求(像是等級到xx改變球的圖片),那可以用這個:
<BO_commonEV:n>
執行 n 號公共事件
不過,因為只會執行1F,所以別用等待或是顯示對話之類的指令

腳本 指令可修改的數據如下:
STILILA.BO.paddleWidth 板子寬
STILILA.BO.paddleHeight 板子高
STILILA.BO.paddleSpeedX 板子X速度
STILILA.BO.paddleSpeedY 板子Y速度
STILILA.BO.paddleFricX 板子X摩擦力
STILILA.BO.paddleFricY 板子Y摩擦力
STILILA.BO.paddleSmashRange 板子貫通範圍
STILILA.BO.paddleUpPlus 板子上移限制
STILILA.BO.paddleDownLimit 板子初始Y & 下移限制
STILILA.BO.ballSize 球大小
STILILA.BO.ballSpeed 球速
STILILA.BO.ballAtk 球攻擊力
STILILA.BO.paddleImage 板子圖片名 (v1.1新增)
STILILA.BO.ballImage 球的圖片名 (v1.1新增)
STILILA.BO.ballEXImage 貫通球的圖片名 (v1.1新增)
(因應變更,之前$gamePlayer.xxxx全數移除)


範例
STILILA.BO.ballAtk = 10; 球的攻擊力變為10
STILILA.BO.paddleWidth = $gameParty.leader().def; 板子的寬度為隊長的物防
STILILA.BO.paddleSmashRange = Math.round($gameActors.actor(3).dex / 100); 板子的貫通範圍是3號角色的dex/100 (小數四捨五入)

請在關卡開始前變更,戰鬥中更改不會當場反映


插件指令
前景圖破壞效果 (n:0 不破壞、1 方形、2 圓型)
Breakout breakEffect n
破壞前景圖的方式,插件預設值為 2

方形:           圓形:

改變磚塊可視狀態 (n:0 關、1 開)
Breakout blockVisible n
能不能看見磚塊,插件預設值為 0
想做普通的打磚塊,這個就要設1

改變道具掉落率 (n:0~100)   v1.1追加
Breakout itemRate n
更改道具掉落機率,配合道具插件使用


開始打磚塊戰鬥
Breakout start 關卡名稱 磚塊可視 破壞計算 道具掉落率     // 青字為v1.1追加,可省略
在地圖畫面使用會進入指定的打磚塊關卡
在戰鬥中使用則可用來指定下一關 (像是分數低進A關、分數高進B關之類的...)
不過只有在通過關卡時有效
關卡名稱為 STTLA_BreakoutStage.js 裡的關卡名

v1.1追加參數
v1.1後面增加了三個參數,可強制改變該場戰鬥的磚塊可視破壞計算道具掉落率
值為 -1 時表示使用原本設定值


<關卡製作 & 登錄 (STLLA_BreakoutEdit.js)
先把 STLLA_BreakoutEdit.js 的參數設好,
想要什麼關卡名稱、前景背景等等...可空白的部分插件會註明
所謂的「空白」是指什麼都別寫,連半型空格都不要有

插件參數
參數名稱 功能 預設值
Image Path 腳本使用的檔案路徑 img/breakout/
Load Data 如要編輯舊設定,在這輸入BlockGroup已有的關卡名稱
載入設定時,以下參數會被無視
Stage Name 關卡名稱 st1_1
Next Stage 下一關的名稱,不需要時保持空白
Front Image 前景圖名稱(可加個.jpg讀取jpg檔)
Back Image 背景圖名稱
Clear Image 過關圖名稱
Line Color 框線的顏色,可輸入css色碼或textColor的數字 black
Stage Width 場地寬 816
Stage Height 場地高 624
Block Row 磚塊橫排的數量 24
Block Col 磚塊縱排的數量 16
Block Width 磚塊的寬 34
Block Height 磚塊的高 32
Fall Damage 掉球時的傷害量 1
Remain To Clear 磚塊剩餘多少算過關 5
Block Score 本關各種磚塊的基本分 10,20,40,80,160
BGM BGM名稱,頻率,音量,不需要時保持空白 Battle1,100,80
Clear ME 過關時的ME,不需要時保持空白 Victory1,100,90
Lose ME 失敗時放的ME,不需要時保持空白 Defeat1,100,90
Start CommonEvent 戰鬥開始時的公共事件ID,不需要時保持空白
Clear CommonEvent 過關時的公共事件ID,不需要時保持空白
Lose CommonEvent 時間到、HP用盡時的公共事件ID,不需要時保持空白
Time Limit 通關時限(秒數),-1為延用前一關剩餘時間
不需要時保持空白
Item Rare (v1.1追加) 掉落道具的最高稀有度
配合道具插件
0
這些設定會做為關卡數據輸出,關卡數據在本文最後說明


另外要注意Array的部分,像磚塊分數:
10,20,40,80,160
更改時不要有半型空白
10,20,40,80,160 O
10, 20, 40, 80, 160 X

需要字串的地方也請不要多加「''」,這些都會影響判斷
Battle1,100,80 O
'Battle1',100,80 X
上面的錯誤例會讓「'Battle1'」輸出後變成「''Battle1''」


至於 Array 的留空方法
比方說關卡只會用到前2種磚塊,分數可以這樣設:
10,20,,,


設好後就設為 ON 啟動,就會看到像這樣的畫面:

磚頭夠用就好,只要能蓋滿要清除的部分即可
之後就是拿起滑鼠按著左鍵開始塗啦,可用←、→鍵調整磚塊類型

塗到一半如果覺得畫面很花,可以按 W 鍵隱藏沒有磚塊的部分:


Q可以隱藏前景圖確認哪些地方沒塗到:


畫好後按Enter或ESC輸出設定:


在專案根目錄找到剛輸出的設定檔,打開、複製裡面的內容:


打開 STTLA_BreakoutStage.js ,裡面的結構很簡單,只有一個變數:
BlockGroup = {

(中略)

}
把剛複製的關卡設定貼到括弧內,你做的關卡就登錄完畢啦

想進行遊戲時要把 STLLA_BreakoutEdit.js 設為 OFF,不然會強制進入編輯畫面

如果測試之後不滿意,可以直接在這修改數據
像是不想要通關ME,那可以改成:
'clearME' : 0, // 沒有通關ME


編輯舊設定
如果想調整磚塊配置,那 STLLA_BreakoutEdit.js 的插件參數有個「Load Data
輸入已登錄的關卡名稱即可把此關卡設定叫出來
記得改完後一樣要輸出 > 複製取代原設定,它不會直接更改 STTLA_BreakoutStage.js


關卡數據 (STLLA_BreakoutStage.js)
※v1.1追加了新參數itemRare,舊版本的使用者請自行在各關卡補上

如果插件設定不正確導致關卡無法正常讀取,可直接去更改關卡設定
這是一個關卡設定結構:
'demo1-1':{
'name':'demo1-1',                               
'frontImage':'demo1-1',                     
'backImage':'demo1C.jpg',                       
'clearImage':'demo1C.jpg',                      
'blocks':(略)                                          
'blockScore':[10,20,40,80,160],              
'w':816,                                       
'h':624,                                          
'bRow':25,                                   
'bCol':13,                                       
'bWidth':28,                                 
'bHeight':34,                                   
'fallDamage':2,                              
'remainToClear':20,                              
'bgm':['Battle1',100,80],                      
'clearME':0,                                    
'loseME':['Defeat1',100,90],                   
'startCommon':1,                                 
'clearCommon':0,                               
'loseCommon':3,                                  
'timeLimit':250,     
'itemRare':0,   // v1.1追加                            
'next':'demo1-2',                             
}
綠字部分是「真正的」關卡名稱,
插件指令的BreakOut start、關卡編輯器的載入舊設定會用到
而裡面的 name 參數只是給人看的


frontImage
前景圖,也就是要拿來破壞的圖(像是衣服)
圖片類可用png或jpg,jpg需在後面加上.jpg

backImage
背景圖,總之就是疊在前景圖下

clearImage
此關通過時出現的圖,會在背景圖之上,可用來做些角色動作變化之類的
如果只想做普通的打磚塊,以上三張圖設一樣即可

blocks
磚塊排列數據,數字代表磚塊種類(0~5,0代表此格沒磚塊)
這參數主要是用關卡編輯器修改,如果看得懂也是能直接改...

blockScore
各種磚塊(1~5) 依序對應的分數

w、h
整個場地寬、高

bRow、bCol
磚塊橫排、縱排數量

bWidth、bHeight
一個磚塊的大小

fallDamage
失誤時(漏接)受到的傷害值,
畢竟是RM,這裡生命用的是隊長的HP

remainToClear
剩多少塊就判定過關(包含無法破壞的磚塊),
留多少隨意,也可以不留,但一定要比無法破壞的磚塊數量多,不然會卡關

bgm
此關用的BGM,依序為名稱、頻率、音量
想無音可以設0

clearMEloseME
過關、落敗(HP = 0) 時的ME
設置同bgm

startCommon、clearCommon、loseCommon
關卡開始、通過、落敗時要呼叫的公共事件ID
不需要的時候設0
另外在通關的公共事件中能利用插件指令 BreakOut start 來指定下一關,具體請參考範例檔

timeLimit
時間限制,單位是秒
0表示不計時、-1為繼承前一關時間(連續戰鬥才有效)

itemRare (v1.1追加)    
本關掉落道具最高的稀有度
配合道具插件使用

next
指定關卡名表示繼續戰鬥,
如果要結束回地圖畫面就設0
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3241232
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:RM|MV plugin

留言共 1 篇留言

牙籤
十分淺顯易懂 插件功能比想像中更齊全 非常感謝撰寫OAQ!!!

05-16 10:45

我要留言提醒:您尚未登入,請先登入再留言

6喜歡★qootm2 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:[RMMV 插件] 漸變... 後一篇:[RMMV 插件] 打磚...

追蹤私訊切換新版閱覽

作品資料夾

flys8028大家
遊戲心得分享的部落格,有興趣歡迎瞧瞧 https://www.rocksugarcat.com/看更多我要大聲說17小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】