看板 GameDesign 關於我們 聯絡資訊
※ 引述《joe820730 (Let it go)》之銘言: : 以上的方法很好處理,而且可以在一些趣味性質的譜面設計一些超高速的Note來搞初見殺 : 但是如果要做到整個譜面瞬間停止的效果我就沒想法了 : 所謂的瞬間停止可以參考:https://youtu.be/nNDqedR2qq4?t=73
沒想到有一天會看到自家遊戲在版上被cue,手癢忍不住來回一下XD。 上面aegis123321大回的那一篇和Lanota的實作方式非常相似,我就補充一下實作細節。 實作方法就是使用絕對位置相減來求判定點與Note的相對位置, 而非試圖直接求相對位置,這樣有助於簡化問題。 若令時間->絕對位置函數為Pos(t),則相對位置NPOS可以表示成 NPOS = Pos(NT)-Pos(CT) 這樣做的好處是Pos(t)實作可以非常單純, 做法就是在譜面中紀錄一個帶有時間點的變速表(如:3秒時變2倍快), 方便建立時間->速度函數,我們先叫他Speed(t), 那麼Pos(t)就只是將Speed(t)積分起來而已,實際上Speed(t)看起來會像是長條圖, 所以積分也就只是算長方形面積累加而已,程式上一個for迴圈就搞定了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.179.236 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1627482673.A.E11.html
joe820730: 居然召喚出原作者讓我嚇了一跳XD 07/29 00:56
joe820730: 在我一開始的文章中有些細節其實我漏掉了 07/29 00:57
joe820730: 其實我目前的公式就是aegis123321大大所寫的那樣 07/29 00:59
joe820730: 只不過我程式裡是寫成NPOS=(NT-CT) * X * SPEED 07/29 01:01
joe820730: 其實就是把公式給簡化了,但概念上應該是一樣的 07/29 01:01
joe820730: 喔天啊,我終於想通了,所以我打從一開始把整條譜面當 07/29 01:08
joe820730: 成一個輸送帶的概念就錯了... 07/29 01:08
joe820730: 要做到變速效果反而不能把公式化簡 07/29 01:11
wulouise: 你可以追加各自note的速度,這樣舊的不用改很多(吧 08/01 14:36