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

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

自制小球淘汰賽教程(三)自定義變量

2023-08-01 19:31 作者:灰安教主  | 我要投稿

自定義變量有很多用途,比如傳送門(mén)傳了幾個(gè)小球后自動(dòng)消失,小球的分?jǐn)?shù)等,都可以用自定義變量實(shí)現(xiàn)。

我現(xiàn)在講的都是原理,后面會(huì)直接給出實(shí)際例子,實(shí)在看不懂原理的就等后面抄代碼吧……

真的想做好原創(chuàng)球賽up,還是建議搞清楚原理,單純復(fù)制別人的代碼適合自?shī)首詷?lè)。

一、物體本身的變量。

右鍵打開(kāi)物體的script腳本選單,左上角有一個(gè)黑色的長(zhǎng)方形文本框,在這里就可以輸入自定義變量。


隨便一個(gè)物體腳本選單左上角

怎么自定義變量呢?

比如,我想給小球增加一個(gè)“血量”,那么,在這個(gè)文本框輸入

_HP = 100 (創(chuàng)建變量也可以輸入_HP := 100,一般情況沒(méi)啥區(qū)別,需要區(qū)別時(shí)再說(shuō)明)

再按回車(chē)鍵。

然后,你就會(huì)發(fā)現(xiàn),下面就多出來(lái)了一個(gè)名為“_HP”的屬性。

名字隨便取,你也可以寫(xiě)其他英文/數(shù)字/下劃線組合,_life,_XueLiang,_name5,隨便起名,只要不跟已有的重復(fù)就行。

這個(gè)變量只對(duì)這個(gè)物體本身生效。

如果重復(fù)取名,會(huì)發(fā)生什么呢?

比如,現(xiàn)在已經(jīng)有了_HP這個(gè)變量,如果我再在文本框輸入_HP = 200并按回車(chē)鍵,那么就會(huì)發(fā)現(xiàn)下面的_HP = 右邊也變成了200。

這些變量名稱(chēng)是按照英文字母順序排列的,先排大寫(xiě)字母A到Z,然后下劃線,最后小寫(xiě)字母a到z。

在實(shí)際使用中,變量名稱(chēng)如果只是大小寫(xiě)不同,那么就被視為同一個(gè)變量。

比如已有_HP的情況下,你再輸入_hP = 300,_Hp =114,_hp = 999,并不會(huì)再創(chuàng)建新的變量,而是改變_HP的數(shù)值。

注意:

有下劃線前綴的自定義變量,會(huì)永久保存,比如 _HP,_score。

沒(méi)有加下劃線的自定義變量,關(guān)掉場(chǎng)景時(shí)就會(huì)消失,比如HP,score。

所以想要永久保存的話,請(qǐng)一定記得加上下劃線。

自定義變量本身只是一個(gè)數(shù)值,沒(méi)有其他效果。

這個(gè)自定義變量怎么使用,看你自己。

比如我要把_HP當(dāng)做小球的分?jǐn)?shù)來(lái)使用,我在場(chǎng)上設(shè)置各種傳送門(mén),碰到一次就扣1分,那么在那個(gè)傳送門(mén)的oncollide里加上

e.other._hp = e.other._hp - 1

就能實(shí)現(xiàn)積分賽里面的扣一分效果。


又或者,我要把_HP當(dāng)做傳送門(mén)的血量,只讓49個(gè)球通過(guò),49個(gè)球過(guò)去后,傳送門(mén)就自動(dòng)消失,那么就可以給傳送門(mén)添加自定義變量 _HP = 49,并在oncollide里寫(xiě)

(e) = > {

??e.other.pos = [xx,yy];

??_HP = _HP -1

}

poststep里寫(xiě)

(e) = > {

??_HP <=0 ? {

????Timetolive = 0

}:{}

}

這樣,這個(gè)傳送門(mén)的初始HP是49,每傳送一次HP就減一。隨時(shí)判斷HP是否小于等于0,如果已經(jīng)小于等于0,立刻把傳送門(mén)的存活倒計(jì)時(shí)改成0,立刻消失。


自定義變量不一定是數(shù)字,還可以是:

數(shù)組 ???[1,2,3],[15,36]

布爾變量 ??true或者false

字符串(文本),必須加上引號(hào) ??”矢車(chē)菊”? ”大青亡了”? “l(fā)ime”


二、場(chǎng)景變量

場(chǎng)景變量的創(chuàng)建、使用方法跟物體本身的變量一模一樣。

兩者的區(qū)別就是:

物體本身的變量,在哪里創(chuàng)建的,就只適用于那個(gè)物體本身。

場(chǎng)景變量,隨便你在哪里創(chuàng)建,都是這張圖共用的。

至于場(chǎng)景變量的格式,很簡(jiǎn)單,就是創(chuàng)建物體本身變量的方法,只不過(guò)你得在名字前加上scene.my.

比如scene.my.hp = 100,scene.my.spots1 = 49

場(chǎng)景變量,關(guān)掉algodoo后不會(huì)消失,不用必須加下劃線。


那么,說(shuō)一下場(chǎng)景變量的使用實(shí)例。

還是以自動(dòng)消失的傳送門(mén)為例。

假如我在第一關(guān)畫(huà)了3個(gè)傳送門(mén),我想讓這三個(gè)傳送門(mén)血量共用,三個(gè)傳送門(mén)總共只能傳送49個(gè)球,就可以使用場(chǎng)景變量了。

把前面物體變量例子的_HP,全部改成scene.my.hp即可。

即隨便在某個(gè)script腳本選單里輸入scene.my.hp = 49,

然后三個(gè)傳送門(mén)oncollide里都寫(xiě)

(e) = > {

??e.other.pos = [xx,yy];

??scene.my.hp = scene.my.hp -1

}

poststep里寫(xiě)

(e) = > {

??scene.my.hp <=0 ? {

????Timetolive = 0

}:{}

}


第二關(guān)的傳送門(mén)血量想設(shè)置成48,那再創(chuàng)建個(gè)場(chǎng)景變量scene.my.hp2 = 48,其他如法炮制即可。

同理,第三關(guān)傳送門(mén)scene.my.hp3 = 47

第四關(guān)傳送門(mén)scene.my.hp4= 46

……

在我發(fā)布的50球淘汰賽模板里,我每關(guān)酸橙色的過(guò)關(guān)傳送門(mén),血量都是以scene.my.spots的格式創(chuàng)建的場(chǎng)景變量。

第一關(guān)是scene.my.spots1

第二關(guān)是scene.my.spots2

……

這樣,給功能類(lèi)似的一系列變量起名時(shí),加個(gè)數(shù)字編號(hào),更方便識(shí)別。當(dāng)然,你也可以隨便取名,只不過(guò)變量創(chuàng)建太多了,可能會(huì)忘掉每個(gè)變量是干什么的。


場(chǎng)景變量還有另外一種創(chuàng)建方法:

按下鍵盤(pán)上的~鍵(左上角數(shù)字1旁邊的那個(gè)),就會(huì)打開(kāi)控制臺(tái)。(不推薦新手使用控制臺(tái))

控制臺(tái)

在控制臺(tái)也可以輸入scene.my.hp = 49,以此創(chuàng)建場(chǎng)景變量。

注意:如果你在控制臺(tái)創(chuàng)建變量時(shí)不加scene.my.,而是直接寫(xiě)hp = 49,這叫做全局變量。

強(qiáng)烈推薦創(chuàng)建全局變量

全局變量適用于“這臺(tái)電腦上的所有algodoo場(chǎng)景”,包括以前的、未來(lái)新建的、以及你下載的別人的圖,都會(huì)有hp = 49這個(gè)變量。

然而你把圖分享給其他人,在別的電腦上打開(kāi),就不會(huì)有hp =49這個(gè)變量。

別亂動(dòng)控制臺(tái)!創(chuàng)建變量建議都在物體的腳本選單進(jìn)行,出了bug也好修復(fù)。


三、改變變量的數(shù)值

假如有個(gè)變量scene.my.hp = 100,以此為例介紹下改變此變量的方法。

改變變量,也在物體的腳本選單左上角進(jìn)行。

方法一,手動(dòng)賦值,格式是 變量名 = xxx

比如我直接輸入scene.my.hp = 120,它的值就變成120了。

再輸入scene.my.hp = 300,它的值就變成300了。

方法二,引用其他變量。

假設(shè)有另外一個(gè)變量scene.my.mp = 666

那么,如果我輸入scene.my.hp = scene.my.mp,按下回車(chē),就會(huì)發(fā)現(xiàn)scene.my.hp的值變得跟scene.my.mp一樣了,也變成了666.

又假設(shè),這個(gè)物體的密度density是2,那么我輸入scene.my.hp = density,scene.my.hp就變成了2

輸入scene.my.hp = density * 8,scene.my.hp就變成了16(2乘8)

方法三,自我運(yùn)算。

比如,輸入scene.my.hp = scene.my.hp - 1,按下回車(chē),scene.my.hp就變成了99;再輸入一次scene.my.hp = scene.my.hp - 1,按下回車(chē),scene.my.hp就變成了98。


總結(jié):自定義變量,隨便取名字(注意不同變量名字別重復(fù)了)。

物體本身的變量,是這個(gè)物體專(zhuān)用的。一定要加上下劃線前綴,才能永久保存。

場(chǎng)景變量,加上scene.my.前綴,這張圖里面所有東西都通用。

全局變量,新人別碰。





自制小球淘汰賽教程(三)自定義變量的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
彭州市| 青州市| 静安区| 二连浩特市| 铅山县| 桐乡市| 佳木斯市| 巧家县| 万安县| 连江县| 陵川县| 西城区| 精河县| 敦煌市| 涪陵区| 肇庆市| 卓资县| 万盛区| 河池市| 治多县| 渝北区| 抚顺市| 三门县| 巴彦县| 黑龙江省| 巴青县| 河源市| 抚州市| 宣恩县| 昭平县| 容城县| 社旗县| 论坛| 清涧县| 墨玉县| 拉萨市| 麻栗坡县| 赤峰市| 资中县| 安化县| 滨海县|