五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

Algodoo腳本進階教程

2023-08-22 22:48 作者:ozkey__  | 我要投稿

此教程有關再Algodoo用腳本代碼實現(xiàn)更復雜的功能,不適合新手!

Algodoo腳本新手入門可以看:https://tieba.baidu.com/p/8445647943

或者@灰安教主寫的教程:



1、對象指針

使用對象指針可以遠程操縱一個物體,實現(xiàn)方式:

變量 = {e}????(在onSpawn、postStep等函數(shù)里用)

之后用? 變量.this.xxx? 就可以訪問這個物體的xxx屬性


例:

onSpawn= (e)=>{

????Scene.my.marble = {e}

}?

那么這個物體生成的時候就會將自己綁定到Scene.my.marble這個變量上。

示例圖:

將小球顏色變成黃色


2、Reflection.execudeCode()和eval()

這兩個函數(shù)都是將字符串當成代碼執(zhí)行,但是它們的作用域不同:

Reflection.execudeCode是在全局域執(zhí)行,eval是在局部域執(zhí)行。

例:

eval("scene.my.a" + (2*3+1)+ " = " + 114);

相當于執(zhí)行代碼 scene.my.a7 = 114;


3、數(shù)組

眾所周知,Algodoo中的列表(list)是不能像其他編程語言的數(shù)組那樣修改單個元素的,例如pos = [1 , 1] 可以執(zhí)行,但是 pos(0) = 1 不行。

不過我們也有其它方法來實現(xiàn)可以單點修改的數(shù)組:

用a1,a2,······,an來儲存長度為n的數(shù)組a的各個元素。

再添加以下函數(shù)

就可以用scene.my.get("a"+i) 訪問a_%7Bi%7D%20的值,

用scene.my.assign("a"+i, x)?將a_%7Bi%7D%20賦值為x。


4、擴展for循環(huán)

algodoo自帶的for循環(huán)是這樣的:


可以看到是用遞歸來實現(xiàn)的,效率會比較低,而且循環(huán)次數(shù)n還不能太大(70以上就不行了),否則會導致棧溢出。

我們可以改用下面這個for函數(shù):

這個for函數(shù)的運行速度比Algodoo自帶的快得多,而且由于遞歸層數(shù)少(%5Clceil%20%5Clog_2%20n%20%5Crceil%20%2B1? 層),循環(huán)次數(shù)可以很大。

code是帶有一個參數(shù)的函數(shù),這個參數(shù)是循環(huán)變量,從s取到e。

示例:

求1+2+3+4+5

求1+2+3+······+10000


5、隱藏GUI:

在某個物體的update函數(shù)寫上:

就可以在運行的時候隱藏GUI。


附:我現(xiàn)在使用的一些自定義函數(shù):


如果還有其他的不知道怎么用Algodoo腳本實現(xiàn)的功能,可以在評論區(qū)提問,我會在文章中加上。

Algodoo腳本進階教程的評論 (共 條)

分享到微博請遵守國家法律
禄丰县| 中西区| 渑池县| 阿拉善左旗| 龙州县| 吴忠市| 自贡市| 红安县| 蒙阴县| 西峡县| 海丰县| 安溪县| 樟树市| 宁津县| 黄骅市| 拉萨市| 安乡县| 合肥市| 湖州市| 旌德县| 余姚市| 江源县| 申扎县| 金湖县| 方山县| 眉山市| 建昌县| 彭阳县| 奉化市| 古田县| 什邡市| 成安县| 邵东县| 和田县| 锡林郭勒盟| 遂昌县| 桦南县| 山阳县| 南皮县| 古丈县| 尚义县|