{},"> {}。">

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

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

Algodoo小球比賽教程(2):代碼(e)=>{}

2023-07-25 21:47 作者:LKMremix  | 我要投稿

(本教程適合已經(jīng)擁有一定基礎的人觀看,如果在基礎方面有不懂,可以看:Algodoo部分基礎屬性介紹 by灰安教主

光會擺放各種障礙還不能構成一個比賽。一個小球比賽后面必然有代碼的支撐。

本教程主要講解含有(e)=>{}的部分。

由于本人并不懂專業(yè)術語,如果專業(yè)術語方面有錯各位大佬輕噴。

注意:本文都是文字,可能有些難以理解,把Algodoo打開跟著嘗試一下會效果更好!

(e)=>{}

這是一個類似函數(shù)的表達。

把代碼寫在大括號里面就行。

每個物體都有一些部分會帶有這個。

onClick

onClick的意思就是“當物體被鼠標點擊后”。

也就是說,onClick內(nèi)部的代碼會在物體被鼠標點擊后運行。

onCollide

onCollide的意思就是“當物體發(fā)生碰撞后”。

也就是說,無論是其他物體碰撞到了它,抑或是它碰撞到了其他物體,onCollide內(nèi)部的代碼都會運行。

值得一提的是,當碰撞發(fā)生后,會有專門的變量記錄另一物體的各種屬性——"e.other."。

所以,假如你想讓小球碰到某個物體后傳送,就可以這樣寫:

(e)=>{

????e.other.vel=e.other.vel+[0,1];

}

onDie

onDie的意思就是“當物體消失后”。

這里就要涉及到一個局部變量:timeToLive。

timeToLive的意思是“物體剩余存活時間",里面的數(shù)字以秒為單位。

當timeToLive里面的倒計時結束后,物體就會消失不見(不是隱形,而是真的沒有了)。

onDie就是在timeToLive倒計時結束后運行內(nèi)部的代碼的。

onHitByLaser

onHitByLaser的意思就是“當物體被激光射擊到后”。

也就是說,onHitByLaser內(nèi)部的代碼會在物體被激光射擊到后運行。

onKey

onKey的意思就是“當按鍵被按下后”。

也就是說,onKey內(nèi)部的代碼會在鍵盤上任意按鍵按下后運行。

onSpawn

onSpawn的意思就是“當物體生成后”。

也就是說,onSpawn內(nèi)部的代碼會在物體生成后運行。

注意,這個“生成”的意思是確確實實剛剛生成出來的,不然是不會觸發(fā)的。

有一個最好的實驗方法就是:在onSpawn里面寫一點代碼,然后對著物體ctrl+x,再ctrl+v,你就可以看到效果。

postStep和update

postStep和update都是會不斷重復執(zhí)行的。

但是有不同:postStep的重復執(zhí)行效果要在擬真開始后才會起效,而update無論何時都會起效。

給含有(e)=>{}的函數(shù)賦值

假如你想要在運行過程中改變onCollide的內(nèi)部代碼,該怎么辦呢?

舉個例子,如果你想要第一個碰到這個物體的小球直接消失,第二個以后的小球碰到后向上跳,可以把這個寫在onCollide里面:

(e)=>{

? ? e.other.timeToLive=0;

????onCollide=(e)=>{

????????e.other.vel=e.other.vel+[0,1];

????}

}

(不要忘了分號?。?/p>

沒錯,帶(e)=>{}的函數(shù),如果要賦值,格式就是(函數(shù)名)=(e)=>{(內(nèi)容)}

由于代碼很多且難以理解,我不會去專門講代碼相關,建議最好去學習一下C++、Java等編程語言再來使用,不然上手會有些困難。

好了,本期教程就到這里,希望各位能夠理解并學會使用它們!

(附:"="和"==":

在這里,"="的意思是賦值,比如a是3,b是6,寫a=b的意思就是讓a等于6

而"=="的意思是等于條件判斷,比如a是3,b是6,寫a==b的意思就是判斷a等不等于b,現(xiàn)在來看是不等于的,會返回false。如果等于,就會返回true)

Algodoo小球比賽教程(2):代碼(e)=>{}的評論 (共 條)

分享到微博請遵守國家法律
汕尾市| 彩票| 靖州| 晋州市| 衡水市| 大田县| 公安县| 隆子县| 扎赉特旗| 安溪县| 邯郸市| 平潭县| 额敏县| 沙河市| 乌拉特后旗| 开化县| 乌恰县| 拉孜县| 蒲江县| 富宁县| 陆良县| 剑阁县| 梁平县| 郁南县| 舟山市| 宝坻区| 黔江区| 洪湖市| 兴安盟| 高陵县| 金华市| 宁乡县| 沧州市| 竹溪县| 仪陇县| 方山县| 鹿邑县| 龙江县| 新民市| 元朗区| 黔江区|