Re: [問卦] 如果不是超導體,但是浮起來有搞頭嗎?

作者: Xaymaca (夏)   2023-07-31 06:21:10
唉唷
我跟你說啦
懶的講而已
https://youtu.be/U5gK12oxCUU?t=163
有沒有用?
不能講太多了
講太多會變這樣 我勸你現在離開 不要按下一頁
你影片都沒看完 就急著按下一頁....
https://youtu.be/U5gK12oxCUU?t=163
先看這一段影片
在考慮要不要按下一頁 我有勸你不要
首先要尋找的事情之一就是找出導致美國大兵凱爾 的 無影摔 bug原因
從最早、bug最多的版本 SF2UA(日期 910206)開始
快打旋風2中的“動作”使用三個變量進行編碼
一個表示該動作是否為站立/蹲伏/跳躍攻擊 另一個表示拳擊/踢擊以及一個 ID
另一個變量跟踪他們是否站立、行走、攻擊或執行強力動作
這每一幀都用在有限狀態機來處理動畫
這些錯誤是由於"在選擇普通攻擊後仍然檢查移動輸入"(因為允許玩家在執行其他移動
的同時進行前進的動作) 以及按鈕解碼器直接設置拳頭/踢腿變量產生的副作用
也沒有考慮想到有些玩家操作習慣的背景
(類似核四工程師自以為把所有可能會出問題的狀況都想好了 哈哈 結果想得太簡單)
因為你懶得再想更多了
首先,我們來看看“立場”錯誤
本來你想要得到的動作是這樣:
距離對手足夠近來倒踢(<70 像素內)
向前衝鋒、集氣然後開始用腳踢 然後在踢腳完成之前
還發一個阿力固
你必須在集氣後有用力按下 並且程式應該允許在同一窗口內使用
結果呢其實這時美國大兵凱爾 執行了倒踢但他沒有回到站立位置
而是卡在了倒踢動畫的最後一禎圖
照理他可能會被擊中(看對手角色) 但如果是電腦對手通常就不會這樣做
因為他們認為你仍在做某種似乎永遠持續的踢擊
所以像遇到爪子(維加)就會感到非常困惑並反復進行滑行攻擊
倒踢是站立踢腿動作
發生的情況是選擇站立踢 然後叫動畫正常開始
阿力固 和 腳刀 在整個攻擊過程中保持運行
這是允許玩家在執行移動的同時向後或向下衝刺所必需的
在此階段 因為我們已經蓄積了足夠長的時間
並且現在正在向前推進 所以 阿力固 狀態機現在正在檢查按鈕按下的情況
只要當它檢測到按鈕按下時 它就會調用按鈕解碼器
按鈕解碼器(可以在 SF2UA ROM 中的地址 0x3296 處找到它)
基本上是一系列“if”語句
用於測試每個按鈕的位元 並設置相應的 出拳/踢腳 和 力道
在第一次if有匹配時就會退出
最後一個條件 就重腿 就沒有經過進一步檢測 就讓它默認返回
即沒有檢測到其他按鈕
只有當已知按鈕有按下時,調用子例程才有意義。
出拳在踢之前進行測試
當你按下出拳按鈕時 玩家的出拳/踢腳變量將被設置為「出拳」
因此玩家的狀態現在是「站立 出拳動作#6」
這實際上代表了 凱爾的"摔"之一 動畫不會改變 但"摔"的狀態機會運行
這是在 0x2f922
踢的狀態機只是等待動畫完成 然後將玩家的狀態變成正常的站立姿勢
可是"摔"的程序則不同
它會在動畫中尋找一個特殊的標誌 表明被摔的角色現在應該被釋放
但這永遠不會出現 所以 凱爾 就可以不斷地做出
「無影摔」
↙集氣

Links booklink

Contact Us: admin [ a t ] ucptt.com