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

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

【逆旅】algodoo進階教程2:彈跳板,傳送帶和重力改變板

2023-09-23 12:37 作者:逆旅譚帝諤  | 我要投稿

通過本次教程,可以讓大家掌握彈跳板,傳送帶,重力改變板等基礎(chǔ)元件制作。

目錄

一、彈跳板

二、傳送帶基礎(chǔ)版

三、重力改變板

一、彈跳板

為了讓小球碰到水平放置的板子有彈跳的效果,則我們可以在該板子的腳本中寫:

onCollide =?(e)=>{

e.other.vel = [ x , y ]

}

就會有如下的效果:

大青の拋物線


二、傳送帶(基礎(chǔ)版)

在 @灰安教主 的地圖中經(jīng)常看到有的關(guān)卡四周有天藍色的傳送帶:

明示點贊

其實它的制作也很簡單:

豎直向上傳送帶:onCollide = (e)=>{

e.other.vel = [ 0 , a ]

}

水平傳送帶:onCollide = (e)=>{

e.other.vel?= [ a?, 0?]

}

注意:1.a的值盡量偏大,具體數(shù)值需按實際運行效果調(diào)試

2.別忘了給傳送帶加上“>>>>”的文字哦


三、重力改變板

1.單球重力改變

要想改變單球重力,那么一切操作只能針對這個球本身。

所以我們要對小球進行加速度的改變。

眾所周知,重力加速度g約等于9.8m/s^2,那么如果我們想讓小球向上加速且像在重力場一樣,就要把小球的加速度改為-9.8m/s^2。

于是就有了如下代碼:

在板子的oncollide里寫

oncollide = (e)=>{

? ? e.other.postStep := (e)=>{

? ? ? ? vel = vel + [0, 2 * sim.gravitystrength / sim.frequency]

? ? }

}

解釋一下:sim.gravitystrength就是g,但我們不能直接用,因為我們是在對小球進行每幀速度改變,因此要除以sim.frequency(每秒運行幀數(shù)),也就是60。△a=2g,故前面要乘二。

同理,如果要向右,則

oncollide?=?(e)=>{

? ? e.other.postStep := (e)=>{

? ? ? ? vel = vel + [sim.gravitystrength?/?sim.frequency, sim.gravitystrength?/?sim.frequency]

? ? }

}

要想改回來,則寫

oncollide?=?(e)=>{

? ? e.other.postStep := (e)=>{}

}

即可。

2.全體重力改變

這個就簡單多了,改變?nèi)w重力,就是改變重力方向。

但是我們只能在重力選項里手動調(diào)節(jié),因此需要找到該控制選項對應的變量進行修改。

通過查表可得,其變量名是sim.gravityAngleOffset,默認值是0,弧度制,方向豎直向下,順時針旋轉(zhuǎn)的弧度數(shù)即為其值。

則我們可以寫:

oncollide?=?(e)=>{

? ? sim.gravityAngleOffset = 3.1415927

}

以此來使全場重力方向向上。

我還利用這個特地做了一期國色比賽,大家可以在這里看一下實際效果。

鏈接:【逆旅】第13期——本末倒置


好了,這一期的教程就結(jié)束了哦

留個作業(yè):請大概寫出上面的視頻里青黑閃方塊和紅白閃方塊的代碼

下期內(nèi)容預告:區(qū)域性碰撞塊(毒氣,傳送帶等)

【逆旅】algodoo進階教程2:彈跳板,傳送帶和重力改變板的評論 (共 條)

分享到微博請遵守國家法律
三门县| 铜川市| 苍梧县| 尼玛县| 来宾市| 宝山区| 濮阳市| 延寿县| 长丰县| 土默特右旗| 张家口市| 荣成市| 玛纳斯县| 敦煌市| 云林县| 元氏县| 西昌市| 昌乐县| 榕江县| 富宁县| 吴川市| 潍坊市| 唐山市| 南投市| 万盛区| 红安县| 大渡口区| 西平县| 紫金县| 嘉峪关市| 河北区| 漯河市| 景泰县| 库伦旗| 民县| 台山市| 信阳市| 惠水县| 金乡县| 繁峙县| 云阳县|