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

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

教你制作小球淘汰賽(3)場景完善以及基本關(guān)卡制作

2023-08-17 14:21 作者:不會玩的萌新a  | 我要投稿

場景的優(yōu)化完善

制作完以上內(nèi)容后,還是有一些小內(nèi)容可以進行優(yōu)化

1.?第一關(guān)的圓環(huán)刪除

第一關(guān)的圓環(huán)如果給予一定的時間刪除就不能保證比賽的隨機性,而如果直接手動刪除又會嚴重影響到觀感。所以,綜合以上兩點,我給出2種合適的解決方法

第一種:添加快捷刪除鍵

快捷控制鍵的設(shè)置

如上圖,選擇第一關(guān)的圓環(huán),在快捷控制鍵里面找到刪除鍵選項,選擇合適的刪除鍵即可

這樣子當開始運行的時候,只需要按下這一個鍵就可以刪除圓環(huán)了。

第二種:隨機timeToLive

在圓環(huán)寫下以下代碼

圓環(huán)代碼

這樣的意思是當比賽開始的時候1-3秒內(nèi)的任意時間圓環(huán)會自動刪除,達到隨機的效果,其中(rand.uniform01)的作用是在0-1之間取隨機數(shù)

2.?預(yù)備格的設(shè)定

這一點在灰安教主的場景里面沒有出現(xiàn),但是我覺得有一定的價值,可以看得更清楚

在第一關(guān)的上方增加一小片區(qū)域,同時上移視角跟隨方塊,使空間大小等于上移距離

預(yù)備格的樣式

在小空間里面增加綠條,代碼和過關(guān)的綠條相似,但是要傳送到第一關(guān)的圓環(huán)里面,也就是在第一關(guān)的圓環(huán)里面添加一個圓點,存下一個坐標,讓綠條傳送

例如可以在綠條寫下

綠條代碼

第三句話是顯示名字,可以刪除(我這里是運用了_name這個變量,你們用materialName代替。之后在下面的圓點寫下以下代碼即可

圓點代碼

接下來,把小球從第一關(guān)的圓環(huán)里面轉(zhuǎn)移到上面的預(yù)備格中,再依次添加名字/注釋即可

預(yù)備格成品

3.?閃隊小球的碰撞優(yōu)化

如果直接在小球里面寫下閃隊的代碼,那么只會讓小球變色,小球碰到排名框不能讓排名框內(nèi)的文字也一起變色,可以使用以下辦法解決這個問題

創(chuàng)建五個小球或方框,把他們的顏色改為閃隊的顏色,然后,時時刻刻用變量存儲他們各自的顏色。

新塊的儲存代碼

接下來,在需要閃的小球update中實時把他們的顏色改為這個變量中的顏色,并在oncollide里面寫下以下代碼

閃隊小球的代碼

這段代碼的大意是如果閃隊小球碰到過關(guān)區(qū)文本框/排名框的時候就把他們的update設(shè)置為“textcolor=scene.my.……”,達到讓排名框或其他需要更隨變色的東西實時改變顏色。(_pp是物品是否需要改變顏色的意思)

當然,其他小球碰到排名框/過關(guān)區(qū)不需要讓他們閃,只需要變色就行了,同時也要去除這個物體的update。在其他所有的小球里面寫下以下代碼即可

其他小球的代碼

4.?淘汰條的簡化設(shè)定

在上述方法中,如果是積分+末尾淘汰賽,那么就會讓小球傳送到錯誤的名次,并且49個淘汰條每一個都不一樣,改起來也不方便,所以可以使用以下方法進行優(yōu)化

第一步,在控制臺中寫下scene.my.num:=50表示創(chuàng)建一個變量儲存剩余的小球數(shù)量

第二步,把淘汰條的傳送代碼修改為

淘汰條代碼

_M表示所觸碰到的物體是否為小球,eval代碼為字符串拼接的意思,scene.my.no(n)就是每個排名框?qū)?yīng)的位置。一開始一共有50個小球,所以第一關(guān)就會把小球傳送到50名的位置

當然,不能每一個小球都傳送到50名的地方,所以每傳送一次小球都要把scene.my.num減去1?;蛘呷绻氵x用了灰安教主排名方式,可以在小球的ondie里寫下scene.my.num=scene.my.num-1

這樣子,全部關(guān)卡的淘汰條中的代碼就一樣了,可以直接復(fù)制使用。

5.?碰撞作用層的巧妙運用

有時候,圓環(huán)、關(guān)卡、墻壁等東西會相互阻擋,產(chǎn)生一些亂七八糟的bug,讓我們非常不愉快,例如關(guān)卡內(nèi)的一個東西轉(zhuǎn)到了圓環(huán)上,被傳送到了圓環(huán)中間。為了防止這種事情的發(fā)生,我們需要設(shè)置一套合適的碰撞作用層,讓所有物件正常運行,互不干擾

以下是一個示例(灰安教主的)

物件/作用層

正常小球 ABCDE

過關(guān)小球 E

圓環(huán) C

起點標志球 (無)

關(guān)卡(普通) A

關(guān)卡特殊物件(如鐳射筆)AE

過關(guān)條 D

關(guān)卡隔條 A

透明隔條 EIJ

關(guān)卡數(shù)顯示框 (無)

過關(guān)區(qū)名稱顯示器 E

過關(guān)區(qū)下面的兩個方框 E

淘汰條 E

排名數(shù)字框(無)

排名超小球/落點框 I

排名文本框 J

排名擋板 I

彩球顏色存儲處 (無)

(如果直接淘汰,沒有超小球,把文本框設(shè)為B)

需要改變小球的碰撞作用層時,改變小球的collideset即可,其中數(shù)字為2進制編碼,對應(yīng)如下表

改變碰撞作用層示例

總數(shù)即為對應(yīng)的碰撞層的編碼的和

A層 1

B層 2

C層 4

D層 8

E層 16

F層 32

G層 64

H層 128

I層 256

J層 512

所有的優(yōu)化設(shè)定就講完的,有什么其他的可以私信補充,接下來講一下基本的關(guān)卡設(shè)定

關(guān)卡的基本制作

制作關(guān)卡有不同的難易程度,這一講先講述極其簡單操作即可完成的關(guān)卡

1.?回家條

增加一個紅色的方框,位置和綠色的過關(guān)條對齊

在回家條中寫下以下代碼代表回家(下面是消失代碼,寫不寫都行)

回家條代碼

需要注意的是,如果小球同時碰到回家和過關(guān),會產(chǎn)生bug,所以一般需要增加一個小條隔開過關(guān)區(qū)和回家區(qū)。制作方法也很簡單,先創(chuàng)建一個方框,用切割工具切開一個尖角即可

隔開示例

2.?圓球

創(chuàng)建一個圓球黏附到背景

3.?方框

創(chuàng)建一個方框黏附到背景

4.?斜著的方框

先創(chuàng)建一個方框黏附到背景,再選擇旋轉(zhuǎn)工具旋轉(zhuǎn)

5.?三角形

創(chuàng)建一個長寬比1:2的方框,切割出2個尖角

三角形的制作

再刪去多余部分,剩下的東西黏附到背景即可

6.?被截斷的物體

先創(chuàng)建一個物體黏附到背景,再創(chuàng)建一個物體,放置在需要切掉的地方,選擇建構(gòu)固體幾何-差集,再刪去后創(chuàng)建的物體即可

差集的用法

7.?組合的物體

和上一個類似,但是選擇聯(lián)集

8.?兩個物體重疊的部分

和6類似,但是選擇交集

9.?不規(guī)則多邊形

只需要在左邊的工具中選擇多邊形工具即可

10.?可染色物體

在腳本選單中設(shè)置_pp為true(前提:有上述第三條優(yōu)化,否則在onCollide里寫下color=e.other.color會有一半的效果(無法閃))

以上都是簡單的靜止物體,下一節(jié)將會教你們?nèi)绾卧O(shè)計可以移動的物體,相信你們一定可以做出滿意的作品!

教你制作小球淘汰賽(3)場景完善以及基本關(guān)卡制作的評論 (共 條)

分享到微博請遵守國家法律
读书| 桃园县| 旬邑县| 浦东新区| 宁国市| 五华县| 平乐县| 友谊县| 丁青县| 台山市| 裕民县| 汝州市| 南乐县| 铜鼓县| 蕉岭县| 神农架林区| 黄骅市| 德清县| 阿拉尔市| 平塘县| 海丰县| 新化县| 长葛市| 杂多县| 黑河市| 莱州市| 景德镇市| 天峨县| 昌宁县| 淮南市| 明溪县| 酉阳| 贞丰县| 东光县| 陆良县| 平阴县| 高邑县| 南部县| 武邑县| 新宾| 龙川县|