Re: [問題] 關於AS計算誤差的問題...(附檔案)

看板Flash作者 (心中在下雨)時間17年前 (2008/02/25 04:42), 編輯推噓2(201)
留言3則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《mosluce ()》之銘言: : http://stumail.nutn.edu.tw/~s925014/01.fla : 實作內容:兩拋體比較... : 發生問題:在調整不同速度時,會產生誤差... : 設計方法:利用onEnterFrame來運轉,詳細請看原始檔的AS... : 經過測試...1~8倍都還可以接受...10倍也OK... : 可是9倍就很明顯有偏差了... : 想求助這方面的演算方法是否有更好的建議哩^^" : 拜託拜託啦^^ 請在最後落地的if判斷句裡加上下列程式碼 ball1: tk=2*Math.abs(b1_vy/a); trace(T+","+tk); draw_block.ball1._x = b1_vx*tk/Number(draw_set.txt_x.text)*540; draw_block.ball1._y = 0; ball1_run = 0; (ball2也一樣) tk是球實際落到地面所花的時間 T則是程式開始到停止所花的時間 看trace出來的結果你就知道問題在哪了 程式跑的時間比真正球落地的時間還久 因為你強制使y座標=0 但是其實他已經穿過地面了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.85.10

02/25 09:46, , 1F
原來問題是我自己造成的XD~
02/25 09:46, 1F

02/25 22:17, , 2F
再修正真實時間
02/25 22:17, 2F

02/25 22:17, , 3F
追加 + 0.5*(0-b1_vy+Math.sqrt(0.25*a*a+2*a*h))
02/25 22:17, 3F
文章代碼(AID): #17mTQvn3 (Flash)
文章代碼(AID): #17mTQvn3 (Flash)