{},"> {}。">

国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)=>{}的評論 (共 條)

分享到微博請遵守國家法律
夏邑县| 泊头市| 黑水县| 商城县| 宁乡县| 宁陵县| 广丰县| 定陶县| 七台河市| 武乡县| 禄劝| 昌吉市| 越西县| 广东省| 康平县| 习水县| 夏邑县| 翼城县| 蒙自县| 河池市| 东山县| 汾西县| 澄城县| 湖南省| 乐至县| 富宁县| 新晃| 浠水县| 河东区| 肇庆市| 涞水县| 上思县| 汉沽区| 万载县| 贵德县| 利辛县| 隆安县| 阿勒泰市| 临湘市| 聂拉木县| 昔阳县|