最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

PVZ2國(guó)際版自制關(guān)卡教程第二彈——關(guān)卡框架

2023-06-15 05:07 作者:一只狐海林  | 我要投稿

學(xué)會(huì)了JSON格式,接下來就可以正式進(jìn)入關(guān)卡制作環(huán)節(jié)了。下面是一個(gè)關(guān)卡的基本框架:

為了更清晰,作者這里使用了電腦,手機(jī)與電腦并沒有差別,但最后還是要在手機(jī)上游戲里測(cè)試。

代碼中

波浪號(hào)

未填入值的項(xiàng)

即需要根據(jù)關(guān)卡詳情填寫,下面我們來逐條解釋代碼的意思。

首先是總的花括號(hào)內(nèi):

#comment

是此關(guān)卡的標(biāo)題,但實(shí)際上和關(guān)卡沒有多大關(guān)系,可以隨便填,作用應(yīng)該是讓設(shè)計(jì)關(guān)卡的你區(qū)分每一個(gè)關(guān)卡,如填入:

"#comment": "Test1"

objects

是一個(gè)總的列表,其元素為每一個(gè)具體的關(guān)卡設(shè)置。可以看到列表里面有多個(gè)花括號(hào),每一個(gè)都對(duì)應(yīng)著設(shè)置,下面逐一解釋。

第一個(gè)花括號(hào)中:

objclass

固定填入

LevelDefinition

,可以相當(dāng)于這一設(shè)置的標(biāo)題。這項(xiàng)設(shè)置是用來設(shè)置關(guān)卡的常規(guī)內(nèi)容。

objdata

的值是一個(gè)花括號(hào)括起來的,即具體的設(shè)置。

objdata中:

Description

的值填入關(guān)卡描述,內(nèi)容會(huì)出現(xiàn)在剛進(jìn)入關(guān)卡時(shí)屏幕的下方,可以隨便填,如:

"Description":"A easy test"

LevelNumber

的值填入數(shù)字,即此關(guān)卡為第幾天,對(duì)關(guān)卡沒有太大影響。

Modules

的值是一個(gè)列表,規(guī)定的是游戲的玩法模式,會(huì)與下面的設(shè)置呼應(yīng),代碼中已有的三條是一般每個(gè)關(guān)卡必要的模式,決定了僵尸勝利的條件和生成的波次,無腦填入就好,具體的玩法模式及設(shè)置會(huì)在下一篇介紹。

Name

即關(guān)卡名,填入的值會(huì)在游戲進(jìn)行時(shí)顯示在屏幕上。如填入:

"Name":"Test1"

StartingSun

填入數(shù)字,用于設(shè)置初始陽(yáng)光數(shù)量,會(huì)受初始陽(yáng)光強(qiáng)化道具的加成。此條可以刪去,即使用默認(rèn)陽(yáng)光數(shù)。

StageModule

用于設(shè)置場(chǎng)景,填入值的格式是"RTID(世界名Stage@LevelModules)"如想要未來世界的場(chǎng)景即填入:

"StageModule":"RTID(FutureStage@LevelModules)"

注意大小寫。

第二個(gè)花括號(hào)中:

aliases

也可以理解為一個(gè)設(shè)置的標(biāo)題,它的值是一個(gè)中括號(hào),里面一般是寫著對(duì)應(yīng)的游戲模式。如這里的"NewWaves"就對(duì)應(yīng)了游戲模式中的"RTID(NewWaves@CurrentLevel)"

objclass和objdata

在這一項(xiàng)設(shè)置填入的值是固定的,抄上去即可,注意寫objdata時(shí)別忘了它的值是一個(gè)花括號(hào)。

第三個(gè)花括號(hào)中:

這條設(shè)置是對(duì)波次的常規(guī)設(shè)置。

aliases和objclass

固定。

objdata中:

FlagWaveInterval

的值填入數(shù)字,是規(guī)定每幾波出現(xiàn)大波。如總共有10波,填入5則第5波和第10波會(huì)有大波提示。

MaxNextWaveHealthPercentage和Min…

是規(guī)定場(chǎng)上僵尸總生命值降低至原總生命值的百分之多少時(shí)出現(xiàn)下一波僵尸,一般不去改動(dòng)??梢蕴钊胄?shù)如0.55即55%。

WaveCount

的值填入數(shù)字,即一共有幾波僵尸。

Waves

的值是一個(gè)列表,其元素格式都是["RTID(Wave~@CurrentLevel)"],波浪號(hào)填入數(shù)字,代表這是第幾波,WaveCount的值是多少,就要寫到多少波。如:

"WaveCount":3,

"Waves":[

[ "RTID(Wave1@CurrentLevel)" ], [ "RTID(Wave2@…)" ], [ "RTID(Wave3@…)" ]

]

ZombieCountdownFirstWaveSecs

的值填入數(shù)字,決定從開始游戲到第一波僵尸到來的時(shí)間,單位是秒。

接下來就是對(duì)波次的具體設(shè)置:

可以這樣寫:

aliases

中的波浪號(hào)填入數(shù)字,即這一項(xiàng)設(shè)置是對(duì)第幾波的設(shè)置。Wave1就是對(duì)第一波的設(shè)置。

objclass

填入的值表示從右方出僵尸(常規(guī)出怪)。

objdata中:

AdditionalPlantfood

填入數(shù)字,表示此波帶有多少葉綠素。

Zombies

是一個(gè)列表,每個(gè)元素就是具體的每個(gè)僵尸,元素的格式都是:

{

"Row": 數(shù)值, "Type": "RTID(~@ZombieTypes)"

}

Row

為僵尸出現(xiàn)的行,從上到下依次是一二三四五行,刪去則隨機(jī)。

Type

即僵尸種類,波浪號(hào)填僵尸名。

如在第二行出一個(gè)鋼琴家僵尸:

{

"Row":2,

"Type":"RTID(piano@ZombieTypes)"

}

最后是

version

,似乎與關(guān)卡沒有關(guān)系,但必須寫上,值為1即可,注意其所在位置,是與

objects

同級(jí)的。

至此,一個(gè)關(guān)卡的模型就出來了,可以試試自定義出怪了。將自制的關(guān)卡文件替換原來的關(guān)卡,注意文件名,比如文件名為EGYPT1,就替換了原來的埃及第一天,埃及第一天就是你自制的關(guān)卡了。要是替換后游戲閃退,則是格式出了問題,檢查有沒有少了逗號(hào)或雙引號(hào)。若游戲進(jìn)得去但關(guān)卡閃退,則是填入的值出現(xiàn)了問題,排除錯(cuò)誤后,成功進(jìn)入關(guān)卡,就可以游玩自制的關(guān)卡了。

但你很快發(fā)現(xiàn),關(guān)卡沒有讓你選植物,也沒有給定植物,沒法玩。這是因?yàn)橛螒蚰J讲]有選植物模式,在下一篇會(huì)依次介紹游戲模式和對(duì)應(yīng)的設(shè)置,讓你的富有創(chuàng)意的自制關(guān)卡完整起來。此篇就到這里,下一篇見~

PVZ2國(guó)際版自制關(guān)卡教程第二彈——關(guān)卡框架的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
报价| 都兰县| 思茅市| 龙山县| 桂平市| 潢川县| 巨野县| 丹巴县| 壤塘县| 高雄市| 兴城市| 新河县| 沅陵县| 西城区| 响水县| 太和县| 唐海县| 稻城县| 广南县| 南通市| 嘉义县| 西峡县| 林西县| 历史| 涞水县| 博爱县| 安龙县| 乌兰察布市| 双鸭山市| 无为县| 昭觉县| 会昌县| 宁安市| 怀仁县| 定安县| 普兰店市| 定南县| 苏尼特左旗| 永昌县| 阳原县| 淳化县|