免费国产精品自在自线-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
返回資訊列表
欧美99热| 婷婷综合干| 可以免费看av网站| 强伦轩人妻一区二区电影| 激情五月天婷婷五月天| 激情第四色| 五月天色婷婷激情综合| 欧美久久婷婷| www久久久久| 五月色网| 久久婷色| 99精品免费视频| 天天cha成人综合网| 久久久ww| 人人爽欧美婷婷久久久五月丁香| 最新国产AV| 色色五月婷| 99热久| 国产片天天爽夜夜爽| 爱狠射| 五月婷激情| 丁婷婷五月天在线播放| 激情欧美五月丁香| 丁香五月天视频在线播放| 超碰99在线观看| 热九九九九| 亚洲愉拍99热成人精品| 国产亚洲精品久久久久久久久动漫 | 大香蕉人人人| 538在线精品| 色五月丁香五月| 久久色天堂| 91色碰| 99热个人在线| 国产伦亲子伦亲子视频观看| 成人无码精品1区2区3区免费看| 开心激情网在线| 天天噜| 成人视频婷婷| 99精品视频免费观看| 五月天婷婷黄色| 久久这里面只有精品视频| 色碰碰| www.刺激色网站www.| 婷婷亚洲在线| 婷婷五月天大香蕉| 在线播放中文字幕| 十月丁香婷婷| 色丁香久久久| 五月丁香色综合| 久久爱婷婷| 久久九九免费视频| 激情综合色| 91AV婷婷| 久热这里只有精品在线观看 | 成人视频在线免费播放| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 丁香五月激情啪啪| 色综合丁香婷婷| 久久综合丁香| 中文字幕 中文字幕明步| 538在线精品| 九九日伊人| 91嫩草国产线观看亚洲一区二区| 99人人操| 六月丁香婷啪射| 天天草婷婷五月| 久热这里只有精品在线观看 | 久久久久久久久久久97| 99热精品在线观看| 亚洲久久婷婷| 91精品婷婷国产综合久久| 天天色图| 五月丁香婷婷欧美色图视频五月丁香777电影| 精品成人在线| 日韩精品超碰在线观看| 五月婷婷丁香五月亚洲色| 狠狠五月丁香色婷| 色爱99| 人妻激情综合| 五月激情婷婷偷拍| av九九| 欧美又粗又大一区二区在线观看| 婷婷丁香五月高清| 99精品视频在线观看| 大香蕉在九| 久久99三级在线视频| 26uuu丁香婷婷五月| 大香蕉人妻| 日韩av大全| 丁香五月天AV| 疯狂做受XXXX高潮A片动画| 激情婷婷五月天丁香| 999婷婷综合| 五月天亚洲最大成人| 79色色色色| 99精品久久久| 99.N在线视频| 色色色色色色97| 色五月超碰| 内射爽无广熟女亚洲| 久久久香港| 久久色情| 91色逼| 日本熟妇乱妇熟色A片蜜桃| 殴美97色| 天天爱天天做天天爽| 99热e| 精品亚洲国产成AV人片传媒| 97色色色色色色色| 人人草人人爱| 亚洲AV网址| 亚州精品久久久久AV无码| 超碰chaompinm| 五月伊人91| 9l视频自拍九色9l视频自拍九色9l社区 | 99这里是精品| 操大屄五月天视频| 小视频一区 | 六月婷五月丁香| 九九99在线视频| 婷婷色婷婷亚洲成人| 五月丁香六月婷婷久久久综合| 99A级片| 香蕉97碰碰碰欧美| 极品人妻videosss人妻| 午夜天堂一区人妻| 狠狠 婷婷| 99re在线精品视频| 9热视频在线观看| 日韩操| 婷婷中文字幕| 深爱五月激情网| 啪啪 综合网| 91av视频| 人人爱国产| 丁香激情六月天婷婷| 综合狠狠干| 碰久久精品w| 美女婷婷六月色| 日本激情91| 久久九九经典| 五月天综合| 99天天操夜夜操| 九九热在线观看视频网站| 成人av免费观看| 99久久综合| 99热碰碰热| 婷婷综合影院| 天堂中文国产| 婷婷五月激情的图片| 99久热在线精品| 综合色色色| 婷婷伊人综合| 这里只有精品视频| 99色激| 五月婷婷丁香综合| 婷婷丁香六月影视| 五月做爱| 日日噜噜夜夜狠狠久久丁香六月| 色色色婷婷五月天| 五月丁香综合啪啪| 五月天色网站| 久久精品91视频| 激情五月影院| 色色色综合网| 丁香六月色情| 五月天堂六月丁香亚州中文字幕久久| 婷婷五月天成人| 婷婷午夜综合| 五月天激情网站| 另类五月婷婷| 99热久久日本| 色色色热热热| 久久成人人妻| 久热超碰| 综合五月激情| 久久92| 99ri久久| 开心五月综合| 五月天婷婷爱| 丰满人妻妇伦又伦精品国产| 涩综合婷婷| 丁香婷婷五月综合影院| 欧美交换配乱吟粗大25P| 丁香五月另类小说在线阅读| 亚洲另类av| 五月丁香成人网| 这里只有精9| 五月丁香婷婷欧美色图视频五月丁香777电影 | 婷婷九月| 激情网婷婷婷| 五月天大香蕉| 丁香97综合| 日韩狠狠色| mmm1717.6dbm人人爱人人操| 色婷婷激情四射视频| 久久香蕉影院| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 丁香蜜臀黄色婷婷五月天| 99九九精品视频| 99视频地址| 人妻激情网| 亚韩在线视频| 99热在这里只有精品| 婷婷射图| 五月婷婷,六月婷婷| 99热在线观看精品| 五月激情小说| 五月丁香婷婷激情视频| 九九免费在线视频| 激情六月下句是什么| 97婷婷五月丁香| 伊人婷婷五月天| 五月天色婷婷基地| www,欧美干干干干干干| 秋霞三级色戒| 综合激情婷婷| 亚洲免费婷婷| WWW五月| 丁香五月婷婷深五月| 久久99精品久| 色亭亭影园| 九九色逼| 91丨九色丨43老版熟女| 中文字幕,综合,91| 九色色| 欧美天天草人人草| 伊人婷婷青青cao| 伊人丁香五月婷婷潮吹| 久久丁香网| 五月丁香六月激情综合| 成人精品在线观看| 婷婷五月天久久| 成人短视频在线免费观看| 激情五月六月婷婷| 深爱激情丁香| 色色色色五月| 婷婷五月天福利| 九九在线视频| 爆乳熟妇一区二区三区爆乳照片| 伊人五月天| 丁香五月五婷| 亚洲天天综合| 色色射| 人人干AV| 婷婷综合玖玖五月| 丁香五月婷婷激情97| 欧美人妻一区二区| 婷婷成人五月天| 五月丁香啪啪啪综合网| 久久婷婷伊人| 久久这里有精品| 欧美色99| 欧美在线干| 深爱五月婷婷| 九九99九九精品免费| 色欲香综合网| 777精品成人a v久久| 啪啪色激情五月天| 九九热10| 婷婷五月噜噜| 91九色欧美| 天天日 天天草| 中文av网| 97精品欧美91久久久久久久| 婷婷六月天| 日韩人妻无码专区| 中文字幕婷婷9月天| 国产婷婷婷| 任我干视频在线观看| 久婷婷视平| 亚洲中文字幕在线电影| 欧美日韩成人在线观看| 色婷婷视频| 狠狠干总合| 欧美97p| 蜜乳中文字| 青青草五月天| 九九在线视频| 色五月五月婷婷| 丁香六月婷婷综合| 综合色图区| 日韩少妇内射免费播放| 久热婷婷在线视频| 九九视频这里只有精品在线播放| 四月婷婷丁香| 色播六月| 99热亚州综合| 婷婷激情五月| 凹凸操Av| 99热精品在线| 超碰2021| 色色五月天婷婷| 天天插天天很| 棕合影院色色| 3p九色在线| 五月天婷综合| 婷婷五月天综合蜜桃| 天天操综合网站| 九热视频在线精品15| 久9视频| 久久久国产精品黄毛片| 成人精品人妻| 99免费青青蜜臀| 亚洲综合在线播放| 26uuu另类| 免费播放片大片| 国产一区二区三区影院| 91丨九色丨熟女丰满| 欧美综合婷婷欧美综| 99热精品在这里| 天天干一干| 91九色 熟| 另类在线| 99干日本| 丁香五月天婷婷大香蕉| 黄涩毛片| 色婷五月天| 韩国19 主播内部福利vip免费播放| 中文精品久久久久人妻不| 久久综合丁香激情五月| 色狠狠色噜噜AV天堂五区| 色欲影香| 五月天婷婷综合| 美国少妇性做爰| 99热老网站| av操一操| 激情五月天伊人影院| 狼人久草| 天堂久久精品| 91视频综合网| www.久久爱.c n| 五月丁香六月婷婷免费视频| 日本99视频| 免费看成人747474九号视频在线观看| 99热在线成人网站| 国产高清视频91九九九久久久| 天天做天天爱天天摸| 欧美性猛交99久久久99| 偷拍九九五月丁香婷婷| 五月婷婷天天| 99热第一页| 丁香五月冃欧美| 超碰免费在线| 99这里只有精品视频在线| 色停停香蕉视频| 丁香五月天堂网AV| 日本狠狠色| 97超碰9久热婷婷热| 婷婷激情五月天在线视频| www.99久久久| 99色在线| 九九热这里只有精品556| 久热AA| 成人一区在线观看| WWW.17C亚洲精品| 黄色成人AV在线| 日本激情五月天‘| 丁香久久九九99| 国产无套精品一区二区| 丁香五月激情综合婷综| 97色97干| eeuss人妻| 婷婷五月情| 这里只有精品视频视频在线观看| 亚洲激情综合| 一级A片天天操夜夜操| 黄色视频网站在线播放| 日韩无码色色| 色五月天丁香| 男女啪啪做爰高潮无遮挡| 亚洲色欲欧美一区二区三区| 久久婷婷丁香| 成人精品在线观看| 色色婷婷综合网| 婷婷五月五月丁香| 天堂色婷婷| 五月丁香久久| 激情小说婷婷小说| 成片免费播放| 五月天激情美女久久| 欧美色五月天| 99爱爱| 最新无毒无码AV| 久久婷鲁| caopeng超碰| 婷婷六月网| 国产va在线视频| av在线不卡播放| 99在线视频免费| 五月婷婷丁香六月在线| 久久丁香| 色天天狠狠干| 丁香88AV五月婷婷| 国产精品久久7777777精品无码| 青草视频在线播放| 五月天婷婷基地| 丁香婷婷啪啪| Y11111111111少妇电影院| 九色无码| 五月天综合区| 丁香五月影视| 嘿嘿视频免费看9| 色色色婷| 99热这里只有精品最新| 久久永久网址| 色色五月激情| 操人妻AV| 五月婷婷丁香在线| 五月天综合视频网| 丁香伊人激情| 无码人妻激情| 色99视| 深爱五月天| 噜噜噜噜综合在线| 激情久久综合网| 91丨九色丨熟女|新版| 色婷婷成人做爰A片免费看网站| 99精品免费视频| 影音先锋xfplay资源男人网| 五月丁香大相交| 成人无码精品1区2区3区免费看| 婷婷五月色影视先锋| 五月婷婷开心网| 色婷婷成人五月| 丁香五月网络网络| 伊人网大香| 99热综合在线观看| 久久AV无码精品人妻系列试探| 丁香五月天.com| 99综合99| www.五月天性.com| 人人色婷婷五月天| 色综合婷婷| 久久38视频| 国产精品99久久久久久久女警| 国产性爱一级| 俺去也五月| 激情综合网,婷婷五月天| 九九伊人网| 天天综合久久| WWW久| 性爱激情五月| 成人免费黄色短视频| 九九热视频在线观看| 亚洲婷婷丁香| 猫咪伊人久久| 久久女人天堂| 九九99免费视频| 九月av在线| 狠狠色丁香乆乆| 日本欧美成人片AAAA | 99色热视频| 66色在线日韩| 婷婷五月精品中文字幕| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | www.色综合| 婷婷五月六月丁香| 日本99久久| 久久九色| 亚洲最大成人综合网720P| 天天做天天爱| 国产精品久久久久久妇女6080| 99精品视频免费观看| 色婷婷av在线观看| 色狠狠综合| 婷婷久久五月天| 99热精品中文字幕| 思思热在线观看| 五月激情小说| 久久五月婷天天干| 色五月婷婷影视| 五月婷丁香久久综合| 五月天成人综合| 婷婷成人五月天成人文学小说| 特级片神马电影| 五月综合缴情网| 五月天色婷婷伊人网| 五月天色婷婷成人| 99性爱| 色婷婷操逼| 91久久久久久久| 99亚洲视频| 色婷婷久久| 国产肥白大熟妇BBBB视频| 天天躁日日躁狠狠躁日日躁2022年5月9日| 天天干人人奸97| 婷婷综合在线网| 亚洲五月天色色| 丁香五月天.com| 中文字幕在线播放视频| hd五月婷婷在线| 99国产小视频| 九九精品自拍| 最近免费中文字幕大全高清大全1 色狠狠色噜噜AV天堂五区 | 超碰在线50| 欧美在线视频9| 久久综合影院| 先锋资源996| 五月婷婷人妻| 亚洲a色| 国产美女无遮挡裸体毛片A片 | 夜夜躁婷婷AV| 国产69精品久久久久999小说| 综合另类激情| 轮奸综合网| 天天射夜夜骑| 五月婷av| 久久久五月天婷婷成人网| 亚洲av成人在线| 视色网在线播放| 99re这里| 丁香五月天激情综合| 久9草在线观看视频| 五月丁香综合激情网| 久热这里只有精品在线观看| 色99色| 深爱五月婷婷| 婷婷五月中文字幕| 激情久久五月网| 免费观看大片视频 丁香婷婷 六月欧美| 五月色综合| 老师把我爽高潮了免费A片| 婷婷放心五日爱| av操一操| 少妇人妻丰满做爰XXX| 婷婷六月综合基地| 丁香五月天综合网| 99热99色| 99热国产精品| 99久热| 成人超碰网| AV在线免费播放| 婷婷五月天免费视频在线观看| 色情婷婷五月天| 久久精品日| 天干干夜夜操| 婷婷成人五月天成人文学| 国产第99页| 九九热99精品在线| 国精产品一区一区三区免费视频| 国产日比| √天堂资源在线人妻熟女| 内射 无码 伊人| 狠狠操.com| 日韩 中文 欧美| 极品嫩草| 婷婷丁香色无五月| 婷婷五月天国产性感美女演员久久久久| www99热| 99热精品在线| 天天操五月天| 婷婷爱五月天| 色婷婷影音| 婷婷五月深深爱| 欧美色一级色| 欧美另类五月激情| 亚洲春色奇米影视| 97色伦另类图片小说视频 | 日日夜夜干| av人人操| 五月亚洲| 东京热免费视频网站| 人人视频人人干人人做| 月色色综合婷婷网| 色婷婷综合网| 手机在线日韩视频中文字幕| 婷婷九月综合| 99熟女视频| 九热视频在线精品15| 四季AV综合网| yellow视频在线观看91| 亚洲av网站| 激情五月丁香五月| renrencaoni| 九九亚洲| 婷婷综合在线观看视频| 九色视频入口91| 婷婷五月激情天| 欧美色色日韩| 亚洲愉拍99热成人精品| 天天综合情| 亚洲综合激情五月久久| 丁香五月在线观看综合| WWW.五月com| 激情五月丁香六月| 婷婷六月天天| 丁香五月综合| 丁香丝袜五月| 色九月欧美| 国产激情综合五月久久| 久草久青福利| 久久久久久久久久久jjjj| 婷香五月激情视频| 99视频自拍| 五月丁香婷婷综合| 五月婷婷亞洲中文| 五月久久婷婷| 日韩av变天就操逼不卡区| 人妻久久久久久久久久久| 激情AV中文| 99精品在线| 狠狠狠狠狠狠草| 丁香亚洲色综合| 天天综合五月天| 思思99热这里只有精品| 亚洲中文AV| 五月天婷婷伊人| 狠狠看狠狠| 一起操最新网址| 乱码操操| 99热在线观看这里只有精品| 久久停停超碰| 丁香五月大香蕉在线99| 欧美日本国产欧美日本韩国99| 丁香五月婷婷亚洲色图| 9久久网| 色丁香五月婷婷| 婷婷丁香五月亚洲免费| 一起草无码视频| 久久久噜噜噜操操操| 丁香五月电影| 婷婷丁香色情五月天| 99ri在线| 99热第一页| 亚洲精品无码一区二区| 日韩在线视频中文字幕| 五月天黄色激情小说| 99这里有精品视频| 99re久热| 99精品偷自拍| 五月花激情| 五月天五月天成人网亭亭成人色网站| 久久天天天| 丁香婷婷五月人体| 日99网站| 99免费在线视频| 中文在线成人| 五月婷六月婷婷| 超黄亚洲瑟瑟网站| 99久在线精品99re8| 99久久偷拍视频| 涩五月婷婷| 97操碰视频| 99在线精品视频在线观看| 亚洲激情无码久久| 婷婷伊人| 黄网免费看| 欧美亚洲成人在线| 九九色情网五月天| 久99久视频精品| 超碰成人免费| 玖玖婷婷五月天| 亚洲激情综| 亚洲视频99| 天天干天天叉| 26UUU精品一区二区Com| 六月色狠狠色| 日韩狠狠色婷婷| 26uuu青青| 日韩av在线电影| 婷婷色片| 91打屁股视频网站| 91人人操| 久99热在线观看| 久久日韩婷婷五月| 综合网五月| 婷婷四色五月| 日韩操逼小电影| 思思99re这里只有| 99久久思思| 26uuuavcom| 综合在线丁香五月| 激情五月婷婷综合网| 激情婷婷丁香色五月综合| 天天开心婷婷丁香五月| 色色啊| 天天爱天天做综合| 婷婷丁香五月欧美人| 黄页大全十八禁| 五月激情网络| 色色色色网| 激情综合网激情五月天| 91色色色18| 99在线精品观看99| 亚洲综合婷婷| 超碰在线免费观看日韩| 欧美日韩精品一区二区三区钱| 色操综合| 激情五月综合久久| 日韩啪啪网| 婷婷五月丁香影院| 久久人妻系列| 婷婷丁香五月亚洲17cao| 射久久丁香五月| 久久性爱视频| 国产成人精品一区二三区熟女在线| 丰满少妇乱A片无码| 久久99激情五月天| 91porn一起草| 干亚洲天堂| 五月丁香狠狠地噜噜噜噜| 亚洲热久久| 精品在线网站| 人妻丰满精品一区二区A片| 伊人大香蕉毛片| av无码电影| site:pzdcoin.com| 五月天社区狠狠| 久久9热| 99热综合| 91九色PORNY中文啦| 欧美色色色色色色色| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 亚洲九九夜夜| 五月丁香六月花| 97超碰在线免费观看| 欧美99热| 国产激情在线观看| va中文资源在线观看| 五月天精品视频| 1024日韩| 久久国产高清| 亚洲婷婷五月草久| 丁香六月激情四射| 人人摸人人操人人爱| 久久久久网站| 欧美性爱5月天天天看| 超碰人人艹| 抽插特写| 婷婷五月丁香五月丁香| 五月丁香六月婷婷成人电影| 做爰丰满少妇1313| 91精品婷婷国产综合久久| 成人性爱精品视频| 人人播| www.久久爱.c n| 秋霞簧片| 亚洲热综合| 婷婷五月天精品| 婷婷五月天视频小说| 中文字幕婷婷| 四射综合网| 婷婷成人丁香色情基地30 | 婷婷网五月天| 狠狠爱深色婷婷综合| 色婷婷视频| 五月婷婷开心网| 婷婷五月天 丁香五月天 裸体| 91久久久久久久| 五月丁香六月情| 久久九网| 丁香五月六月婷婷自拍| 丁香五月激情综合| 五月丁香久人妻中文| 天天天久久人人人合| 亚洲乱码日产精品BD| 操操操操操操婷婷五月天| 丁香婷婷91在线观看视频| 成人视频免费观看高清完整版在线观看| 玖玖在线资源视频| 婷婷激情图片| 亚洲区,视频区,视频区免费| 婷婷情色五月天| 狠狠久久婷| 夜夜综合色| 久久久久久久久18久久| 婷婷之六月丁香| 成人无码精品1区2区3区免费看| 婷婷丁香五月亚洲欧美| 五月天婷婷色色| 婷婷五月色情天| 婷婷五月丁香六月| 色综合综合色| 亚洲午夜AV| 久久婷婷色色| 日韩成人中文字幕| 玖玖婷婷五月天| 特黄三级片| 久久九九爽| 色播五月婷婷| AV伊人青草丁香六月| 久机视频这只有精品| 五月婷婷六月丁香| 超碰成人免费| 婷婷激情综合| 婷婷五月丁香在线观看| 久久久99精品免费观看| 五月婷婷插一插| 色婷婷8| 99视频热| WWW·色色色·COM| 97视频久久| 91男同| 久久99视频| 国产丁香五月天婷婷| 岛国在线观看91| 五月天久久综合婷婷丁香| 色99超碰| 久99视频| 啄木鸟黑丝一区二区| 婷婷丁香五月综合激情小说| 操逼视频网址| 激情五月婷黄版| 9久视频| 激情五月婷婷| 天天谢天天操| 伊人玖玖精品| 99精品在线| 欧美激情凹凸丁香网| 久久嘟嘟丁香| 99热这里只有精彩| 亚洲小说欧美激情| 五月天婷婷色情| www激情| 色亚洲婷婷| 天天网曰日曰夜夜综合永久免费| 九九热av| 亭亭色天香| 色爱综合五月| 丁香五月六月综合激情| 噜噜噜噜在线| 棕合影院色色| 国产真人做爰视频免费| 热久精品| 97五月天婷婷午夜| 丁香五月婷综合| 六月婷婷成人| 色五月丁香A欧美com| 五月婷婷日| 色综久久久| 日笨久久网| 婷婷五月天小说| 婷婷色五月色| 欧美狠狠一在草| 五月婷婷丁香综合,亚洲天堂| 九九aV| 开心五月深爱五月丁香五月激情五月 | 激情綜合W W W,激情五月天| 久久99热这里只有| 久久99免费视频网站| 人妻内射视频| 亚洲免费婷婷| 九九免费视频在线| www.五月天色色.com| 狠狠婷婷色| 综合色五月| 看久久性爱99视频| 蜜臀av无码久久久久久久久| 天堂色色色| 国产成人AV不卡| 色五月激情婷婷| www,色色色网站| 停停色综合伊人| www.婷婷六月天| 五月丁香婷婷狠狠操| 任你爽视频| 久久婷婷网| 夜夜干天天干| 亚洲六月婷| 深爱激情网五月| 全高清无码视頻| 精品9l九九九九九77777| 久久久婷| www.99热视频| 91精品综合久久婷婷九色| 久热这里只有| 六月丁香天堂| 久久视9精| 国产精品99久久久久久久女警| 琪琪色五月天| 婷婷丁香五月在线播放| 日本色色色| 五月天基地| 六月亭亭久久综合激情| 成人无码髙潮喷水A片| 操99| 色婷婷九月| 99干视频| 伊人狼人干| 亚洲激情免费久久| 激情开心五月天| 色综合区| 九九色色| 五月天天天操天天爽夜夜操| 天天婷婷| av在线不卡播放| 99久久极情精品一区| xx久久| 91久久久久久| 婷婷久久色| 99热国产精品| 五月婷婷深深爱| 日本免费91| 五月丁香综合中文| 啪啪丁香五月| www.99在线| 亚洲精品网站色视频| 色婷婷精品视频| av国产精品| 九九热只有这里精品| 综合大香蕉| 五月天婷婷基地综合网| 五月丁香啪啪啪| 性色综合网| 九九热思思| 丁香五月天激情四射网络不好 | 亚洲激情精品| 色综合视频在线| 天天干肏夜夜| 五月丁香六月片| 久久伊人日日夜夜| 国产免费性爱| 天天爽天天爽夜夜爽| 亚洲字幕AV一区二区三区四区| 深爱五月综合网| 狠狠色综合网| 五月丁香婷婷AV天堂| 日日爽夜夜爽| 五月丁香激情综合网官网| 天天操天天插| 激情亚洲色图片丁香综合| 国产精品99久久久久久久女警| 九九精品这里只有| 日韩免费视频| 亚洲 无码 中文字幕 中出| 久久精品无码一区| 五月六月激情| 五月丁香A片| 激情五月综合婷婷| 久久婷婷五月天激情四射| 色一情一乱一乱一区91| 超碰99在线| 激情久久久| www.狠狠色.com| 秋霞av吧| 天天狠狠夜夜狠狠2023| 精品亚洲国产成AV人片传媒| 亚洲AV免费在线| 色五月婷婷激情综合网| 日欧一片内射VA在线影院| 狠狠操狠狠狠| 最新久久99视频网站| 蜜臀99精品| 亚洲精品视频在线播放| 九九色色| 天天天天天久久久久久| 国产精品人妻在线网址| 中文字幕在线日亚洲9| 99热精品在线播放观看| 68热超碰在线| 五月激情在线| 蜜臀AV在线成人| 国产熟妇乱子伦hd| 亚州操人在线视频| 色综合色五月| 99ER热精品视频| 久久五月天激情| 96丁香六月婷婷蜜桃综合久久| 91精品久久久久久77777| 激情网开心网| 99人人操人人爱久久久| 思思热这里只有精品| 99性感视频| 4399在线观看免费毛片| 开心婷婷五月| 激情五月丁香六月综合AVXXXX| WWW.久久久久久久| 无码人妻少妇色欲AV一区二区| 亚洲综合丁香五月天| 91婷婷在线| 色香蕉精品五夜婷| 五月 成人 婷婷| 成人欧美一区二区三区在线观看| 五月天伊人久久| 人妻久久久久久久 | 日日夜夜爽| 大香蕉伊人久久| 丁香六月成人| 伊人久久五月天| 蜜臀九九九九| 啪啪激情综合| 久久久精品免费啪啪国| 91 九色 熟女| 夜夜爽天操| 丁香五月天无码AV| 色色综合五月| 丁香五月天堂网| 五月天婷婷综合网| WWW、日本色丁香、co m| 九九99热久久精品66中文字幕| 久久久com| 欧美日韩成人在线网| 狠狠人妻久久久久久综合丁香| 丁香婷婷色九月| 韩日另类| 五月婷婷婷| 99色热| 丁香五月天欧美| 网色99| 4438全国最大视频成人网站在线观看 | 亚洲视色| 激情综合五月.....| 久久女人天堂| 婷婷激情97| 北京熟妇搡BBBB搡BBBB| 婷婷五月香蕉| 五月激情综| 丁香5月啪啪| 丁香五月天婷婷在线视频| 久99精品视频| 大香蕉五月婷婷丁香| 久久激情网| 99热精品99| 99热在线成人网站| 婷婷激情五月综合基地| 久久大香蕉| 色天堂A| 人人草碰| 玖玖91| 丁香网站| 色色色网站| 六月婷婷av| 五月天婷婷影院| 丁香五月综合在线观看| 婷婷 亚洲图片 丁香| 六月丁香激情综合网| 丁香婷婷色| 综合www色| 超碰丁香五月| 超碰69天堂| 婷婷五月天性色| 欧美大肥婆大肥BBBBB| 五月天伊人网| 操97| 日韩亚洲视频| 久久色五月| 丁香五月激情网| 91成人性爱视频| 色婷婷狠狠干芒果TV| 蜜臀av在线成人电影| 婷婷五月丁香基| 婷婷狠狠久久| 天天爱天天做天天舔| 五月色丁香综合| 色噜噜狠狠色综合伊人| 激情婷婷丁香五月天小说| 久久久激情| 午夜色婷婷| 深夜男女福利刺激影院一区完整| 久热AA| 五月婷中文字幕| 久久久久亚洲AV成人无码电影| 97色婷婷在线观看| 91综合在线视频| AV成人在线播放| 91久久精品无码一区二区三区| 色色五月天丁香婷婷| av在线观看网站| 女同激情久久av久久| 天天摸天天肏| 丁香五月婷婷久久综合激情网 | 在线区区区| 婷婷五月天日本国产| 97久久香草精品视频| 日逼免费视频 | 九九激情| 丁香久久综合| 婷婷99狠狠| 色播综合| 丁香五月五月婷婷欧美大香蕉| 国产黄色在线观看| 婷婷香蕉香| 久久香蕉婷婷| 久热一本| 《诡秘之主》在线观看| 日日爽日日操| 日日肏夜夜干| av人人干| 日本综合色色| 激情五月丁香五月| 国产人妻777人伦精品HD| 91午夜婷婷狠狠久久综合9色| 青青操日本摸摸看看| 婷婷大乡焦噜噜| www.狠狠| 五月激情综合五月| 久热网在线视频| 射久久丁香五月| 99热这里只有精品1| 婷婷丁香社区| 五月婷婷之综合激情在线| 久久WW| 色五月xxx| 天天日天天日天天搞| 色九九九九| www.操.com| 97色精品视频| 丁香五月天.com| 婷婷五月激情热播| 久久这里只有国产视频| 天堂网啪啪| 九九热精品| 新男人天堂人妻| 99久视频| 久久精彩视频99| 综合99视频| 五月婷在线| 五月丁香偷拍| 婷婷五月在线免费| 99热亚洲精品66| 激情另类综合| 爱99干99| 色99热| 夜夜噜夜夜奇| 狠狠色五月| 日本少妇裸体做爰高潮片| 亚洲4区国产欧美| 五月婷婷五月丁香综合| 天天爽天天爽视频| 久久人妻精品| Av在线资源| 人人爽人人射-美女久久久久久久久久-成人AV| 婷婷综合伊人丁香| 99热99干| 人人综合色| 六月婷婷天天操夜夜爽视频| 天天操综合网站| 色五月天在线观看| 在线亚洲综合网| 激情五月丁香婷婷夜夜操| 午夜做爱影院| 成人午夜无码视频| 99热狠狠操| 99热这里只有精品一| 啪啪99| 潘金莲AAAAAAAAAA| 婷婷99狠狠| 99爱视频免费| 香蕉久久国产AV一区二区| 五月综合丁香婷婷| 九九精品在线网| 五月天色五月| 婷婷色五月开心五月| 色色婷婷综合网| 99在线精品视频在线观看| 国产免费av网站| www。88热在线视频免费观看| 五月天婷婷AV| 成人国产网| 热久久思思热思思| 在线网黄| 亚洲国产网站| 欧美综合激情五月| 丁香五月在线播放| www.色婷婷.com| 99久久玖玖| 97caop| 色情五月丁香婷婷网| 99热9999| 岛国操B不卡在线| 久久这里只有精品22| 99热久久这里只有精品| 免费AV播放| 色婷婷AV在线| www.激情五月天.com| 我爱va亚洲va52| 五月天色图| 国产激情综合| 丁香婷婷色色| 人人草碰| 丁香五月综合在线观看| 国产在线激情视频| caobi四区| 六月婷婷激情| 色9999日韩国产| 国产精品电影网| 久婷自拍视频| 热99AV网站| 日韩aⅴ视频| 热的无码综合视频| 日产精品一线二线三线芒果| 九九99视频精品| 久久久久久久人妻| 99啪啪| 五月激情六月综合| 久99热| 激情内射人妻1区2区3区| 99热永久在线观看| 欧美在线视频99| 亚洲综合色色| 午夜色婷婷| 久久 婷婷 五月天| 99久久婷| 婷婷综合色| 激情综合五月天| 久久性操| www.91久久| 欧美久热| 色婷婷五月天在线观看| 婷激情五月天视频导航| 五月丁香激情啪啪| 激情小说五月丁香在线视频观看视频| 26uuu国产| 99久热这里有精品| 免费看欧美成人A片无码| 五月丁香少妇网| 超碰在线网站9| 天天天摸夜夜夜玩| 五月丁香激情综合网官网| 五月激激激情综合网| 秋霞网在线免费基地五月婷婷丁香| 天天做天天摸| 伊人久久综合| 噜噜操操| 婷婷五月丁香综合| 丁香婷婷激情| 亚洲色情一区二区三区四区| av操逼网| 亚洲操b| 五月天婷婷情色| 亚洲超碰在线| 久久杏爱视频| 五月婷婷香蕉| 色欧洲| 91干| 国产JK精品白丝AV在线观看| 一级A片天天操夜夜操| 日本一区二区三区精品视频| 五月婷婷亚洲色视频| 另类综合激情| 激情99| 欧美97p| www.99热精品99.com| 伊人婷婷大香蕉| 婷婷伊在线| 久久五月婷天天干| 96丁香六月婷婷蜜桃综合久久| 任你爽免费视频| 嫩BBB槡BBBB搡BBBB| 操射国产日本| www,色婷婷| 婷婷五月综合在线| 巴基斯坦粉嫩无码视频| 91精品无码久久久久久五月天| 99热8| 99综合激情久久精品久久| 超级黄色片| 久久久婷| 26uuu精品国产| 五月激情视频| 岛国在线观看91| 影音先锋91资源站| 激情婷婷色小说| 99精品丰满| 五月激情视频| 精品久久久久久久久久久久人妻| 丁香五月婷婷Av| 亚洲综合另类| 深爱激情婷| 少妇丁香婷婷 | 色综合色综合色综合高潮| 九九九九九九九九九九九九九国产精品| 黄网在线免费观看| 婷婷五月六月丁香综合|