簡體   English   中英

彈跳球邊框故障

[英]Bouncing Ball Border Glitch

我正在做一個彈跳球模擬,它使用 0.98 作為重力(正常工作),但有時球會卡在牆上(頂部、底部、左側或右側)並且它的 xspeed 為 0 並且正常速度(或反之亦然)。 我一直試圖通過限制速度來調整它,但這似乎並沒有像我希望的那樣有效。 我目前將其設置為每次球在地板上連續 100 幀后重置。 這是我在 p5.js 上的代碼的鏈接: https://editor.p5js.org/Mavhawk64/sketches/5ks6M4wD0

這是因為有時粒子離邊界太遠,在你反轉它之后,在下一個 tick 時它仍然在邊界之外,然后你再次反轉它,這個東西將無休止地運行 go。 選項1:

你需要能夠檢查並設置一些標志,當你超出盒子的邊界時,你只會反轉一次速度方向。 一旦您再次進入框內,您應該在下次發生這種情況時重置此標志。

選項 2:

您可以區分邊界,並根據擊中的邊界,相應地設置速度。 這意味着,如果您觸及頂部邊界,則將 ySpeed 設置為 (-1) * abs(ySpeed),或者如果您觸及底部邊界,則將 ySepeed 設置為 abs(ySpeed)。 垂直邊框也一樣。 這樣速度就不會在每次滴答聲中反轉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM