免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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日这里只有精品| 狠狠色婷婷丁香五月| 天天干天天干天天干天天干天天干天天 | 99热最新| 日韩一66精品| 综合啪啪| 99人妻碰碰碰久久久久| 色五月天成人| 99热在线精品播放| 91九色精品熟女内射| 亚洲综合在线播放| 六月婷婷综合| 久久九九99.www| 99re思思热这里| 婷婷久久色五月婷婷久久久| 婷婷丁香五月天综合AV| 97久久人人人干| 色国产五月| 精品国产乱码久久久久久免费| xxx日本东京热| 成人免费超碰| 婷婷六月天激情| 天天久久婷婷| 五月丁香婷婷久久| 色播五月天天| 色99免费视频中文| 中文av网| 五月色丁香视频精品| 影音先锋91资源站| 大地资源色婷婷视频在线| 精品人妻久久久| 99久久人人| 婷婷五月色惰| 夜夜操少妇| 日本97人人| 五月天激情国产综合婷婷婷| 激情综合视频| 伊人网碰碰| 六月婷婷综合| 开心五月婷婷伊人| 久久久www| www.91有码.com| 久久久久久久久久久久久久久久久精典| 五月久久婷婷成人网| 99碰网站| 精品视频二级九九| 综合网五月| 丁香五月98| 亚洲国产精品VA在线看黑人| 91成人看片| 久久这里面只有精品视频| 69热91天堂| 五月综合丁香婷婷| 少妇人妻综合色6699| 精典久久| 丁香五月色激情| 大香蕉五月婷婷| 色97综合婷婷天天色| 综合精品啪啪| 麻豆WWWCOM内射软件| 天天爽综合网| 99热这里只有精品国产免费| 99热色综合| 99热在线精品观看| 婷婷五月成人| 人人操人人爱丁香五月| 国产噜一噜天天噜| 久久新地址| 无码碰碰| 婷婷五月天综合网| 久久久精品AV| 97丁香五月| 久久er这里只有精品| 婷婷五月丁香色色| 九九热最新| 婷婷五月天亚洲精品| 亚洲视频二区| 久久WW| 51精品国自产在线| 操逼棍操逼| 精品99*| 97人人射| 26UUU欧美激情一区二区| 538久久| 黄色99热| 激情五月婷婷色综合| 色婷婷婷婷| 欧美日本另类| 久久色五月天激情小说| 色射婷婷五月天| 99热偷拍| 91狠狠综合网| 色丁香五月| 五月婷婷丁香综合,亚洲天堂| 色噜噜狠狠色综合日日| 26uuu| 久久视频这里有精品99| 久久久久久综合五月婷婷| 色婷婷电影网| 91超级碰碰碰| 色色色五月婷| 六月婷欧美| 久久激情四射| 婷婷五月综合社区在线| 色网五月婷婷| 色婷婷基地 | 四色五月婷婷| www.五月丁香| 亚洲色综合| 亚洲综合网 665566| 五月丁香啪啪网| 丁香婷婷综合激情五月色| 99婷婷五月天| 天天爽—爽| 五月色婷| 六月丁香激情| 玖玖婷婷色五月| 综合久久综合五月天婷婷| 日韩欧美成人一区二区三区| 影音先锋男人av资源站| AV中文字幕夜夜操b天天摸bb| 搡BBBB搡BBB搡五十| 丁香九月激情| 超碰成人电影| 久久婷婷成人综合色怡春院| 婷婷色综合| 99这里有精品视频| 天天爽夜爽| 秋霞性爱AV| 97热精品| 婷婷天天色| 丁香五月天社区| 色偷偷综合| 欧美Va日本Va| av在线观看网站| 性爱久久| 丁香五月天激情视频| 欧美六月| 99精品热| 农村熟妇高潮精品A片| 亚洲精品一区中文字幕乱码| 丁香五月之久操视频| 日曰躁夜夜躁2026| 狠狠色综合五月人人| 亚洲成人影视在线| 婷婷五月天首页激情| 丁香五月婷婷欧美成人色图| 玖玖婷婷五月天毛片| 97偷拍对白视频| 四季日韩AV无码综合| 91操黄| 国产精品18久久久| 日本黄色精品| 青青热视频| 六月婷婷六月天天在线免费| 99福利视频| 丁香五月天AV| 欧美内射AA| 色色色网站| 五月天色综合| 亚洲AVwwwwwww| 五月狠狠| 精品国产人人爱人人| 熟女五月天久久综合| 99热思思久| 六月亚洲| 欧美黄色韩日网| 五月天婷婷丁香导航| 久久机热/这里只有精品| 丁香五月天堂网| 中文字幕婷婷| 五月丁香婷婷色啪| 国产ava| 亚洲人成网亚洲欧洲无码久久| 夜夜骑日日操| 丁香五月激情婷婷| 中文字幕综合网| 少妇熟女视频一区二区三区| 五月天婷婷激情在线色图| 成人AV在线电影| 五月婷婷激情色情网| 婷婷十月激情综合网| AV五月丁香| 丁香五月婷婷色| 久久99草五月婷婷| 激情五月天色色网| 婷婷草| 无码激情| 亚洲视频在线网| 99人妻碰碰碰久久久久禁片| 丁香五月综合在线视频| 综合色五月| 亚洲AV在线免费看| 亚洲sesesese| 亚洲另类视频| 国产亚洲成AV人片在线观黄桃| 亚洲视频无| 婷婷五月天成人在线视频| 五月丁香 啪啪啪| 91综合色| 啪啪日本欧美| 色天天综合天天综合频道。| 九九热精品在线| 久久这里只有精品热在99| 婷婷五月综合中文字幕| 丁香六月激情综合| 婷婷色导航| 欧美在线视频免费播放| 丁香五月狠狠在线观看| 亚洲精品va| 婷婷五月亚洲激情| 五月天婷婷涩涩| 99久久精彩视频。| 偷拍91九色| 做爰丰满少妇1313| 亚洲另类电影| 天天综合精品| 婷婷五月天综合久久日美女| 婷婷五月天基地| 人人操操| www.深爱激情| 五月丁香六月片| 婷婷五月无码| 五月婷婷影视| www.99热| 99色在线观看免费| 五月色网| 七七九色| 五月欧美丁香在线观看| 青青操成人福利| 婷婷,五月天,丁香,第一| 99乱视频| 日本在线wwww| 涩五月色婷婷| 丝袜熟女一区二区三区| 久久人人人人妻| 久色视频| 五月婷婷丁香综合| 亚洲天堂啪啪| 日本99在线| 伊人久久大香| 五月婷综合| 婷婷五月天堂一本在线| 99色视频在线| 大香蕉九九| 中文AV网| 99re视频在线| 思思热在线视频精品| 成人婷婷色综合| 思思热在线视频观看精品| 色色免费网站| 中文字幕婷婷在线| 9这里只有精品| AAA久久| 欧美熟女99| 99∨VTV| 自拍视频在线观看9| 日本三级中国三级99人妇网站| 五月婷婷综合在线亚洲视频| 七七色色综合| 91久久九色| 九九激情视频| 免费观看高清无码| 成人开心五月天| 婷婷激情五月呦呦| 丁香五月色播中文在线播放| 午夜69成人做爰视频| 色之综合网| 久色网| 狠狠舔| 色色五月婷婷久久| 日韩肏屄网| 五月六月伦理| 性色婷婷| 久久久久这里只有精品| 久久国产精品乱子伦_靑青草…| 婷婷色网| 思思热99er在线视频| 激情丁香婷婷| www.lingjunshare.com| 欧美激情 日韩无码 婷婷 五月天| 色狠狠色噜噜噜a天堂一区| 精品日本视频444| 婷婷AV丁香| 婷婷性爱| 五月丁香激情六月| 亚洲综合色成丁香五月色| 婷婷亚洲五月色综合| 涩丁香| 婷婷丁香综合成人| 中文字幕综合| www99热| 婷婷五月天堂网| 亚洲无码色| 一本道综合网| 丁香五月婷婷影院| 丁香五月天堂网| 综合五月草| 99啪啪视频| 婷婷六月天精品| 久操香蕉| 欧美在线97| 六月婷婷六月天天在线免费| 91久女| 六月婷婷中文字幕| 日本久久婷婷| 香蕉AV777XXX色综合一区| 思思热在线视频99| 丁香五月激情五月| 亚洲AV人人操| 欧美综合激情五月| 99热第一页| 另类图片天天影视在线观看| 二人电影免费版在线观看| 亚洲狠狠爱婷婷| 五月激情天| 丁香五月婷婷啪啪| 国模狼狼| 99免费| 99这里有精品视频| 婷婷五月欧美综合| 五月丁香亭亭操逼| 五月丁香六月情婷婷久久| 色噜噜五月天| 91九九九九| 五月色天情| 99精品自拍| 超碰亚洲欧美| 天天综合 99久久婷婷| 九九人妻福利| 五月丁香六月婷婷久久| 内射在线CHINESE| 婷婷五月天网| 颜射 精品性爱av| 丁香 亚洲 久久| 色狠狠综合| 亚洲a色| 99热大全在线观看| 午夜成人av在线| 国产精品久久..4399| 久久99热 这里有精品| 99免费青青蜜臀| 国产精品色色| 亚洲色图五月丁香| 丁香六月五月婷婷| 丁香婷婷婷婷十二月在线观看视频| 丁香六月久| 激情AV| 婷婷五月激情小说| 桃色成人网| 色综合久久44| www.99热这里只有精品| 五月丁香 久久久| 182TV亚洲| 九月丁香久久网| 九月婷婷| 97热精品| 天天色天天操天天射| 五月婷婷亚洲天堂激情在线| 操人精品| 丁香五月天亚洲综合| 99热免费| www.夜夜操.com| 99久久99热这里只有精品| 丁香五月激情月| 91久久1118| 色五月五月丁香| 91精品婷婷国产综合久久| 久久五月丁香综合| 亚洲综合色成丁香五月色| 色婷婷99| 日熟女| 婷婷色爱| 色六月天| 五月婷婷m| 色婷婷XXXXX| 99热九九九九| 依人大香蕉在钱1| 俺也去色| 精品激情| 五月婷婷激情视频| 啪到高潮激情丁香五月| 丁香网五月天激情| 婷婷丁香五月天激情四射| 激情五月天婷婷| 午夜激情婷婷| www.91操| 91操片| 第四色大香蕉| 欧美日本黄色| 欧美成人A片AAA片在线播放| 激情五月天色婷婷综合| 婷婷色五月色妇| 色噜噜狠狠色综合网| 六月婷婷青青青视频| 婷婷五月天综合久久日美女| 操日本99| 欧洲MV日韩MV国产| 五月天操逼激情| 日韩无码AV电影网站| 日本熟妇乱妇熟色A片蜜桃| 免费黄色片子| 日韩成人精品中文字幕| 这里只有精品视频在线| 丁香婷婷激情| 色婷婷基地 | 99re在线播放| 午夜无码熟熟妇丰满人妻 | 91久久综合亚洲鲁鲁五月天| 人妻综合网| VA色婷婷| 九月婷婷久久| 四川BBB搡BBB爽爽视频| 91丨九色丨国产| 伊人喵咪a V| 色九四色| 色婷婷电影网| 九九热99免费视频| 99热这里只有精品66| 天干夜夜操| 丁香五月伊人| 丁香香蕉射射射| 欧美综合激情| 久久婷婷草| 丁香综合久久| 五月丁香综合啪啪| 亚洲综合网激情小说| 第一区久久网站| 日韩视频99| 激情婷婷五月天| 久久 婷婷 五月天| 五月丁香综合啪啪| 丁香婷婷AV| 欧美久久久久久久久中文字幕| 亚洲成人九九九| 久碰综合| 黄色99视频| 天天综合亚洲综合| 欧洲色| www.99色| 婷婷五月丁香基| 男人天堂 久久| 中文字幕综合网| 激情综合网,婷婷| 嫩草AV久久伊人妇女超级a| 特级西西4444www无码| 91无码视频| 99成人| 激情五月天。| 99热99思午夜精品| BBWCUCKOLD精品熟妇| 五月天婷婷丁香成人网| 9l视频自拍9l九色9l成人| 狠狠色丁香| 我爱婷婷五月天综合88| 综合色影| 国产精品色| 伊人青涩网| 97碰免费视频在线| 久久五月激情| 人妻啪啪啪| 99久操视频| 综合激情在线| 亚色网站小视频| 久久色五月天激情小说| 色情五月综合婷婷| 欧美日韩日韩成人| 色婷婷五月天激情久久| 日本va欧美va国产激情| 天天爽天天爽| 五月婷婷色色网址| 欧洲亚洲免费视频9| 五月色综合网| 精品一二三区久久AAA片| 人妻中文字幕精品| 色的色综合| 九九色色| 白人荫道BBWBBB大荫道| 亚洲AV综合网| 激情五月,婷婷五月,丁香五月| 色色色热热热| 99人妻碰碰碰久久久久| 天天爽天天爽夜夜爽| 99九九在线观看免费| 桃色激情网| 人妻久久久| 亚洲AV免费国产电影| AV天堂淫乩| 99噜噜| 色情五月婷婷| aa久久| 襙比视频| 免费亚洲婷婷| 丁香五月区| 狠狠操婷婷| 99性视频| 免费亚洲婷婷中文字幕| 五月丁香六月情| 国产精品18久久久| 婷婷五月天最新综合你懂的 | 五月丁了香蕉综合| 99re最新地址视频| WWW.99视频| 婷婷五月综合社区在线| www.粉嫩av.com| 九九热re99re6在线精品| 五月天丁香婷婷网| 99r这里只有精品哦| 免费黄色AV| 婷婷狠狠香蕉综合| 久久这里99| 五月丁香六月婷| 色色五月婷婷久久| 婷婷五月天美女21p| 国产婷伊人| WWW夜夜| 日韩999| 九九精品热播| 九九热超碰| 五月天婷婷成人网| 99热在线网站| 五月丁香激情婷婷| 亚洲精品第一国产综合亚AV | 99色色色色| 日本熟妇乱妇熟色A片蜜桃| 亚洲精久久| 色播婷婷大香蕉| 任我肏视频精品| 九六五月天婷婷| WWW.国产| 国产99热| 丁香六月啪啪| 婷婷色中文字幕| 久久久这里有精品| 日韩 mm 不卡| 青青草五月天| 黑人熟妇一区二区三区| 五月丁香亭亭| 久草性爱| 99在线精品视频| 99热只有精品在线| 日本久久人| 久操干| 97亚洲婷婷| 亭亭五月基地在线| 久热黄色| 另类天堂| 人妻22p| 人人操Av| 色色色激情网| 九九热经典视频在线观看| 丁香五月婷婷综合激情哟哟哟| 2w在线视频| 国产毛多水多女人A片| 1024成人免费看| 五月婷婷丁香av| 91九色偷拍| 99操逼| 久久九九re热| 国产操碰| 亚洲小说五月婷婷| 成人精品视频99在线观看免费| 日本婷婷丁香五月| 五月婷婷丁香日韩在线| 五月亭亭直播| PORNY九色9l自拍视频成人| 超碰人妻在线| 日本天天综合| 婷婷成人av| 深爱婷婷网| 99色色| 亚洲无码色色| 五月天四色房丁香| 五月婷婷97| 啪啪黄页网| 久久网站免费亚洲| 中文字幕有多少字| 五月婷婷免费视频| 激情丁香五月AV| 二色AV| 26uuu.| 五月丁香色欲| 丁香五月六月综合激情| 丁香综合网| 嫩草AV久久伊人妇女超级A| 伊人网色婷婷五月天| 91性人人| 丝袜大香蕉| 免费试看小视频 99| 九月婷婷在线观看| 五月婷色| 婷婷激情五月综合在线视频| 91互操| 九九色逼| 五月天伊人网| 五月丁香网av| 91精品国产色猫| 婷婷五月天成人| 成人做爰A片免费看视频| 亚洲无码九九| 五月婷婷六月丁香综合| 亚洲 在线 另类| 99热这里是精品| 婷婷久久欧美| 9热久久在线| 日韩1区2区| 婷婷五月天另类网站| 伊人五月婷婷| 丁香花大香蕉婷婷综合| 九九热av| 亚洲第一精品网站| 五月丁香网av| 色婷婷五月影院| 五月天激情国产综合婷婷婷| AVDV久久| 久久婷婷操| 超碰色婷婷| 任你躁XXXXX麻豆精品| 日韩淑女人妻luan伦激情精品一区二| xx综合网| 丁香花婷婷五月天| 丁香网站| 色色免费网站| 丁香五月亚综合图片| 99五月丁香丁| 欧美在线视频9| 97五月天| 色伊人婷婷| 99色 色| 久久视这里只有精品| www,久久久人人| 六月婷婷激情| 欧美日韩99| 五月婷婷六月综合| 日韩av干| 九九热99re8热免费观看| 91丁香婷婷综合资源| 五月网站| 狠狠操在线视频| 成片免费播放| 99丁香五月婷婷在线| av亚洲国产小电影| WWW.婷婷| 另类A片| 国产无套精品一区二区| 26uuu亚洲欧美另类| 欧美精品999| 欧美婷婷精品激| 婷婷97色| 亚洲国产精品VA在线看黑人| A久久| 五月伊人网| 亚洲视频99| 色五月成人在线| 色情·com| 玖玖无码中文| 26UUU欧美激情一区二区| 久久九九一區| 1024成人免费看| AA片在线观看视频在线播放| 99碰碰| 色婷久九| 99在线视频资源| 色五月欧美| 丁香婷婷婷五月| 色色色色色色色色色999| AV九九| 色色免费网站| 色婷精品91| 亚洲黄3级片网站欧美| 9精品国产在热久久| 91日在线视频| 秋霞AV吧| 五月丁小婷婷激情四射| 久久R激情| 精品二区| 99天堂在线观看免费视频| 野战J办公桌椅H| 久久精品国产一区二区三区四区| 91啪啪视频| 久色网址| 五月色 亚洲| 婷婷五月天视| 色播播之激情五月婷婷| 涩涩五| 日韩无码人妻一区二区三区综合 | 五月丁香性爱| 一区二区三区视频| 玖玖视频福利| 激情综合4月| 丁香激惜男女| a v色婷婷| 伊人五月人妻精品| 狠狠五月天激情| 夜夜骑福利资源| 亚洲九九九九| 操啊操av| 国产色色视频| 丁香五月婷婷啪啪啪| 丁香婷婷久久| 色婷婷久久综合| 日日爽日日| 综合久| 成人精品视频99在线观看免费| 亚洲乱码日产精品BD| 五月丁香婷婷综合网| 天天日天天色| 99久久超级| 免费操超碰| 丁香婷婷色色| 五月激情丁香五月| 99福利视频| 99热99热在线| 停婷丁五月在线| 婷婷精品在线| 99re在线播放| 色婷婷丁香AV综合| 天天操中文字幕| 超碰在线9| 天天操天天日天天爱| 亚洲五月综合色播| 五月天狠狠草| 97色片| 五月婷在线| jiujiuxiangjiaowang| 六月婷婷网| 69热在线| 99爱视频免费看| pom538精品视频| 婷香五月激情视频| 亚洲182在线观看| 六月婷色| 一本久久亚洲五月婷婷| 久久综合五月| 婷婷六月啪啪| 99色免费观看全部| 激情婷婷丁香五月天| 亚洲精品操一操、噜一噜、摸一摸、爽 | 99热无码| 亚洲人妻av| 国产免费性爱| 婷婷丁香五月天影院 | 丁香色婷婷五月天| 久久思思热| 91丨九色丨老熟女激情| 超碰人人草| 九九热av| eeuss人妻| 狠狠狠狠狠草| 色九月婷婷| 97搞在线| 99色色热热| 丁香婷婷视频一区二区| 操操啪| 在线五月婷| 日本久久人| 亚洲精品V天堂中文字幕| 日韩av高清| 天天射影| av人人干| 国产乱妇乱子在线播视频播放网站| 色欧美日| 五月婷婷五月天天| 一区二区成人电影| 991自拍视频| 日本一级一级一级一级| 婷婷午夜| 久久999久久999久久999久久| 电影《战争与艾拉》免费观看| 日韩视频99| 婷婷丁香六月| 97视频.干com| 激情婷婷啪啪| 香蕉久久国产AV一区二区| 婷婷大乡焦噜噜| 思思热再线视频| 五月天.com| 丁香视频| 五月婷婷视频ab| 99热这里全是精品| 金品在线视频99| 激情五月六月丁香| 天天肏夜夜肏| 国产激情在线| 人人草人人视| AA片在线观看视频在线播放| 久久9视频欧美| 婷婷婷婷婷婷婷五月丁香| 99在线精品免费视频| 婷婷中文无码| 夜丁香五月婷婷| 丁香六月综合| 999热在线视频| 玖玖热视频| 五月天开心色色网| 五月六月丁香婷婷在线观看| 色综合激情| 五月天婷婷丁香人人操91| 婷婷八月丁香激情综合| 99热综合网| 欧美三级视频下载| 操啊操av| 五月婷婷激情综合| 6月丁香婷婷| 丁香五月综合激情啪啪| 99热在线爱| 欧美激情凹凸丁香网| 亚洲乱码日产精品BD| 国产韩日亚洲美州欧亚综合在线| 99热免费在线| 嫩草视频| 五月激情六月宗合| 久久婷婷五月综合色天| 五月天另类小说| 婷婷丁香五月基地| 五月婷婷色五月| 欧美激情久| 色五月欧美| 97成人在线视频精品| 99热在线看| www.久久久久久久久久久| 五月天色不卡| 丁香99| 开心五月婷| 色色色色色色综合网| 丁香五月激情综合网激情五月| 婷婷操逼| 九九免费视频在线| 色99欧洲色19| 9久9久9久女女女九九九一九| 五月婷婷啪啪啪啪| 激情婷婷视频在线| 99超级碰碰| 99综合在线| 国产精品美女| 激情五月亚洲综合网| 激情涩播| 色五月天综合网| 综合色网站| 国产67194| 色五月丁香五月五月婷婷| 国产精品a无线| 99热精品一| 丁香五月婷婷婷桃花影院| 综合色影院| 91中文在线| 婷婷亚洲综合| 国产精品激情五月天色婷婷| 色原狠狠综合| 五月色网| 天天插天天很| 中文字幕成人日韩| 任我肏| 欧美日韩日韩成人| 色欲婷婷五月天| 五月婷婷天| 五月天婷婷激情| 国产精品成人AV在线| 久草xx性爱视频| 开心婷婷五月| 91久久九久久九久久九久久九久久| 狠狠999| 五月丁香色色网| 色欲色香综合网站| 26uuu国产精品| 99热这里只有精品3| 91精品综合久久久五月天| 天天激情夜夜干| 91九色首页| 狠狠草网| 这里只有精彩亚洲视频推荐| 99久久性爱| 五月丁香综合激情在线观看| 亚洲黄色操逼| 另类专区在线观看| 精品综合五月| 肏屄色播伊人97婷婷| 免费视频WWW在线观看网站| 美女五月天| 久热视频A.| 五月丁香天堂| 极品人妻VideOssS人妻| 欧美成人精品老美女噜噜噜| 中文字幕不卡+婷婷五月| 国产无遮挡又黄又爽免费网站| 99re这里只有| 丁香婷婷少妇| 超碰在线免费9| 被强行糟蹋的女人A片| 激情五月婷黄版| 美女要搞搞天天搞搞搞网站| 欧美日韩成人在线网站| 日本少妇裸体做爰高潮片| 激情婷婷五月天| 五月丁香六月婷婷中文版| 91艹人| 三年高清大片免费观看国语| 日本一毛片| A色色| 操91| 久久综合五月| 午夜无码熟熟妇丰满人妻 | 欧美五月婷婷| 伊人五月天婷婷| 亚洲一个色| 国精产品一区二区三区| av国产精品| 丁香六月综合激情| 色五月在线播放| 日日操夜夜爽天天天| 六月婷婷av| 婷婷新网址| 青青草免费公开视频| 久婷| 五日激情综合| 这里只有精品在线免费视频| 丁香蜜臀黄色婷婷五月天| 久久九九re热| 丁香五月花影院| 91色久| 操操人人| 亚洲综合五月| 天天爽夜夜爽天天爽夜夜爽| 亚洲天堂亚洲色色色| 日本三级中国三级99| 伊人青涩网| 淫五月停停| 大香蕉啪啪啪| 一起草av| 色综合九九色综合88| 99热九九热| 9999色色色色| 五月婷婷六月激情在线| 玖热精品综合视频| 琪琪色五月天| www.com亚洲网站在线免费| 久久五月热| 91妻人人爽人人看片| 五月天色综合| 色婷婷www| 99九九99九九九视频精彩| 夜夜爱网站| 五月婷婷色激情| 欧美va亚洲va在线播放| 亚洲五月六丁香激情| 丁香六月婷婷激情综合| 六月婷婷激情| 天堂资源欧日浪女在线播放| 1024成人在线观看| 色婷婷最新域名| 日韩有码一区| 97自拍视频网| 狠狠色中色| 丝雨一区二区| ai97re99一本| 国产乱轮一区二区三区| 性爱激情五月| 亚洲免费综合一区| 国产视频色色色色色色色 | 8050一级网| 狠狠ri| 久久五月婷综合| seav天堂| 美女久久天堂| 亚洲AV成人精品网站在线播放| 婷婷六月激情综合| 伊人九九68| 婷婷干| 日韩有码一区| 色色色色色色五月婷婷| www.精品久9| 激情九色| 99热在线观看精品| WWW久久久| 异能之下短剧免费观看全集| 影音先锋色色色资源色资源色| 五月天激情综合网俺也去| 好好干Av| 天天上天天爽| 欧美综合在线五月天色婷婷| 99精品久久久久久久婷婷久久| 国产精品婷婷午夜在线观看| 蜜桃五月天| 狠狠做深爱婷婷久久综合一区| 色色色色色色网| 激情av在线| 色色操| 婷婷五月天av| 一本大道伊人AV久久综合| 伊人大综合| 99视频极品在线香蕉| 婷婷刺激综合| 狠狠丁香| 妻久久久久| 丁香激激情网| 九九在线精点品| 亚洲第一成人无码A片| 丁香五月天激情视频| 欧美成人精品A片免费一区99| 综合AV网| 成人VAV视频在线观看| 欧美99视频| 九九这里只有精品在线视频| 五月丁香狠狠爱婷婷综合| 九九热视频思思| 天天舔天天摸| 丁香五月在线| 久久久av久av久片一区二区| 五月天激情日色在线| 日本久久爽| 综合亚洲色色| 久8色色| 欧美性猛交99久久久99| 色色色热热热| 色色色五月天婷婷| 国内久久亭亭| 99这里有精品久久97| WWW.桔色成人.COM| www.夜夜操| AA丁香综合激情| 色欲AVV| 狠狠色丁香婷婷久久综合| 综合激情伊人影视在线| 99免费视频精品| 亚洲成人av在线播放| 99re6久热只有精品6在线直播| 影音先锋91网站在线观看| 亚州婷婷五月激情综合| 色婷婷综合网| www.av骚货| 91婷婷在线| 影音先锋自拍网| 中文AV在线观看| 91操色| 99色热| 五月婷婷六月丁香| 青青色com久久| 激情视频婷婷五月花| 精品草原久久视频| 婷婷导航| 99在线看片| 玖玖视频福利| av性爱网站| 狠狠色噜噜狠狠狠狠综合| 婷婷五月日本| 思思99热热热99| 九九99精品视频在线观看| 婷婷综合网| 播五月丁香三月婷婷| 91丨九色丨大屁股| www久久久久| 深爱网深爱综合网| 超级碰碰91| 五月丁香综合精品欧美| 久久久久久综合88| 亚洲丁香五月| 久久这里有精品| 加勒比久热| 国产欧美婷婷五月| 婷婷五月天综合久久| 激情操逼婷婷| www。五月天激情| 天天日本夜夜谢| 精品一二三区久久AAA片| 色天堂97| 66精品成人免费网站在线观看| 五月天婷婷在线观看| 狠狠色九月| 伊人婷婷激情| 五月婷婷色| 成人在线视频男人的天堂4399| 激情综合色五月六月婷婷| 狠狠人妻色综合| 丁香婷婷综合影院| 久久婷婷六月综合资源| 九九色逼| CAOBIBI| 婷婷色色网| 狠狠操综合| 91超碰在线播放| 99热精品中文字幕| 综合aV在线| 色五月涩涩婷婷蜜桃| 久99视频在线观看| 日韩AV中文字幕在线| 久久九九99亚洲国产久精综合| 天天日日夜夜| 久久精品63| 狠狠干无码| 综合五月激情| 六月丁香婷婷天堂| 天天日天天色| 91色五月| 五月天婷婷AV| 日本色色影院| 五月婷婷六月基地| 色135综合网| 色色色视频免费无码| 国产精品电影| 婷婷情色五月天| www.操.com| 婷婷激情综合色五月久久91| 五月天欧美激情| 99国产精品白浆在线观看免费| 五月天丁香六月综合| 97精品自拍| 日亚二欧美| 亚洲天堂色色| 大香蕉丁香| 99er精品视频| OYIWbGcPu8H| 色婷婷色五月综合| 国产69久久久欧美黑人A片| 九九热再线九九视频免费在线观看 | 婷婷欧美综合| 婷婷丁香亚洲色综合91| 六月婷婷综合| www.综合久久| 久久99网| 久xxxx| 五月婷婷五月| A级毛片高清免费不卡播放谢谢谢谢| 欧美丁香婷婷五月| 大香蕉在线观看9| 丁香五月激情啪啪| 另类国产欧美视频| 亭亭五月色男人| 亚洲视频码| 开心网五月色婷婷| 欧美操我| 99ri视频在线播放| 97性视频| 亚洲综合婷婷| 激情av| 天天弄天天操| 梁铮版《蜘蛛女侠》在线| 九九视频在线观看视频6 | www.婷婷五月天啪啪| 欧洲MV日韩MV国产| 激情婷婷六月| 五月丁香久久激情综合| 99精品福利视频| 婷婷综合日本| 久久婷婷综合基地| 九九热AV| www.色婷婷| 5月婷婷六月丁香| 久久涩视频| 99re8这里只有精品99re8热视频| 蜜臀99久久精品久久久久| 五月天婷婷色色网| 91精品婷婷国产综合久久| 99这里只有精品视频| 这里只有精9| 91919191919久久成人视频| 色婷婷九月| 久久婷婷资源| 五月丁香婷中文| 人人澡天天色天天做| 99热久久这里只有精品| wwwwww.色| av线电影| 四色99久久| 超碰激情五月| 激情性爱五月| 五月天激情综合网俺也去| 免费无码毛片一区二区A片 | 狠狠干无码| 国产成人在线精品| 337p大胆噜噜噜噜噜91Av| 五月婷婷黄色视频| 99在线爽| 色婷婷香蕉| 97色五月天| 激情文学 综合 九月| 超碰超碰在线| 婷五月天在线草| 五月丁香婷婷色播无码| AV在线中文| 亚洲色五月天是什么| 9999热免费视频视频| 久久久精品AV| 婷婷久久视频| 久久丁香九| 99爱这里只有精品免费视频| 26uuu激情五月天| 99免费青青蜜臀| 亚洲激情婷婷| 五月婷在线视频免费播放| 9热在线观看| 91九色首页| 丁香六月成人| 久久九九99| 大操人妻| 九九色影视| 婷婷激情五月天亚洲综合| 九九99香蕉在线视频播放| 91久久久久久| 五月婷婷六月丁香激情| 思思热这里只有精品视频666| 欧美色片中文字幕久久久久| 99国产精品久久久久久久久久久| 五月天色播网| 玖玖热99| 色五月综合网| 五月天婷婷在线播放| 丁香五月天无码AV| 97操碰日本女人| 婷婷丁香18| 激情欧美五月丁香| 亚洲另类婷婷五月丁香在线播放| 日噜噜色| 99日韩| 激情五月五月婷婷| 婷婷天天舔| 九九99热| 日韩成人影片网站| 97碰碰视频在线观看| 99精品无码网站| 99啪啪视频| 香蕉99网| 午夜丁香婷婷| 99啪99| 五月丁香黄色| 无码九九| 久久新地此| 成人丁香婷婷| 日日夜夜婷婷| 婷香五月激情视频| 日日干日日s| 色五月成人| 九九热99在线视频| 精品人妻伦九区久久AAA片| 五月天激情啪啪| 2w在线视频| 九九精品视频免费在线| 国产在线自| 婷婷色影音天| 久久久久久人妻| 91色吧网| 99久久九九| 91精品熟女| 久久婷婷综合网| 性爱五月婷婷| 激情操逼婷婷| 丁香五月成人| 丁香五月区| 这里只有精品免费| 激情都市五月天| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 99热这里只有精品国产免费| www.婷婷,com| 能看的av片| 丁香五月天AV在线| …亚洲黄色在线播放日韩、av中文a…| 综合色图婷婷| 99热综合| 色五月婷婷丁香五月| 天天做天天爱| 丁香五月婷婷激情中文| 婷婷六月天精品| 色五月丁香五月五月婷婷| 丁香六月色婷婷| 久9免费视频|