99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Unity類銀河惡魔城游戲開發(fā):金錢系統(tǒng)與HUD實現(xiàn)詳解

Unity類銀河惡魔城游戲開發(fā):金錢系統(tǒng)與HUD實現(xiàn)詳解 1. 項目背景與整體設(shè)計思路1.1 為什么選擇在這個節(jié)點做金錢系統(tǒng)做過類銀河惡魔城游戲的朋友都知道角色的成長曲線和資源循環(huán)是撐起整個探索體驗的骨架。在完成了角色移動、攻擊、受傷、敵人AI、場景切換這些基礎(chǔ)模塊之后接下來最需要補上的就是經(jīng)濟(jì)系統(tǒng)——也就是讓玩家打怪、探索、冒險之后能獲得實實在在的回報并且這些回報能反過來影響角色的成長和世界的交互。這次要做的金錢系統(tǒng)核心參考的是經(jīng)典橫版探索游戲里那種“擊殺掉落、死亡懲罰、可消費可存儲”的閉環(huán)設(shè)計。具體來說玩家擊殺敵人后掉落一種通用貨幣這種貨幣可以用來購買道具、解鎖功能、開啟捷徑同時角色死亡時會掉落一部分甚至全部貨幣在死亡地點需要玩家跑回去撿回來。這個機制看似簡單但它直接決定了游戲的風(fēng)險回報節(jié)奏——你敢不敢?guī)е淮蠊P錢去探索未知區(qū)域死了之后要不要冒險回去撿這些決策構(gòu)成了探索類游戲最核心的張力。從技術(shù)實現(xiàn)角度看這個系統(tǒng)涉及幾個關(guān)鍵模塊貨幣數(shù)據(jù)的全局管理、掉落物的物理表現(xiàn)與拾取檢測、HUD界面的實時刷新、死亡與重生時的數(shù)據(jù)持久化。這幾個模塊之間耦合度不高但每一個都有不少細(xì)節(jié)坑尤其是HUD部分因為這次還要順帶把Canvas的額外內(nèi)容一起做了包括貨幣顯示、生命值顯示、靈魂/能量條的布局調(diào)整。1.2 整體架構(gòu)選型為什么用單例事件驅(qū)動在動手寫代碼之前先想清楚架構(gòu)。我見過不少新手朋友做這類系統(tǒng)時習(xí)慣把貨幣數(shù)量直接掛在玩家腳本上然后HUD每幀去FindObjectOfType找玩家、讀數(shù)值、刷新文本。這種做法在小型Demo里能跑但一旦場景里有多個需要讀取貨幣的物體比如商店NPC、存檔點、UI面板代碼就會變成一團(tuán)亂麻。這次采用的方案是全局單例管理器 事件驅(qū)動刷新。具體來說建一個GameManager或者專門的CurrencyManager用靜態(tài)實例保證全局唯一貨幣的增減、查詢、持久化都走這個管理器。HUD不直接輪詢數(shù)值而是訂閱一個OnCurrencyChanged事件數(shù)值變了才刷新UI。這樣做的好處很明顯第一任何物體想讀寫貨幣都只依賴管理器不依賴玩家第二UI刷新從每幀一次變成事件觸發(fā)一次性能開銷幾乎為零第三后面要做存檔系統(tǒng)時只需要序列化管理器里的一個字段就行。提示單例模式在Unity里爭議不小但在這種小型Demo里對于真正全局唯一的數(shù)據(jù)貨幣、游戲狀態(tài)、存檔單例是最直接有效的方案。關(guān)鍵是要控制單例的數(shù)量不要什么都往GameManager里塞。1.3 掉落物與拾取的設(shè)計取舍貨幣掉落有兩種常見做法一種是擊殺敵人后直接加錢屏幕上飄個數(shù)字就完事另一種是生成一個物理掉落物玩家走過去或者按拾取鍵才能撿起來。這次選擇后者原因有三第一物理掉落物能給玩家更直觀的反饋看到一地閃閃發(fā)光的貨幣成就感更強第二掉落物可以被擊飛、可以被場景機關(guān)影響增加了戰(zhàn)斗的趣味性第三后面要做“磁吸拾取”或者“自動拾取范圍”這類升級時物理掉落物是天然的基礎(chǔ)。拾取檢測這塊我選擇用觸發(fā)器Trigger而不是碰撞體Collider。掉落物生成時給一個小的圓形觸發(fā)器玩家身上本來就有碰撞體兩者重疊時觸發(fā)OnTriggerEnter2D判斷是不是玩家是就加錢、播放音效、銷毀掉落物。這里有個細(xì)節(jié)掉落物剛生成時應(yīng)該有一個短暫的“不可拾取”時間否則敵人死亡瞬間玩家如果貼臉站著會立刻撿到視覺上很突兀。我一般給個0.3到0.5秒的延遲同時讓掉落物有一個小的隨機初速度看起來像是從敵人身上“爆”出來的。2. 核心細(xì)節(jié)解析與實操要點2.1 貨幣管理器的字段設(shè)計與持久化預(yù)留先看貨幣管理器需要哪些字段。最核心的是一個int類型的當(dāng)前貨幣數(shù)量這個沒什么好說的。但為了后面做存檔和調(diào)試我建議再加幾個一個是string類型的貨幣名稱雖然這次只有一種貨幣但保不齊后面要加第二種一個是int類型的貨幣上限防止數(shù)值溢出或者做背包容量限制還有一個bool類型的調(diào)試開關(guān)打開后可以在Console里打印每次貨幣變化。持久化方面Unity自帶的PlayerPrefs對于Demo來說夠用了但它的缺點是只能存基本類型而且在不同平臺上的存儲位置不透明。更穩(wěn)妥的做法是寫一個簡單的JSON存檔把貨幣數(shù)量、玩家位置、已解鎖功能這些打包成一個對象序列化到Application.persistentDataPath下。這次先不做完整存檔但管理器里要預(yù)留Save()和Load()的空方法后面接存檔系統(tǒng)時直接填邏輯就行。public class CurrencyManager : MonoBehaviour { public static CurrencyManager Instance { get; private set; } [SerializeField] private int currentCurrency 0; [SerializeField] private string currencyName Geo; [SerializeField] private int maxCurrency 999999; [SerializeField] private bool debugMode false; public int CurrentCurrency currentCurrency; public string CurrencyName currencyName; public event Actionint OnCurrencyChanged; private void Awake() { if (Instance ! null Instance ! this) { Destroy(gameObject); return; } Instance this; DontDestroyOnLoad(gameObject); } public void AddCurrency(int amount) { if (amount 0) return; currentCurrency Mathf.Min(currentCurrency amount, maxCurrency); OnCurrencyChanged?.Invoke(currentCurrency); if (debugMode) Debug.Log($Added {amount} {currencyName}, total: {currentCurrency}); } public bool SpendCurrency(int amount) { if (amount 0 || currentCurrency amount) return false; currentCurrency - amount; OnCurrencyChanged?.Invoke(currentCurrency); if (debugMode) Debug.Log($Spent {amount} {currencyName}, total: {currentCurrency}); return true; } public void SetCurrency(int amount) { currentCurrency Mathf.Clamp(amount, 0, maxCurrency); OnCurrencyChanged?.Invoke(currentCurrency); } }這段代碼里有個容易忽略的點DontDestroyOnLoad。因為貨幣是跨場景的全局?jǐn)?shù)據(jù)切換場景時管理器不能被銷毀否則數(shù)據(jù)就丟了。但要注意如果場景里已經(jīng)有一個管理器實例新場景加載時又生成了一個就會沖突。所以Awake里要先判斷Instance是否為空不為空就銷毀自己。這是單例模式的標(biāo)準(zhǔn)寫法但新手經(jīng)常忘記加這個判斷導(dǎo)致切換場景后出現(xiàn)兩個管理器貨幣數(shù)據(jù)錯亂。2.2 掉落物預(yù)制體的物理參數(shù)調(diào)優(yōu)掉落物的預(yù)制體結(jié)構(gòu)很簡單一個空物體掛SpriteRenderer顯示貨幣圖標(biāo)掛CircleCollider2D設(shè)為觸發(fā)器掛Rigidbody2D設(shè)為動態(tài)剛體再掛一個自定義的CurrencyPickup腳本。但物理參數(shù)的調(diào)優(yōu)才是決定手感的關(guān)鍵。首先是質(zhì)量Mass。掉落物的質(zhì)量要設(shè)得很小0.1到0.5之間這樣它才會被玩家的攻擊擊飛而不是像塊石頭一樣紋絲不動。其次是阻力Linear Drag設(shè)成2到5左右讓掉落物飛出去之后很快減速不會滑得太遠(yuǎn)。重力縮放Gravity Scale設(shè)成1到2讓它有自然的下落弧線。彈性Bounciness給個0.3到0.5落地時彈一兩下視覺上更活潑。初速度的施加方式也有講究。我一般用Rigidbody2D.AddForce配合一個隨機方向方向范圍控制在斜上方45度到135度之間力度在3到8之間隨機。這樣每次掉落的散開效果都不一樣不會顯得機械。但要注意如果一次掉落多個貨幣比如擊殺Boss掉20個全部同時生成會瞬間產(chǎn)生大量物理計算低端機上可能卡頓。解決辦法是分幀生成用協(xié)程每隔0.02秒生成一個或者干脆限制單次最大掉落數(shù)量超過的部分直接合并成一個“大額貨幣”掉落物。public class CurrencyPickup : MonoBehaviour { [SerializeField] private int currencyValue 1; [SerializeField] private float pickupDelay 0.4f; [SerializeField] private float magnetRange 0f; [SerializeField] private float magnetSpeed 8f; private bool canBePickedUp false; private Transform playerTransform; private void Start() { StartCoroutine(EnablePickupAfterDelay()); var player GameObject.FindGameObjectWithTag(Player); if (player ! null) playerTransform player.transform; } private IEnumerator EnablePickupAfterDelay() { yield return new WaitForSeconds(pickupDelay); canBePickedUp true; } private void Update() { if (magnetRange 0f playerTransform ! null) { float dist Vector2.Distance(transform.position, playerTransform.position); if (dist magnetRange) { transform.position Vector2.MoveTowards( transform.position, playerTransform.position, magnetSpeed * Time.deltaTime); } } } private void OnTriggerEnter2D(Collider2D other) { if (!canBePickedUp) return; if (!other.CompareTag(Player)) return; CurrencyManager.Instance.AddCurrency(currencyValue); // 播放拾取音效 // 播放拾取粒子效果 Destroy(gameObject); } }這里有個磁吸拾取的預(yù)留邏輯。雖然這次不一定用得上但代碼里留個magnetRange字段后面做“拾取范圍升級”時直接改數(shù)值就行不用重構(gòu)。磁吸的實現(xiàn)是在Update里每幀檢測玩家距離小于范圍就朝玩家移動。注意這里用的是MoveTowards而不是物理力因為物理力容易讓掉落物在玩家周圍亂飛MoveTowards更可控。2.3 HUD Canvas的布局策略與錨點設(shè)置HUD這塊是這次的重頭戲。很多新手做UI時習(xí)慣用絕對坐標(biāo)擺位置結(jié)果換個分辨率就全亂了。正確的做法是用錨點Anchor和相對布局。Unity的Canvas有幾種縮放模式對于橫版游戲我推薦用Scale With Screen Size參考分辨率設(shè)成1920x1080匹配模式選Match Width Or Height橫版游戲一般把匹配值拉到0.5左右這樣在不同寬高比下UI不會變形太嚴(yán)重。貨幣顯示放在左上角用Anchor預(yù)設(shè)的左上角錨點Pivot也設(shè)成左上角然后Pos X和Pos Y給一個小的正值比如40和-40這樣無論屏幕多大貨幣圖標(biāo)和數(shù)字都固定在左上角往里縮40像素的位置。生命值顯示放在貨幣下面或者放在右上角看個人喜好。我習(xí)慣把生命值放左上角貨幣下方靈魂/能量條放右上角這樣視覺重心比較平衡。Canvas的層級順序也要注意。HUD的Sort Order要設(shè)得比游戲世界高但又不能擋住暫停菜單。我一般把HUD的Sort Order設(shè)成10暫停菜單設(shè)成100這樣層級關(guān)系清晰。另外HUD里的元素如果不需要接收點擊事件記得把Raycast Target關(guān)掉減少不必要的性能開銷。雖然對現(xiàn)代設(shè)備來說這點開銷微不足道但養(yǎng)成好習(xí)慣總沒錯。注意Canvas的Render Mode選Screen Space - Overlay還是Screen Space - Camera取決于你要不要在后處理之后渲染UI。如果游戲用了后處理比如Bloom、Color GradingOverlay模式的UI不會被后處理影響看起來更清晰如果想讓UI也吃后處理效果比如UI發(fā)光就用Camera模式。這次Demo沒上后處理用Overlay就行。3. 實操過程與核心環(huán)節(jié)實現(xiàn)3.1 從零搭建貨幣管理器的完整步驟第一步在場景里新建一個空物體命名為GameManagers把CurrencyManager腳本掛上去。這個物體后面還可以掛存檔管理器、音頻管理器、場景加載管理器統(tǒng)一管理全局系統(tǒng)。記得把這個物體放在場景根目錄下不要作為任何其他物體的子物體否則DontDestroyOnLoad的行為會出問題。第二步配置CurrencyManager的Inspector參數(shù)。Current Currency初始值設(shè)0Currency Name填“Geo”Max Currency設(shè)999999Debug Mode先打開方便調(diào)試。運行游戲后在Console里應(yīng)該能看到管理器初始化成功的日志如果加了的話。第三步寫一個測試腳本按空格鍵加100貨幣按回車鍵花50貨幣。把這個腳本掛到玩家身上或者任意物體上運行游戲測試。按空格Console應(yīng)該打印“Added 100 Geo, total: 100”按回車打印“Spent 50 Geo, total: 50”。如果按回車時貨幣不足50SpendCurrency返回false不扣錢Console不打印消費日志。這一步驗證了管理器的基本讀寫邏輯。第四步做掉落物預(yù)制體。在Hierarchy里右鍵新建2D Object Sprites Circle命名為GeoPickup。給它加Rigidbody2DBody Type選DynamicMass設(shè)0.2Linear Drag設(shè)3Angular Drag設(shè)3Gravity Scale設(shè)1.5。加CircleCollider2D勾選Is Trigger半徑設(shè)0.15左右。掛上CurrencyPickup腳本Currency Value設(shè)1Pickup Delay設(shè)0.4。把這個物體拖到Project窗口做成預(yù)制體然后從場景里刪掉。第五步修改敵人死亡邏輯。在敵人腳本的Die()方法里實例化掉落物預(yù)制體位置在敵人中心然后給剛體施加隨機初速度。如果敵人掉落多個貨幣用協(xié)程分幀生成。這里有個細(xì)節(jié)實例化時父物體設(shè)成什么我建議設(shè)成null讓掉落物直接放在場景根目錄下這樣敵人被銷毀時掉落物不會跟著消失。如果設(shè)成敵人的子物體敵人Destroy時掉落物也沒了。private IEnumerator SpawnCurrencyDrops(int totalAmount, int dropCount) { int amountPerDrop totalAmount / dropCount; int remainder totalAmount % dropCount; for (int i 0; i dropCount; i) { int value amountPerDrop (i remainder ? 1 : 0); GameObject drop Instantiate(currencyPrefab, transform.position, Quaternion.identity); drop.GetComponentCurrencyPickup().SetValue(value); Rigidbody2D rb drop.GetComponentRigidbody2D(); Vector2 randomDir new Vector2(Random.Range(-1f, 1f), Random.Range(0.5f, 1.5f)).normalized; rb.AddForce(randomDir * Random.Range(3f, 8f), ForceMode2D.Impulse); yield return new WaitForSeconds(0.03f); } }3.2 HUD貨幣顯示與事件訂閱的接線HUD這邊先在Canvas下新建一個Panel命名為HUDPanel錨點設(shè)成左上角大小設(shè)成300x120左右。在Panel里新建一個Image顯示貨幣圖標(biāo)再新建一個TextMeshPro文本顯示數(shù)字。文本的錨點設(shè)成左中Pos X給個正值讓它在圖標(biāo)右邊。然后寫一個HUDCurrencyDisplay腳本掛到Panel或者文本上。這個腳本在OnEnable時訂閱CurrencyManager.Instance.OnCurrencyChanged事件在OnDisable時取消訂閱。事件回調(diào)里更新文本內(nèi)容。這里有個時序問題如果HUD在CurrencyManager之前AwakeInstance可能還是null。解決辦法是在Start里訂閱而不是Awake因為Unity保證所有物體的Awake都在任何Start之前執(zhí)行?;蛘吒€(wěn)妥的做法是在OnEnable里先判斷Instance是否為空為空就延遲一幀再訂閱。public class HUDCurrencyDisplay : MonoBehaviour { [SerializeField] private TextMeshProUGUI currencyText; [SerializeField] private Image currencyIcon; private void Start() { if (CurrencyManager.Instance ! null) { CurrencyManager.Instance.OnCurrencyChanged UpdateDisplay; UpdateDisplay(CurrencyManager.Instance.CurrentCurrency); } } private void OnDestroy() { if (CurrencyManager.Instance ! null) CurrencyManager.Instance.OnCurrencyChanged - UpdateDisplay; } private void UpdateDisplay(int amount) { currencyText.text amount.ToString(); // 可以加一個數(shù)字滾動動畫這里先直接賦值 } }數(shù)字滾動動畫是個加分項。當(dāng)貨幣增加時不要瞬間跳到新數(shù)值而是讓數(shù)字快速滾動過去視覺上更有“收獲感”。實現(xiàn)方式可以用協(xié)程每幀把顯示值往目標(biāo)值靠攏用Mathf.MoveTowards或者M(jìn)athf.Lerp。滾動速度控制在0.2到0.3秒內(nèi)完成太快沒感覺太慢顯得拖沓。3.3 死亡掉落與重生回收的完整邏輯死亡掉落是貨幣系統(tǒng)的靈魂。玩家死亡時把當(dāng)前貨幣的一部分或者全部掉落在死亡位置玩家重生后貨幣歸零需要跑回去撿。這里有幾個設(shè)計決策掉多少掉全部還是掉一半掉落物會不會消失被敵人撿走怎么辦這次Demo采用掉落全部的方案因為這樣風(fēng)險回報的張力最強。死亡時在死亡位置生成一個特殊的“大額掉落物”外觀和普通掉落物略有區(qū)別比如更大、有光效價值等于玩家死亡時的貨幣總量。玩家重生后貨幣歸零。這個掉落物永久存在直到玩家撿回來。如果玩家在撿回之前又死了新的掉落物會覆蓋舊的——也就是說舊掉落物直接銷毀只保留最新的。這個規(guī)則要明確否則玩家死兩次會有一地掉落物撿起來很混亂。實現(xiàn)上在玩家腳本的Die()方法里先讀取CurrencyManager.Instance.CurrentCurrency如果大于0就在死亡位置生成一個GeoPickup把currencyValue設(shè)成這個數(shù)值同時把pickupDelay設(shè)長一點比如1秒防止玩家重生后立刻撿到。然后調(diào)用CurrencyManager.Instance.SetCurrency(0)清空貨幣。重生邏輯里不需要額外處理因為貨幣已經(jīng)是0了。提示如果要做“死亡掉落一半”的溫和方案把SetCurrency的參數(shù)改成currentCurrency / 2就行。但要注意掉落物價值也要相應(yīng)改成currentCurrency - currentCurrency / 2否則會憑空多出錢來。3.4 場景切換時的數(shù)據(jù)保持與HUD重建因為CurrencyManager掛了DontDestroyOnLoad切換場景時貨幣數(shù)據(jù)不會丟。但HUD是場景內(nèi)的物體切換場景后舊的HUD被銷毀新的HUD需要重新訂閱事件。這就是為什么HUDCurrencyDisplay要在Start里訂閱而不是Awake——新場景的HUD在Start時CurrencyManager.Instance已經(jīng)存在了因為它是DontDestroyOnLoad的訂閱能成功。但這里有個坑如果新場景的HUD在Start里訂閱了事件而舊場景的HUD在OnDestroy里取消訂閱順序上沒問題。但如果舊HUD的OnDestroy在新HUD的Start之后才執(zhí)行會不會把新HUD的訂閱也取消掉不會因為C#的事件訂閱是基于委托實例的取消訂閱時傳的是方法引用只會取消自己那個實例的訂閱不會影響其他實例。所以放心用。另一個坑是重復(fù)訂閱。如果HUD物體被反復(fù)啟用禁用比如打開關(guān)閉背包界面OnEnable里訂閱、OnDisable里取消訂閱要確保成對出現(xiàn)。我見過有人只在OnEnable訂閱忘了在OnDisable取消結(jié)果打開關(guān)閉幾次背包后一次貨幣變化觸發(fā)了多次UI刷新數(shù)字跳得飛快。這種bug排查起來很隱蔽因為邏輯上“看起來”沒問題。4. 常見問題與排查技巧實錄4.1 掉落物不生成或者生成后不動這是最常見的問題通常有三個原因。第一預(yù)制體沒掛Rigidbody2D或者Body Type設(shè)成了Static導(dǎo)致物理力施加無效。檢查預(yù)制體的剛體設(shè)置確保是Dynamic。第二AddForce調(diào)用時機不對。如果剛體還沒初始化就施加力力會丟失。解決辦法是在Instantiate之后等一幀再施加力或者直接在預(yù)制體的Start里施加力。第三掉落物的Collider2D沒勾Is Trigger和地面碰撞后卡住了。檢查碰撞體設(shè)置。還有一種情況是掉落物生成了但瞬間被銷毀。這通常是因為OnTriggerEnter2D在pickupDelay之前就觸發(fā)了而canBePickedUp還是false所以沒撿起來。但如果玩家一直站在掉落物上OnTriggerEnter2D只觸發(fā)一次延遲結(jié)束后不會再次觸發(fā)掉落物就永遠(yuǎn)撿不起來了。解決辦法是在Update里也檢測一次或者用OnTriggerStay2D。我一般用OnTriggerStay2D配合canBePickedUp判斷這樣延遲結(jié)束后如果玩家還在范圍內(nèi)立刻就能撿起來。4.2 HUD數(shù)字不刷新或者刷新成亂碼數(shù)字不刷新先檢查事件訂閱是否成功。在Start里加一行Debug.Log(CurrencyManager.Instance ! null)如果打印false說明管理器實例沒找到??赡苁枪芾砥鳑]掛DontDestroyOnLoad或者場景里根本沒有管理器。如果打印true但數(shù)字還是不動檢查OnCurrencyChanged事件是否真的被觸發(fā)了。在AddCurrency里加日志看看有沒有打印。刷新成亂碼通常是TextMeshPro的字體資源沒設(shè)置好。TMP需要生成字體圖集如果字體圖集里沒有數(shù)字字符就會顯示成方塊或者問號。解決辦法是選中TMP文本組件在Font Asset里選一個包含數(shù)字的字體然后點Generate Font Atlas重新生成。另外如果貨幣數(shù)量很大比如超過99999文本可能超出顯示區(qū)域需要調(diào)整字號或者加一個背景框。4.3 死亡掉落物撿不起來或者撿起來數(shù)值不對撿不起來先看掉落物的pickupDelay是不是設(shè)得太長。如果設(shè)了1秒玩家重生后立刻跑過去可能還沒到1秒撿不起來。但等1秒后如果玩家還在范圍內(nèi)OnTriggerStay2D會觸發(fā)應(yīng)該能撿起來。如果還是不行檢查掉落物的Tag和玩家的Tag是否匹配。OnTriggerEnter2D里判斷的是other.CompareTag(Player)如果玩家物體的Tag不是“Player”就不會觸發(fā)。數(shù)值不對通常是掉落物的currencyValue沒設(shè)置對。死亡掉落時SetValue傳的是死亡時的貨幣總量但如果玩家在死亡動畫播放期間又獲得了貨幣比如毒圈跳傷害擊殺了敵人這個數(shù)值會變。解決辦法是在死亡瞬間就把貨幣數(shù)量緩存到一個局部變量里生成掉落物時用這個緩存值而不是實時讀取。另外如果掉落物被場景切換銷毀了比如玩家死亡后場景重置掉落物也會消失貨幣就永久丟失了。如果不想讓玩家損失太慘可以在場景切換時把掉落物轉(zhuǎn)移到新場景但這涉及跨場景引用比較復(fù)雜Demo里可以先不做。4.4 常見問題速查表問題現(xiàn)象可能原因排查方法解決方案掉落物不生成預(yù)制體未賦值/敵人死亡邏輯未調(diào)用檢查Inspector引用和日志補上引用在Die()里加日志確認(rèn)調(diào)用掉落物生成后不動剛體類型錯誤/未施加力檢查Rigidbody2D設(shè)置改為DynamicInstantiate后施加力掉落物撿不起來延遲未過/Tag不匹配/觸發(fā)器未勾選檢查pickupDelay和Tag用OnTriggerStay2D確認(rèn)Tag為PlayerHUD數(shù)字不刷新事件未訂閱/管理器實例為空加日志檢查訂閱和實例在Start訂閱確保管理器DontDestroyOnLoad數(shù)字顯示為方塊TMP字體圖集缺字符查看TMP字體資源重新生成字體圖集包含數(shù)字死亡后貨幣丟失掉落物被銷毀/未生成檢查死亡邏輯和場景切換緩存死亡時數(shù)值掉落物設(shè)DontDestroyOnLoad切換場景后貨幣歸零管理器被銷毀/新實例覆蓋檢查DontDestroyOnLoad和單例判斷加單例判重確保只有一個管理器4.5 幾個我踩過的坑和獨家技巧第一個坑是物理材質(zhì)。掉落物和地面碰撞時如果地面有物理材質(zhì)Physics Material 2D且摩擦力很大掉落物會卡在地面邊緣不動。解決辦法是給掉落物的碰撞體也加一個物理材質(zhì)摩擦力設(shè)0彈性設(shè)0.3?;蛘吒唵伟训袈湮锏呐鲎搀w設(shè)成觸發(fā)器不和地面發(fā)生物理碰撞只和玩家觸發(fā)。但這樣掉落物會穿過地面掉下去所以需要加一個地面檢測落地后把剛體設(shè)成Kinematic。這個方案更可控推薦使用。第二個技巧是對象池。如果游戲里敵人很多頻繁Instantiate和Destroy掉落物會造成GC壓力。用一個簡單的對象池掉落物撿起來后不銷毀而是設(shè)SetActive(false)放回池子下次生成時從池子里取。對象池的實現(xiàn)不難但要注意重置掉落物的狀態(tài)速度歸零、位置歸位、canBePickedUp設(shè)回false、pickupDelay重新計時。漏掉任何一個都會導(dǎo)致奇怪的bug。第三個技巧是貨幣變化的音效反饋。每次貨幣增加時播放一個短促的“?!甭曇粽{(diào)隨連續(xù)拾取次數(shù)略微升高形成連擊感。這個效果在商業(yè)游戲里很常見實現(xiàn)起來也簡單維護(hù)一個連擊計數(shù)器每次拾取加一音效的pitch設(shè)成1 comboCount * 0.05上限1.5。如果超過0.5秒沒有新的拾取連擊計數(shù)器歸零。這個細(xì)節(jié)能大幅提升拾取的爽快感成本卻很低。第四個坑是UI的Canvas Scaler。如果Canvas Scaler的參考分辨率設(shè)得不對在不同分辨率下UI要么太大要么太小。我試過在2K屏幕上UI小得看不清在720p屏幕上UI又大得擋住半個屏幕。解決辦法是參考分辨率設(shè)成1920x1080匹配模式選Match Width Or Height橫版游戲把匹配值設(shè)成0.5。如果游戲要適配手機豎屏匹配值要拉到1匹配高度因為豎屏?xí)r高度更關(guān)鍵。5. 后續(xù)擴(kuò)展方向與個人體會貨幣系統(tǒng)做完之后下一步自然是商店系統(tǒng)。商店NPC需要讀取貨幣數(shù)量顯示商品列表玩家點擊購買時調(diào)用SpendCurrency成功則給玩家道具。商店的UI可以復(fù)用HUD的Canvas但要注意層級管理商店面板的Sort Order要高于HUD關(guān)閉時恢復(fù)。商店的庫存和價格可以做成ScriptableObject方便策劃配置。另一個擴(kuò)展方向是多種貨幣。比如除了通用貨幣再加一種稀有貨幣只能通過Boss掉落或者隱藏區(qū)域獲得。CurrencyManager可以擴(kuò)展成管理一個貨幣字典Dictionarystring, int每種貨幣有獨立的名稱、上限和事件。HUD上可以只顯示通用貨幣稀有貨幣在背包界面里顯示。這個擴(kuò)展不難但要在架構(gòu)初期就預(yù)留好接口否則后期重構(gòu)成本很高。我個人在實際操作中的體會是經(jīng)濟(jì)系統(tǒng)的數(shù)值平衡比技術(shù)實現(xiàn)難得多。技術(shù)實現(xiàn)無非是增刪改查但“擊殺一個敵人掉多少貨幣”“一個道具賣多少錢”“死亡掉落全部還是部分”這些決策直接決定了游戲的節(jié)奏和難度。我建議在Demo階段先把數(shù)值調(diào)得寬松一些讓玩家能快速體驗到購買和升級的樂趣等核心玩法驗證之后再收緊數(shù)值增加挑戰(zhàn)性。畢竟一個讓人玩不下去的經(jīng)濟(jì)系統(tǒng)技術(shù)再完美也沒用。最后分享一個小技巧在CurrencyManager里加一個CheatAddCurrency方法只在Debug.isDebugBuild為true時生效按某個快捷鍵比如F1加1000貨幣。這樣測試商店和升級系統(tǒng)時不用反復(fù)刷怪效率高很多。發(fā)布正式版時這個功能會自動禁用不用擔(dān)心玩家作弊。這個技巧我在每個項目里都會用省下的測試時間相當(dāng)可觀。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天操天天曰天天射| 久久精品国产一区二区三区四区 | 人妻AV在线观看| 久久99免费视屏| 成人精品免费在线观看| 超碰在线9| 永久的网站AAAA | 五月婷婷九月婷婷九月婷婷| 性爱五月婷婷| www.丁香六月婷婷久久天堂影院.con| 色综合五月| 六月婷婷五月丁香首页| 丁香婷婷浪潮AV久久综合| 99热九九在线| 亚洲丁香五月天在线视频| 亚洲天堂婷婷丁香| 天天爽天天操| 婷婷久草| 婷婷色五月激情| 丁香六月无码播放| 能直接看的AV网站| 久久九九大香蕉电院| 伊人青涩网| 九九热免费视频| 婷婷五月天六月丁香| 性爱人人网| 女人被躁到高潮嗷嗷叫小| 99视频在线精品免费观看2| 91热久| 五月婷婷色色| 人妻丰满精品一区二区A片| 婷婷五月天激情综合深爱激情| 丁香花五月天社区| 玖玖婷婷色| 中文字幕无码AV| 久久亚洲激情五码| 97人妻碰碰中文无码久热丝袜| 天天干天天 亚洲| 99热免费精品热久久66| 91九九热| 久久艹 五月天| av国产精品| 亚洲天天操| 91青娱乐青青草| 91精品久久久久久综合五月天| 久婷婷五月综合欧美| 婷婷五月丁香香蕉| 国产精品涩涩涩视频网站| 色色亚洲视频| 日韩婷婷| 久久99国产综合精品免费| 玖玖精品视频| 日韩成人av在线| 婷婷的久久网站| 婷婷精品在线| 另类少妇人与禽zOZZ0性伦| www天天色天天射| 色99视频| www.色多多婷| 日韩精品超碰在线观看| 九九色情网五月天| 丁香九月久久| 6080av| 热99只有精品| 色色五月天婷婷丁香| j久久性爱视频| 丁香六月婷婷开心| 狠狠干狠狠干狠狠干狠狠干| www.日日日.com| 成人五月天在线视频在线观看| 九月婷婷激情| 热热久久精品视频| 99这里只有精品视频| 五月天堂婷婷| 91色操| 91日视频| 丁香婷五月| 日本成人小说婷婷六月| 开心五月婷婷在线| 亚洲综合1024| 丁香婷婷浪潮AV久久综合| 狠狠干综合| 免看黄大片AA | 丁香婷婷婷| 狠狠搞五月天| 综合色播| 中文字幕婷婷在线| 久久久久综合激动五月天| 久久亚洲无码| 新激情五月天色播| 日日噜噜夜夜狠狠久久丁香五月| 成人av免费观看| 亚洲狠狠色丁香婷婷综合久久| 97久久人人| 丁香婷婷网| 丁香五月日本| 中文字幕成人| 九九美女视频| 九九在线免费观看| 99色视频| 丁香六月啪啪啪| 成人超碰AV| 九九热这里只有精品在线观看| 婷婷丁香综合成人| 日日夜夜天天| 婷婷激情性爱| 激情六月天婷婷| 色婷婷丁香五月天| 色情婷婷。| 少妇激情五月婷婷| 99操碰| 大胆伊人久久| 久久人妻www| 九热视频| 日韩人妻无码精品| 99色五月| 久9精品| 免费观看的AV| 亚洲春色奇米影视| 日日干日日s| 超碰亚洲天堂| 九九热99视频在线| 五月天激情网图片| 欧美日韩五月婷婷| 热99在线| 91干网| 色婷婷丁香五月在线| 久久66精品| 久久国产色| 密乳Va| 五月婷婷久草在线视频综合| 九九热在线视频观看| 99ri视频| 五月久久噜噜| 亚洲性爱AV在线| 日本久久精品| 能看的av| 五月六月丁香婷婷在线观看| 99热这里只有精品8| 亚洲色热| 婷婷丁香五月激情中文字幕版| 婷婷激情五月天小说校园| 色五月天在线观看| 超碰只有精品在线| 五月天婷婷丁香社区| 另类 在线| 色五月色五天色情网址| 婷婷五月永远18免费久久久| 99久久婷婷五月综合| 欧美交换配乱吟粗大25P| 九九综合图片网| 桔色成人在线| 激情伊人网| 婷婷五月天中文字幕| 黄色五月婷婷| 五月天婷婷社区久久综合| 草操网| 99热亚洲| 色狠久| 三日本无码| 99.色| 天天操天天干天天射| 另类激情五月| 国产乱子轮XXX农村| 97色色综合| 五月丁香成人小说| 五六月婷婷| 婷婷五月天福利| 天天天久久久| 91精品刘玥| 激情五婷网| 91操在线观看| 思思热视频| 高潮毛片遮挡费高一百度| 天天色综网| 久久五月天 91| 色五月婷婷老师| 丁香久久五月婷综合| 狠狠五月天婷婷激情网。| 青青草成人网| 99爱在线观看视频| 激情五月,色五月| 国产精品久久久久久亚洲毛片| 五月婷婷人人人操| www.超碰97| 亚洲天天综合| WWW.天天日| 亚洲国产无线乱码在线观看| 思思re视频在线| 一区中文字幕电影| 国产日韩精品SUV| 日日操日日爽| 玖月婷婷爱丁香| 日本一級黃色一級片| 激情婷婷五月天网址| 超碰免费在线| 久久久性爱视频| 日韩欧美一级大黄网站| 丁香六月激情| 人妻久久婷婷| 五月丁六月香| 2025中文在线视频字幕免费观看| 五月天久久色| 色婷婷电影网| 五月天婷婷爱| 色吧五月婷婷| 久久五月网| 久久99久久久久久久噜噜| 五月天婷婷影院影院观看| 亚洲成人在线观看网址| 五月天婷婷免费| 狠狠干五月丁香| 激情综合网色五月| 91男人资源站| 青青久在线视频免费观看| 久久这里只有精品无码| 狠狠se| 亚洲精品白浆高清久久久久久| 婷婷五月色影视先锋| 久久综合99综合| 亚洲在线操| 夜夜爽天天日| 91大屁股| 99re思思热这里| 婷婷久月| 欧美三级黄色片久久| 超碰亚洲天堂| 91凹凸在线| 精品久久久久久久久久久久人妻| www.91在线观看| se色婷婷视频| 91操黄| 丁香五月影院| 天天做天天爽| 亚州美女| 伊人91| 9久精品| 天天爽,夜夜爽| 狠狠擼综合| 丁香色色网| 黄久久久| 91操网| 天堂五月婷婷| 亚洲网站999| 五月天伊人久久| 99ER热精品视频| 99爱视频在线| 午夜天堂一区人妻| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 九月丁香亭亭| 亚洲激情在线| 五月丁香影视| 激情AV网| 人人97操| 综合狠狠干| 97碰碰电影| 伊人久热91网| 日韩 中文 欧美| WWW·色色色·COM| 综合五月婷婷| 亚洲五月天伊人| 99热国产在| 思思热久在线观看视频| 久久婷婷五月综合97色一本| 啪啪黄页网| 4438激情网| www.97碰碰com| 超碰色综合| 99操逼视频| 久久五月网| 久久五月婷| 久久只有精| 日日干综合| 丁香五月婷婷亚洲另类| 亚洲欧洲自拍图片专区五月天| 国产av影片| 日本久久视频| 丁香五月天黄色片| 思思热精品免费视频| 日本片日本片祼观看网站在线看中文版网页在线看| 欧美黑人大吊| 日日操天天爽| 色情五月丁香| 操精品9| 1024欧美日韩精品久久久| 精品欧美一区二区三区久久久| 欧美色99| 六月婷婷综合| 色婷婷色和| 九九干视频| 五月丁香婷婷啪啪| 丁香婷在线| EEUSS鲁片一区二区三区| 亚洲色爱综合| 99精品国产在热久久| www激情| 国产做爰视频免费播放| 九九99精品视品| 色色五月综合| 色五月视频无码播放| 美妞av| 国产,欧美,日韩,性爱| 99九九视屏| 手机旧版看人妻1025| 丁香六月婷婷色XXXXX| 色五月丁香六月婷婷| 伊人五月天婷婷| 久久多色| 欧美伊人9| 激情五月天之六月婷婷| 五月情色天| 五月天色社区| 26uuu偷拍亚洲欧洲综合| 色老久久| 日本社区五月天激情| 国产婷婷色综合AV蜜臀AV| 久久99成人性爱高清视频| 五月婷婷婷婷婷| 婷婷中文字幕| 大香蕉久久婷婷精品综合| 在线成人网址| 99re6久热只有精品6在线直播| 五月婷婷丁香| 亚洲啪啪精品| 这里只有精品9| 狠狠干夜夜干| 丁香花五月天激情| 色五月婷婷综合在线| 99色在线观看| 1024操逼视频| 婷婷五月天成人网| 九九99男女视频在线观看| 亭亭色网| 91人操| 久久久久久久,99精品视频| 六月婷婷最新网址| 精a品a| www五月婷婷| 开心久久xxx色| 99热这里都是精品| 成人丁香色| 婷婷五月丁香综合激情| 国产日韩欧美| 五月丁香综合伦理片| 久热视频这里只有精品| 97福利视频| 久久婷婷综合网| 久久久久久久人妻| WWW免费视频碰碰碰碰| 婷婷偷拍网| 日韩九区| 五月丁香爱婷婷深深| 综合深爱五月| 精品九九久久| 成人视频在线免费播放| 亚洲成人AV一区在线观看| 久久五月激情| 日韩aaa| 99精品久久| 99精品在线观看视频| 99燥99日| 玖玖资源站蜜臀| 日本综合99| 五月丁香婷婷激激激综合网色播| 亚洲欧美成人在线| 丁香六月爱综合| 中文字幕 中文字幕明步| 精品久久婷婷| 激情五月天小说网| wwccc久久久| 99爱精品| 色婷婷裸体色性在线| 99∨VTV| 爱狠射| 婷婷激情六月| 五月婷婷六月丁香| 亚洲视频一区| 少妇综合网| av在线中文| 97操操| 丁香婷婷激情五月色| 超碰人人超碰| 久久五月丁香六月婷| 91爱操| 五月总合激情网| 亚洲精品国产熟女久久久| 四虎成人精品永久免费AV九九| 婷婷网五月天| 久久99免费视屏| 国产美女无遮挡裸体毛片A片| 91九九| 婷婷五月情| 六月丁香啪啪啪| 美女主播野战视步页| 婷婷五月色天| 久久免费婷婷视频| 欧美五月丁香啪啪响视频| 成人在线网址| 亚艹艹| 97在线刺激| 亚洲视频一区| 26uuu丁香婷婷五月| 丁香六月天婷婷| 91久久九久久九久久九久久九久久| 涩涩激情五月婷婷| 综合久| 欧美国产一区二区三区| 欧美婷婷综合网| 五月婷婷av| 欧美激情五月| 五月亭亭六月色| 色婷婷色丁香色欲av| 色色综合色| 九九精品综合| 天天综合在线网| 亚洲网视屏| 久久桃花网色婷婷| 免费AV播放| 中文在线视频久1| 97色色色色色色色| 色婷婷欧美| 1024AV视频| 青青草成人网| 色综合丁香婷婷| www.色窝| va婷婷在线| 9精品视频在线| 久久婷婷五月综合色区| 婷婷五月天天爽| 亚洲女婷婷五月基地综合久久久 | 激情网五月天| 久久东京热婷婷五月| 99人妻碰碰碰久久久久禁片| 99精品偷自拍| 婷婷久久五月| 五月丁香成人网| 五月天播播| 天天成人综合视频| 五月色情婷婷开心五月色情| 在线伦子99热| 96精品国产综合久久久久久| 婷婷五月天电影网| 久热大香蕉| 综合爱久久| 97色婷| 婷婷亚洲影院| 狠狠色婷婷7777久| 99在线观看| 九九 激情 网| 五月丁香婷婷婷激情爱爱| 久久99久久99久久99人受| 成人亚洲精品久久久久| 9热视频在线观看| 亚洲热久久| 三十路磁力链接| 六月婷婷之青青草| 99热99思午夜精品| 第六色在线| 婷婷天天舔| 五月丁香久久呀| 国产九月婷婷| 久久人人九九| 99综合久久| 色婷婷五月综合在线| 大香网伊人久久综合| www,婷婷,com| 奇米四色五月天| 欧美色偷偷大香| 日本天堂网站99| 99热黄| 大香蕉丁香五月| 久久久潮喷-久久久九九-成人AV| 亚洲高清在线| av网站不卡在线| 激情图片亚洲| 国产婷婷久久| 色综合色综合网| 91久热| 欧洲激情网站| 婷婷激情五月综合丁香社| 操91| 五月激情基地| 看片视频在线免费日产在线看| 逼逼AV| 丁香婷婷婷五月| 色婷婷色五月综合| 中文精品在| 婷婷五月天天天日日夜夜| 久热久操久热久草国产91| 色六月 婷婷| 五六月婷婷久久| 九九精彩久久| 色狠狠激情五月| 色狠狠综合网| 五月婷婷偷拍| 国产看真人毛片爱做A片| 五月丁香六月激情在线| 操一区| 大香蕉网站,大香蕉综合| 激情噜噜噜| www.色综合| WWW.国产| 日本久久性| 这里只有精品视频在线观看免费| 激情五月天啪啪视频| 五月天久久婷婷| 色五月五月天| 丁香五月婷婷在线观看| 九九性视频| 五月丁香久| 国产乱妇无乱码大黄AA片| 91精品久久久久久综合五月天| 91精品国产91久久久久青草| 色婷婷av在线观看| 五月婷天堂视频| 婷婷五月天最新综合你懂的| 丁香五月婷婷性爱| 色婷婷亚洲婷婷| 成功精品影院| 波多野结衣AV无码Porn| 玖玖视频福利| 亚洲五月丁香六月婷婷| 九九99免费视频| 激情五月成年| 激情深爱综合| 亚洲AV网址| 久热精品免费视频4| 丁香五月激情综合久久| 99热99极品观看| 99精品免费| 色婷久| 成人婷婷五月| www.99热| 97香蕉碰碰人妻国产欧美| 国产99久久久| 97色在线观看视频| av在线不卡播放| 五月婷无码| 91婷婷| 婷婷丁香五月色偷偷| 成人av免费观看| 色久天| 激情五月黄色| 日本五月丁香| 伊人五月天| 色一情一乱一乱一区91Av| 色综合播放| 久久综合干| 日韩一级网站| 九九99久久| av婷婷丁香| 国产丁香五月天婷婷| 激情六月丁| 五月丁香久久久| 99er6| 激情九月婷婷| 99热99ai| 亚洲妇女熟BBW| 熟女色专区| 色优久久| 99爱在线| 丰满少妇乱A片无码| 久久五月婷婷丁香| 激情综合在线观看| 超碰97人人操| 九九激情| 色婷婷五月基地在线| 综合色色婷婷| 九月婷婷色色| 日韩成人精品中文字幕| 伊人热婷婷| 丁香五月色色婷| 十月丁香九月婷婷综合| 欧美精品XXXXBBBB| er99免费视频在线| 99欧美热| 色婷婷电影网| 五月丁香 啪啪| 九九久久99| 99热九九这里只有精品| 亚洲欧美婷婷五月色综合| 久久综合99综合| 怡红院精品视频久久久久久久久| 日本三级日本三级99| 日本色色网站| 色婷婷久久| 狠狠干婷婷| 天天插天天射| 开心五月深爱婷婷| 日本高清久| 99re8在这里只有精品| 久久综合首页| 婷色五月| 色色色综合色| 99热免费网站| 色婷狠狠| 色色A| 五月综合激情综合久| 99色色网| 五月激激激情综合网| 秋霞AV吧| 五月丁香久久久久| 六月丁香深深爱| 97超碰9久热婷婷热| www.日韩艹| 色综合久久88色综合天天| 激情狠狠丁香月| 中文字幕中文有码在线| 久久久精久人妻| 国产超碰人人| 日本精品人妻无码77777| 婷婷六月色丁香视频在线观看| 狠狠操狠狠插| 婷婷性色| 色欲丁香久久| 九九九九国产| 亚洲123区高清入口| 色久激情在线| 天天开心天天色| 丁香婷婷综合影院| 色婷婷www| 丁香六月亭亭久久综合| 婷婷综合网性| 97很鲁在线视频| 五月天婷婷激情在线色图| 99人妻碰碰碰久久久久| 色六月婷婷| 五月天堂在线| aaaaaa片| 婷婷色影院| 99在线视频喷水| 欧美美女视频| 九九这里有精品| 五月婷婷激情综合av| 九九九九综合| 亚洲激情| 精品9久| 丰满人妻一区二区三区| 一本综合丁香日日狠狠色| AV在线二十六页| 专区无日本视频高清8| 婷婷丁香五月亚洲综合网在线视频观看| 婷婷天堂综合| aV欲望人妻中文字幕| 26uuu精品国产| 99热这里只有精品免费| 永久的网站AAAA| 91热视频色网站| 婷婷激情五月天桃花网| 色婷婷综合网| 色哟哟精品| 中文av网站| 中文字幕性爱丰满| 婷婷五月天手机版视频| 在线另类视频| 亚洲婷婷久久综合| 91狠狠色丁香| 怡春院久操| 一起操 91N.com| 婷婷五月天久草在线| 久久综合中文| 婷婷五月天av| 99色在线视频| 中文字幕在线免费观看视频| 99热12| 人人看人人摸人人| 亚洲丁香五月| 六月丁香社区| 五月天另类视频| 五月天综合在线观看| 新久久五月天激情| 青青操avbb| 77799热| eeuus五月婷| 五月色婷婷在线观看| 久久久九九视频精品18| 婷婷五月天成人网| 麻豆AV一区二区三区| 99色中文| 激情综合网色播五月| 噜噜狠狠色综无码久久合欧美| 色婷婷丁香五月天在线视频| 色婷婷大香蕉| 青青草a在线| 开心久久爱五月天| 婷婷五亚洲| 色婷婷五月天偷拍| 亚洲第一黄网| 精品人妻伦一二三区久久| 色热久| 婷婷综合五月| 久久久久久久久月丁| 久久人人看| 1024操逼| 婷婷中文字幕网| 激情五月天色色网| 婷婷中文字幕版| 丁香五月综合在线观看| 996热re视频精品视频这里| 久热这里只有精品在线观看| 91超碰人人操| 99色色热| 26uuu另类亚洲欧美日本一| 色国产五月| 激情五月丁香六月婷婷| 热成人网| 97人人操人人干| 亚洲无AV在线中文字幕| 九九色色| 99.N在线视频| 狠狠擼综合| 涩五月婷婷| 国产亚洲99久久精品| 色色性爱视频| 国产九月婷婷| 激情综合网丁香| 色婷婷激情五月天| 深爱激情丁香| 99五丁香月| 婷婷丁五月| 亭亭五月天成人| 日韩无码色色| 色五月综合97| 婷婷五月天激情在线观看| 激情综合网,婷婷五月天| 六月丁香五月激情网| 色色色色色色97| 影音先锋色婷婷| 91在线就要啪| 久久香蕉影院| 激情综合网五月婷婷| 类似婷婷激情综合网站| 久久综合婷婷| 亚洲xx在线| 日本色频| 久草视频一,二三四| 国产午夜一区二区三区| 色狠狠色噜噜AV天堂五区| 天堂在线伊久| 人人操Av| av在线资源| 婷婷久久色| 久久伊人日日夜夜| 婷婷色六月| 六月婷欧美| 婷婷丁香人妻天天久久| 日韩成人av在线| 秋霞av不能| 色色综合视频| 七七婷婷综合| 国产夫妻操逼内射视频| 午夜国产精品AV在线播放| 色色色网站| 99情色五月天| 日本在线噜噜| www.色五月| 思思久ren热| 中文字幕在线免费观看视频| 欧美综合五月天婷婷tin| 五月婷婷综合影院| 日本操逼九九九九58日本操逼| 色三级色三级| 蜜桃婷婷狠狠久久| 五月婷婷六月丁香| 91好好热日本在线| 免费亚洲婷婷五月| 色99婷婷五月天| www,天天干| 五月婷天堂视频| 五月天 另类图片| 北条麻妃伊人 | 亚洲成人网站在线观看| 97在线观看| 婷婷精品在线| 99青青草99| 人人操人av| 9久热视频| 日日夜夜久| 97久久超视频| 五月婷婷综合在线| 97欧美在线| 超碰大香蕉网| 99久久66| 99国产精品久久久久久久久久久 | 亚洲色涩视频| 色婷婷成人| 婷婷激情五月天在线视频| 大香蕉99热| 99精品自拍视频| 精品婷婷| 影音先锋 婷婷| 激情婷婷激情在线不卡| 色婷婷丁香五月天在线视频| 五月婷婷狠狠干| 中文字幕成人| 农村熟妇高潮精品A片| 99人妻碰碰碰久久久久禁片| 99热这里只有精品9| 色播jjjj| 日日干夜夜干| 国产日批视频免费播放| 日韩啪啪视频| 成人操呦av| 色婷婷成人色网| 婷婷久久色| 九九RE视频在线精品| 婷婷射图| 亚洲色激婷| 五月色情精品| 亚洲区视频| 亚洲丁香五月美女| 国产4P视频精品五区| 婷婷五月天免费| 婷婷五月五月丁香| 99啪啪网| 婷婷五月天伦理| 伊人玖玖综合| 日韩无码专区| 天天插天天插天天插天天插| 九九99偷拍视频| 91avse| 五月丁香网中文字幕| 午夜天堂一区人妻| 开心深爱激情网| 婷婷五月色播网| 久久综合55| 婷婷五月丁香五月| 激情六月日韩| 日韩欧美一区二区三区四区| 99在线观看| 日本婷婷色日| 亚洲AV激情五月综合网| 国外亚洲成AV人片在线观看| ss99热| 人妻激情综合| 九九九激情网| 激情五月天视频| 五月婷婷天天| 日韩av大全| 婷婷激情综合| 色综合色综合色综合| 夜夜操狠狠操| 五月婷六月丁| 五月欧美色播| 久青操| 亚洲日比视频| 超碰在线99| 99在线视频精品| 五月丁香婷爱在线| 天天操天天爽天天爱| www.com久久久久久久久久久久久久久久久| 91干视频| 五月花免费视频| 天天撸夜夜爽| 天天 青草 制服丝袜 在线| 少妇搡BBBB搡BBB搡毛茸茸| 99视频只有这里精品| 香蕉婷婷色五月| 色在线免费观看| 国产成人精品一区二区三区视频| 天天摸人人摸| 婷婷丁香五月久久| 成人噜噜网| 4438全国最大视频成人网站在线观看| 色情婷婷| 五月婷婷综合激情| 日韩啪| 激情六月婷婷| 美女丁香五婷婷| www夜夜操comwww| 99热九九在线| 亚洲综合视频一下| 国产婷婷五月中文字幕高清| 五月婷色丁香| AV操一操| 五月做爱| 婷婷情色五月| 日本在线观看aaa 99| 九九色综合九九色| 99热这里是精品| 久久资源网五月婷| 中美日韩成人在线| 色久九| 色九区| 九九热99热| 天天操天天曰| 日日操夜夜撸| 丁香久久| 少妇人妻偷人精品无码视频新浪| 日本色色网站| 香蕉操亚洲| 五月天丁香成人| 99色网站| 五月丁香啪啪啪| 中文AV网站| 人人爱国产| 五月丁香激情综合| 色婷婷成人做爰A片免费看网站| 999热这里只有精品| 99视频地址| 青青草蜜臀| 五月丁香久久呀| 婷婷五月天激情五月天| 亚洲综合激| 91啪级电影| 亚洲色综合性| 五月丁香五月综合欧美| 婷婷五月精品中文字幕| 天天插天天插天天日| 欧美色宗和激情| av在线观看免费| 激情桃色网 | 日日噜狠狠色综合久久| 丁香五月久久| 美女五月天婷婷| 天天日天天操天天干| 天天草人人摸| 99亚洲大片精品永久在线观看| 99视频这里只有免费精品| 婷婷欧美激情综合| 五月天色播网| 久久久人妻门| 91操在线视频| 99精彩视频| 日韩有码一区| 色综合九九| 亚洲综合干| 欧洲激情精品婷婷| 91chinese在线| 五月开心播播网| 激情AV中文| 丁香五月1页| 五月色精品| 超级碰碰碰97免费| 午夜少妇在线观看视频| 色色99| 欧美日韩精品一区二区三区钱| 久久婷婷五月丁香蜜桃网| 国产成人精品一区二区三区视频| 精品久久99| 五月深情久久| 久热久色| 色色AV色色色东莞| 久久婷婷五月综合| 狠狠综合久久综合| 久月丁香爱婷婷综合| www.粉嫩av.com| 天天在线久久综合| 91九色欧美| 丁香五月花| 五月丁香婷草| 五月天激情综合10p| 五月亭亭综合五码| 五月激情婷婷在线| 天天综合色99| 婷婷的五月天另类视频| 五月婷在线色视频| 色欲av伊人久久大香线蕉影院| 超碰免费人人| 超级碰 久久9| 99惹| 九九色99| 五月综合丁| 色婷婷先锋| 久久538| 91chinese 在线| 99爱免费在线视频| 激情综合五月婷婷| 婷婷五月天网址| 色5月婷婷| 国产肥白大熟妇BBBB视频| 香蕉久久国产AV一区二区| 国产精品24r| 成人精品一区二区三区四区五区| 欧美韩日AAA网站| 天天干天天干天天干天天干天天干| 强壮公让我夜夜高潮A片视频| 操97在线观看| 五月丁香六月婷精品视频| 婷婷开心久久| 国产肥白大熟妇BBBB视频| 操操操91| 第四色26uuu| 亚洲亚洲人成综合网络| 五月天婷婷丁香人人操91| 人妻激情综合| 色色色婷婷| 婷婷丁香五月基地| www.俺去也com| 狠狠CAO日日穞夜夜穞AV| 4399欧美另类视频| 天天天天爽爽天干| 夜色五月天| 这里只有精品99www| 99综合| 亚洲天堂玖玖| 99er6热在线观看精品6| 九九黄色网| 97碰碰人人视频| 午夜丁香五月天综合| www.久久| 九九久久综合| 国产激情视频在线观看| 超碰色碰碰| 六月婷婷激情小说网| 99操| 久久视网36| 亚洲激情五月天| 无码九九| 五月丁香啪| 狠狠干总合| 中文字幕无线久必| 久久激情五月网| 4399精品一区二区| 99乱视频| 丁香五月综合激情性爱| 亚洲噜色| 色五月激情问网站| 色99网站| 99久久www| 99热日韩| 狠狠香婷婷五月| 亚洲日本韩国| 丁香六月视频免费观看| 99日韩| 国产综合激情五月久久| 九月色婷婷| 狠狠干天天内射| 日本精品人妻无码77777| 九九综合色| www.99热| 17.c黄色| 九九色色色| 激情五月婷婷五月| 成人婷婷深爱综合网| 色五月人妻| 五月人人丁香婷婷五月人人丁香| 91久久久久久| VA日本视频| 久久婷婷午夜| 久久这里只精品| 超碰在线99| 无码91中文字幕| 美女五月狠狠| 99亚洲精品视频在线观看| 外国碰视频网站97| 99久久黄色顶级视频| 99热97| 日日激情网| 26uuu精品一区二区| 亚洲激情五月天| 亭亭五月丁香综合欧美| 久久丁香| 日日操,天天操| 久草视频一,二三四| 五月婷婷免费在线视频| www,黄色在线,con| 九月婷婷色色| 五月天六月天| 亚洲爱婷婷| 亚洲激情AV| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 色婷婷五月天不卡| 色色激情网| 精品成人在线| 亚洲区视频| 一区二区三区四区无码| 人操综合| 婷婷六月啪啪| 无码动漫av| 熟妇内谢69XXXXXA片| 国产激情综合五月| 热久免费视频9| 丁香五月六月综合激情| 久久这里只有精品07 | 丁香婷婷久| 伊人五月综合网| 色婷婷视频在线| 婷婷五月天伊人在线| 亚洲精品久久久久久久久久吃药| 啪啪啪啪五月天| 久久天堂网| 亚洲区在线| 五月综合激情网| 五月婷婷五月天| 婷婷丁香五月天狠狠| 亚洲成人AV一区在线观看| 激情婷婷六月天| 色综合久久天天综合网| 久色大香蕉| 国产日韩欧美| av久热| www.婷婷五月| 婷婷五月天综合蜜桃| 亚洲激情六月丁香| 精品一二三区久久AAA片 | 婷婷在线视频| www九九热| 香蕉人在线香蕉人在线 | 任你艹| 大香蕉久久草| 五月婷视频在线观看| 99久久9| 免费AV在线| 丁香婷婷激情网站| 久久性爱网站| 午夜 外网 精品 在线| 中文字幕av网站| 欧美性生交XXXXX无码小说| 色五月丁香婷婷在线观看| 亚洲黄色影视| 亚洲婷婷91丁香| 五月婷婷六月丁香玖玖玫瑰91| 亚洲综合婷婷| 亚洲日日操| 超碰免费人妻| 99九无网码| 五月天成人在线视频网站| 大香蕉五月婷婷| 99热碰碰| 99九九视频精彩在线| 天堂成人A片永久免费网站| 99视频久久| 激情五月色在线播放| 天天久久66xxx| 色综合色综合网| 亚洲综合婷婷| 九九综合九九| 成片免费观看视频大全| 99精品九九| 国产首页在线| 中文字幕久久婷九女同| 色色五月婷| 国产一级片| 青青草免费公开视频| 国产成人av在线播放| 婷婷五月骚厕所| 常久最新免费的色吊丝| 婷婷激情五月吧| 五月天合网| 五月丁香六月婷婷中合网| 五月天丁香婷| 亚洲操逼网| 激情五月天婷婷久久久久久久久久久 | 五月天婷婷丁香视频| av在线激情| 久久青青日本视频| 丁香激情四射| 好好干Av| 东北婷婷五月天| 成人综合伍月天| 天天插天天爱| 日韩啪啪视频| 另类少妇人与禽zOZZ0性伦| 色色激情网| 五月香婷婷| 精品国婬伦V无码久久久| 亚洲日本韩国| 日本高清不卡免费一区二区三区| 色五月激情五月| 色色综合网。| 色欲久久久久久综合网综合网| 亚洲韩国日产综合AV| 日产精品一线二线三线芒果| 99这里只有| 日本女色人人| 婷婷刺激综合| 久久99免费视屏| 欧美毛片www| 色综合另类| 日韩九区| 991自拍视频| 日韩ac不卡无码| 激情综合婷婷| 婷婷八月丁香激情综合| 五月丁香综合激情网| 99久热这里只有精品| 色婷婷六月丁香综合欲精品| 婷婷激情六月天视频| 五月丁香无码| 免费成人中文字幕| 免费亚洲婷婷五月| 色色婷婷五月| 九九精品大香蕉| 六月丁香六月婷婷欧美| 91肏肏肏| 婷婷七月丁香色色| 日韩a热| 丁香五月亚综合图片| 99热这| 人妻22p| 婷婷伊人五月丁香天堂网| 五月丁香激情啪啪网| 狠狠干在线| 开心婷婷五月天电影院| 襙逼网| 91综合国免费久入| 99热10在线高清播放| 婷婷五月另类网站| 欧美va视频| 99青青草| 色吧综合网| 久久婷婷夜| 人妻肉射免费观看| 另类视频在线| 91xxxx九色| 综合色五月天| 欧美色图天堂网| 亚洲国产另类av| 婷婷国产日本欧美| 丁香五月婷婷超碰在线| 日日噜噜夜夜狠狠久久丁香五月| 性做爰1一7伦| 伊久久婷婷| 色婷婷五月天小说| 国产精品涩涩涩视频网站| 综合网精品99| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 亚洲无码 图片区| 热99这里只是精品| 色色色.com| 性爱久久| 欧美色色色色色色色| 婷婷五月天国产手机在线视频观看| α久久| 九九黄色网| 97色婷婷成人综合在线观看| 五月婷婷伊人网| 欧美va在线| 婷婷伊人综合中文字幕| 色五月激情五月丁香五月婷婷啪啪综合 | 五月丁香综合网| 激情综合文学| 五月丁香人人婷婷在线观看| 天天日,天天干,天天操| 国产超碰在线| 亚洲六月色婷婷| 天天日天天插| 人人操人人添人人摸97| 91男同| 天堂AV在线看| .青娱乐天天操B| 五月丁香六月激情网| 丁香综合婷婷五月天| 天天射影院| 夜夜躁狠狠| 亚洲精品成人| 开心五月婷婷五月| 狠狠插狠狠操| 日韩九九视频| 六月丁香五月天| 99久久综合| 五月天伊人网| WWW色综合| 久久五月婷| 成人婷婷五月天| 被强行糟蹋的女人A片| 日本系列_4页_777FP| 五月婷色啪| 婷婷黄色网| 夜夜夜夜撸夜夜操| 超碰伊人碰婷婷五月| 激情五月婷婷在线区| 综合色久| 久热2025无码| 超碰在线caop|