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
返回資訊列表
成人做爰A片免费看视频| 91色综合网站在线| 99亚洲日韩| 99热超| 婷婷丁香熟妇综合网| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 亚洲永远av在线播放| 天天草比天天爽| 久久婷婷亚洲| 9伊人网| 美女va| 中国无码av| 免费视频无码| 色色色色网色色网色色| 79精品在线视频| 国产色视频网站2| 色色com| 激情婷婷色五月| 婷婷丁香射射| 丁香婷婷五月综合色情| 激情综合网色五月| 99热999| 亚洲va成人va成人va在线观看| 99九九精品| 婷婷五月丁香五月丁香| 九九碰九九爱97| 日本黄色精品| 毛片九九九九九九| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 99re青青草| 91九九| 色欲婷婷五月天丁香| 五月丁香AV、伊人业余、性色熟妇| 六月婷婷七月丁香| 色婷六月| 99啪99| 97se在线视频| 九九色婷婷Av| 玖玖婷婷视频| 伊人婷婷综合| 91丨九色丨43老版熟女| 日本视频99| 狠狠操在线视频| www.粉嫩av.com| 五月丁香激情综合啪啪| 亚洲人成网站999综合| 久久免费精彩视频| 五月天综合网| 国产精品18久久久| 91av传媒高清在线视频网| 99自拍视频| 九九亚洲视频| 高清无码网址| 日本三级韩三级99久久| 99热精品在线观看| 激情五月天综合网| 狠狠色噜噜狠| 一级内射毛片| 久久性都花花世界成人免费视频| 大香伊人婷婷影院| 色99视| 欧美一黄一色一乱一伦| 亚洲另类毛片| 色综合色色| 国产99久久久| 99er免费在线观看| 五月天色视频| 丁香五月先锋| 五月丁香激情综合| 婷婷99综合| 亚洲精品无AMM毛片| 天天干,天天日| 深爱综合网| 色情五月婷婷| 久久五月天激情| 超碰只有精品在线| 成人AV网站在线| www热久久yy9| 亚洲日本激情| 99性爱视频网站| 九九热这里| 婷婷丁香六月| 婷婷五月天激情网| 九九热青草| 少妇人妻人伦A片| XX色综合| 超碰在线中文字幕| 婷婷色色综合激情| 五月婷婷六月丁香综合在线| 特黄三级片| 婷婷五月激情网| 综合色图区| 亚洲第一成人无码A片| 天天插操| 日本久久婷| 亚洲中文字幕AV| 色综合色综合婷婷热| 色婷婷4| 五月开心啪啪| 激情另类综合| 亚洲激情四谢| 另类图片色五月| 好好干Av| 色停停五月,在线观看| 久久综合干| 久操婷婷| www.婷婷,com| 亚洲丁香网| 婷婷播5月| 日本久久婷| 亚洲天堂热| 超碰九热| 伊人大香五月天| 狠狠狠狠狠操| 99色色网| 九九热在线99| 激情五月天色爱| 99热这里只有免费精品| 婷婷成人综合免费视频| 久久久精品人妻| 五月婷婷丁香六月| 操碰91| 丁香五月成人自拍| 思思热国产视频| 婷婷亚洲五月色综合| 丁香五月在线播放| 99九九这里有免费视频| 久久精品国产色| 99在线小视频| 日韩乱轮AV| 爱狠射| 伊人春天av| 婷婷五月18永久免费视频| 六月婷婷激情| 色色婷婷色色| 色久五月天| 91九色丨国产丨爆乳| av网站不卡在线| 91久久久久久久久| 伊人久久大香蕉网| 国产亚洲色婷婷久久99精品9j| 天天射夜夜爽| 四色99久久| 亚洲天堂碰碰婷婷| 激情伊人六| WWW.99视频| 成人做爰高潮A片免费视频| 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 色五月天.con| 99热这里都是精品| 色约约视频一区二区三区四区五区| 色五月激情视频在线综合| 夜夜天天久久婷婷| 亚洲V国产V欧美V久久久久久| 97碰| WWW色色色COm| 操射国产日本| 婷婷五月激情黄色| 深爱激情九九五月天 | 狠狠高潮精品亚洲1| 99精品视频在线观看| 91精品综合久久婷婷九色| 伊人婷婷五月| 日本www免费九九| 久久久久久天天日天天爱| 婷婷丁香亚洲色综合91| 热热色色五月天婷婷| 九九人人看| 五月天色导航| 亚洲激情四射| 另类精品视频在线观看| 亚洲a色| 啪啪一区| 婷婷五月天激情在线观看 | 激情综合五月丁香| 一本久道综合色婷婷五月| 激情综合网五月天| 女操碰| 天天日天天插| 玖玖爱伊人| 高清无码网址| 色色婷婷五月| 国产亚洲精品久久久久久牛牛| 激情小说五月天社区丁香| 亚洲AV综合网| 亚洲另类婷婷五月丁香在线播放| 青草视频在线观看视频| 五月综合激情图片| 人。妻久久| 综合日本婷婷| 国产免费AV在线| 操碰99| 久久这里有| 少妇熟女视频一区二区三区| 婷婷激情五月天色| 色综合久久88色综合天天| 亚洲激情精品| 久久激情五月天| 天天日夜夜曹| 日本色色色| 婷婷激情小说| 五月婷网站| 婷婷五月av| 久久色情| 日本美女97在线视频| 婷婷五月中文字幕国产| 成人中文字幕在线| 婷婷六月丁香五月| 婷婷五月天亚洲综合| 久久综合最新网址| 色婷婷www| 五月婷丁香花| 丁香六月综合| 午夜色婷婷| 色噜噜伊人| 美国少妇性做爰| 五月激情另类| 激情综合色婷婷啪啪五月天| 天天噜噜| 亚洲色基地| 久久婷婷伊人| 99热99热不卡| 天天爱天天做天天日| 欧美精品中文字幕亚洲专区| 人人操av| 六月米奇色综合| 五月婷在线视频免费看| 婷婷五月大| 国自产拍偷拍精品啪啪一区二区 | 久久综合色五月| 99热丁香五月| 色噜噜狠狠色综合成人网| 成人免费120分钟啪啪| 久久黄色免费视频| 国产精品在线视频| 99热精品无码| 97福利视频| 天天添天天摸天天天天做| 六月婷婷综合激情| 99热69| 色色aⅤ網| 大香蕉啪啪啪| 五月丁香啪啪| 老司机伊人| 婷婷欧美激情| 丁香六月婷婷久久综合| 久久综合网桃花| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 婷婷色五月天色| 婷婷开心综合人妻小说网址| AA片在线观看视频在线播放| 婷婷五月天成人动漫 | 嫩草综合网| 五月色综合| 色婷婷91| 99视频激情四射| 久久探花91swag| 婷婷六月激情丁香| 亚洲欧美综合7777色亭亭| 在线五月婷婷小电影| 9有码中文| 婷婷六月色情| 激情五月婷黄版| 综合婷| 99免费热视频| 丁香社92视频| 久久五月天色婷婷| 婷婷99狠狠躁天天| 色婷婷六月| 开心婷婷五月天综合| 国产精品大香蕉| 丁香五月婷婷99| 免费不卡狠操美女视频网 | 久久香蕉福利| 美女五月天| 成人视频一区| 天天做天天爱天天爽| 五月六月播婷婷| 99操视频| 国内裸舞二区| 五月婷A V在线| 五月五丁香婷婷| 色五月丁香A欧美com| 丁香五月六月激情| 激情婷婷网| 五月婷婷激情综合| 婷婷五月激情综合| 爱久久小说下载网| 超碰资源在线| 97人人射| 亚洲舔观看| 全部老头和老太XXXXX| 色五月天成人在线| www.91AV.COM| 五月丁香综合| 五月色婷婷在线观看| 亚洲AV免费在线| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 91av无码| 在线成人网站| 五月天激情在线视频| 天天揷综合网| 色五月激情网| 五月天另类小说亚洲| 婷婷五月花| 五月婷婷开心亚州在线| 国产色99| 色5月婷婷| 亚洲热综合网在线观看| 日本三级毛片| 五月天激情小说| 色播丁香婷婷五月激情| 五月天久久婷婷| 久久在线视频免费观看| 日本视频99| 99高级会所久久| 97色综合视频| 色综合色综合网| 五月婷婷激情中心| 亚洲午夜视频| 日本啪啪视频HD| 综合成人小说婷婷| 亚洲第一色色色色| 欧美 日韩 成人| 天天草天天爽| 天天干 夜夜爽| 五月丁香六月婷| 免费无码毛片一区二区A片| 热思思| 无码人妻激情| 日韩性爱AV| 天天噜| 免费无码毛片一区二区A片| 99成人免费热视频| 久久综合这里只有精品1| 四LLL少妇BBBB槡BBBB| 天堂草在线看www| 91婷婷色五月| 亚州第一黄网| 无码99| 无码人妻一区| 欧美综合婷婷欧美综| 丁香香蕉婷婷| 无码 av电影| 激情图片久久| 中文字幕久久一区二区三区| 丁香五月激情宗合| 996黄色片| 国产超碰在线| 色五月五月婷婷| 狠狠色狠狠鲁| 久久综合五月天| 超碰成人影视| 色色欧美色色色| 久久久999精品| 99热成人在线观看| 亚洲综合新99视频| 色婷婷丁香| 一级片操逼视频| AA久久| 丁香综合网| 五月丁香婷婷无码中文| 激情四射网| 91大操| 五月激情婷婷在线| 午夜爱爱网站| 思思久久精品| 五月丁香欧美综合| 欧美日韩中国| 国内精品免费一区二区2009| 亚洲V国产V欧美V久久久久久| 超碰免费大香蕉| 狠狠色丁香久久婷婷综合五月| 第四色色六月色综合| 五月丁了香蕉综合| 91九色 熟| 婷婷六月天| 久久婷婷视频| 性色婷婷| 五月婷婷色综图片| 五月丁香综合| 中文字幕性爱丰满| 国产寻花在线| 97色吧| 在线VA视频| 国产XXXX搡XXXXX搡麻豆| 六月丁香婷婷网| 91碰人人| 91九色熟女| 五月天综合网| 噜噜噜久久| 精品久久人妻热| 黄色三级毛片中字| 激情综合五月开心狠狠| 噜噜噜噜婷婷五月天| 色五月激情网| 色情婷婷五月天| 超碰97免费在线| 欧美在线操| 婷婷激情肏屄网| 欧美日韩中文国产一区发布| 五月婷婷六月丁香五月| 婷婷五月丁香激情色情| 五月丁香黄色| 狠狠操狠狠色| 五月天久久婷婷| 丁香六月视频免费观看| 久久只有这里精品免费| 影音先锋91资源站| 99re欧美精品| 九九香蕉网| 五月天婷婷深深爱| 综合激情伊人影视在线| 四季AV综合网| 99久热视频在线| 婷婷久久99| 成年人99热| 日本啪啪天堂| 一起草aV| ztEJj| 欧美99热| 婷婷五月天激情综合| 手机AVAV天堂看网| 久久九九网| 欧美69色| 天天综合网~91| 99性视频| 久99| 婷婷亚洲影院| 天天肏高清在线| 日韩精品999| 99在线精品视频| 狠狠做五月| 激情综合婷婷| 亚洲色夜| 无码激情AAAAA片-区区| 五月婷婷激情日本| 开心丁五月| 99热777| 婷婷六月综合基地| 99在线精品免费视频| 最新国产AV| 五月丁香激| 熟女激情网| 天堂AV在线看| 久久综合99| 一点色成人网| 99热天堂| 5月婷婷六月丁香| 丁香六月久久| 最近中文字幕大全免费版在线 | 任你日热视频| 丁香六月婷婷高清| 丁香五月欧美色综合| 99色在线视频| 婷婷综合激情| 丁香六月婷婷基地| 久久99久久久久久| 丁香五月在线观看完整版| 七七九色| 狠狠噪| 97操碰视频| 另类激情五月| 欧美色五月| 欧美日本国产| 五月色婷婷在线观看| 色婷视频| 狠狠干狠狠干| 五月婷婷熟女| 丁香色综合| 开心五月网 | 激情五月婷婷啪啪| 综合网色| 四川操逼站| 婷婷丁香六月五月天| 毛片色五月| 日本三级韩三级99久久| 久re热视频| 欧洲日韩一区二区三区| 粉嫩av蜜桃av蜜臀av| 97日本在线播放| 狠狠色综合网| 99无码| 欧美日本韩国亚洲| 丁香五月天欧洲在线| 婷婷深爱五月丁香| 亚洲亚洲人成综合网络| 噜噜色天天开心| 色综合色色| 人妻丰满精品一区二区A片| 国产免费一区二区三州老师F1F1| 亚洲A色| 久青草影院| 日韩 中文 欧美| 婷婷五月天激情网站| 97操操| 色色色婷婷五月天| 久操97| 色综合99色| 五月天色官网| 丁香九月激情| www.色婷婷| 91九色视频在线观看| 亚洲黄网在线| 丁香五月婷婷天激情| 色99在线观看| 国产成人av在线播放| www.婷婷.com| 十二区无码| xxx日本东京热| 丁香六月婷婷综合麻豆| 丁香五月婷婷啪啪| 久热这里只有国产| 激情小说视频图片| 91在线日| 色停停香蕉视频| 7777精品伊人久久久大香线蕉最新版| 国产三级秋霞| 婷婷丁香五月天色色| 99热99这里有免费的精品| 国外亚洲成AV人片在线观看| 久热2025无码| 91九九| 人人亚洲| 777精品久无码人妻蜜桃| 五月丁香久人妻中文| 99久.| 久久婷婷国产| 婷婷五月天激情网| 91人妻PORNY九色大屁股| 日韩 中文 欧美| 日本久草福利| 五月色丁香| 97久人人| 99热这里只有精品2| 亚洲啪啪视频| 99这里只有| 大香蕉人妻| 日日爽日日| www99热| 综合久久99| 丁香六月婷婷一区| 国产SUV精品一区二区6| 五月天婷婷激情春色小说| 91色五月在线观看| 五月天网站亭亭| www.久久婷婷| 九九99免费视频| 五月婷婷啪| 国产成人亚洲综合A∨婷婷| 激情五月天在线观看色婷婷| 国产特级毛片AAAAAAA高清| 亚洲Av入口| 久操香蕉| 97碰碰视频| 亚洲操逼片| 天天爽天天操| 视频这里只有精品16| 婷婷99视频全集高清| 色五月在线视频观看| 婷婷综合一二三| 婷婷激情性爱| 国产夫妻操逼内射视频| 91精品91久久久久77777| 九九人人看| WWW,五月| 五月色亭丁香| a级毛片一区二区免费视频| 五月天亚洲色| 妇激情基地| 五月天激情综合网| 99热在线观看精品免费| 激情久久久久久久久久久| 色色色色网站| 五月婷婷自拍视频| 碰97久久| 激情又色又爽又黄的A片| 丁香五月激情鲁| 日本色色网站| 五月丁香婷婷综合| 激情五月开心五月丁香五月| 天天肏视频| 中字幕视频在线永久在线观看免费| 久久精品66| 狼人狠狠操| 亚洲精品白浆高清久久久久久| 久99热| 五月天天堂久久| 欧美成人精品A片免费一区99| 十月丁香九月婷婷综合| 任你爽视频| 久久se 综合网 | 激情AV| 精品色色网| 黄久久久| 欧美性生交XXXXX无码小说 | 丁香网五月天激情| 特黄三级片| 深夜婷婷 丁香| 超级碰碰碰97免费| 人人干Av| www.久久久久| 久久五月天丁香| 五月丁香六月激情在线| 婷婷五月丁香基地| 91艹人| 伦99热| 天天做天天爽| 久久九九@| 欧洲激情五月天| 久久婷婷丁香| 97伦乱| 99热这里只有精品2| 91精品国产综合久久蜜芽解析速度| 九九热99热| 曰日爽日日操| 丁香五月婷婷六月婷| 久久综合婷婷五月| 激情六月婷婷啪啪| 99这里只有精品| 天堂五月婷婷| www.色五月天.com| 深爱五月激情综合| 99在线观看精品| ZpRSw| 99热精品在线播放| 久99视频在线观看| 天天噜噜| 日韩综合大黄| 噜噜噜噜噜日本视频| 国产avapp 网| 久久一伦| 99精品综合| 五月丁香色色网| 秋霞AV淫| 亚洲热热视频| www.99热. com这里只有精品| WWW.激情| 婷婷色在线| 97久久五月丁香婷婷| 激情五月四色| 人与禽A片啪啪| 天天爱天天操| 91精品久久久久久综合五月天| 久久这里有精品| 激情婷婷丁香色五月| 人妻内射麻豆视频| 精品婷婷五| 97碰碰人人| 1999天天操夜夜操| 色婷婷玖玖影院| ztEJj| 日韩少妇内射免费播放| 99在线观看| 久久九九网| 午夜九九九九九九九九九九九九九| 午夜激情五月天| 啪啪干伊人婷婷| 五月天激日本色情在线| 国产1区2区3区在线观| 五月婷婷熟女| 久久性操| 91偷拍视频| 婷婷色综合| 91viP在线看| 九九久久99精品免费观看www| 日本色五月| 人人干av| 六月婷婷八月丁香| 五月丁香综合中文| 玖玖五月| 久久多色| 激情五月天视频| 五月天婷婷av| 欧美丁香婷婷五月| 婷婷丁香18| 六月色婷婷| 91日本在线观看| 综合色色网| 九九热最新| 亚洲欧洲中文日韩久久AV乱码 | 欧美一级色| 99精品在线播放| 婷婷五月天AV| 五月丁香六月婷| 色情婷婷| 久久精品国产AV一区二区三区 | 激情小说色五月| 国av网| 成人VAV视频在线观看| 色婷婷丁香社综合| 丁香六月激情| 五月婷婷在线视频免费观看| 婷婷黄色五月天在线视频| 337p午夜影院| 久久人妻视步| 色色狼人综合| 五月丁香五月综合欧美| 激情又色又爽又黄的A片| 国产精品美女久久久久AV超清 | 色九亚洲| 丁香六月天| 最新高清无码专区| 99riAV成人在线视频| 久久码久久无清| 人人干99| 久一这里有精品国产| 精品综合五月| 五日激情综合| 五月婷婷婷| 鲁鲁色五月| 激情碰碰碰| 91九色|疯狂|高潮|对白|| 激情小说五月天社区丁香| 熟女五月天久久综合| 欧美啄木乌丝袜人妻系列| 丁香久月| 丁香五月激情五月| 丁香五月婷婷AV在线| 九九五月天| 午夜精品人妻无码一区二区三区| 91欧美日韩| 爽极品色| 26UUU欧美激情一区二区| 五月天婷婷影院影院观看| 九九热中文| 久久小说网| www.99热这里精品| 天天做综合| 另类五月激情| 久久久久er热| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 激情久久久| 五月天婷婷黄色| 久青操| 欧美成人AAA片一区国产精品| 婷婷干六月综合旧址| 五月天激情四射| 五月丁香六月婷婷手机无线| 69久久99精品久久久久婷婷| 精品一区二区三区免费毛片爱| 婷香狠狠爱五月| 五月花婷婷在线精品视频| 婷婷五点亚洲| 色五月成人| 婷婷伊人五月丁香天堂网| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 蜜桃五月天| Www99热| 婷婷五月丁香伊人网| 亚洲黄色精品| 91av成人| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 婷婷九月丁香中文| av婷婷丁香 六月| 狠狠狠色激情综合适合| 97色婷婷五月天| 91色综合| 婷婷五月激情视频网| 精品五月丁香| 日本在线视频播放91| 婷婷丁香日韩五月| 五月婷视频久久| 色屌丝中文字幕| 538在线精品| 国产操碰| 深爱激情五月网| 日韩av手机在线观看| 婷婷永久在线| 天天爽天天日| 激情涩播| 免費亭亭成人| 九九Av| 日本天堂免费99| 丁香五月av在线| 五月天色图| 伊人色综合影院视频| 久久九九视频| 丁香婷婷老熟女综合网| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | 99操免费视频| 人人操碰| 婷婷激情五月综合丁| 久久激情网| 99色综合网| 五月香婷婷| 色吧网综合| 亚洲 无码 中文字幕 中出| 97色色视频| 五月伊人网| 日本爆乳片手机在线播放| 婷婷五月综合色小姐小说| 五月天婷婷爱丁香中文字幕| 五月天婷婷社区| AV在线大香蕉| 欧美久久网| 九九99在线| 婷婷五月天六点丁香五月| 婷婷五月天性色| 嫩BBB搡BBBB榛BBBB| 久久久久er热| 色婷婷久久综合中文久久一本| 99国产精品白浆在线观看免费| 天天性视频| 伦乱天堂| 成人必爱视| 在线国产精品色| 人人操婷婷| 26uuu国产| 亚洲欧美在线观看| 丁香六月久| 天天爱天天爽| A1片久久久| 五月激情六月宗合| 色碰碰| 91精产品自偷自偷综合| 婷婷月综合| 超碰在线中文字幕| 五月天丁香婷婷社区| 日日操日日撸| 色九综合| 欧美日韩成人在线网站| 伊人网啪啪| 日本婷久久| 91操片| 色999亚洲人成色| 婷婷五月色| 五月天激情国产综合婷婷| 97色色色色| 色婷婷狠狠18禁| 99re思思在线视频| 亚洲亚洲人成综合网络| 蜜臀av在线成人电影| 99天堂在线观看免费视频| 欧美VA在线观看| 99啪啪骑| 美欧日韩国产成人在战| 国产精品久久..4399| 色综合色色色| 五月花成人网| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 狠狠大香婷婷爱| 婷婷中文字幕| 久久久久人无码人妻| 婷婷丁香五月在线观看91| 婷婷五月天伊人网| 日韩成人AV在线播放| 亚洲色碰| 五月婷伊人| 91人妻九色大屁股| 久久精品人妻| 五月天婷婷av| 午夜少妇在线观看视频| 中文国产五月天| 伊人九九热| 操操碰| 五月天色婷婷视频| 久色大香蕉| 五月丁香婷婷色色色| 中文字幕人妻熟女在线| 色婷婷激情视频| 七七久久婷婷| 人妻九九九九| 五月天激情在线视频| 91呦呦呦| 婷婷涩五月| 色五月婷婷成人视频| yw国产AV| 日韩超碰在线| 人色五月天婷婷| 丁香五月综合激情久久潮喷| 婷婷五月AV| 五月丁香六月欧美综合| 新男人天堂人妻| 激情久久久| 亚洲色色色色| 国产熟女大叫受不了| 色五月婷婷五月天| 色五月六月| 超碰免费人人| 99热在线观看成人| 超碰操网| 五月天中文网| 99热最新精品| 操老逼综合网| 超碰免费99| 五月丁香久久激情网| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 激情五月天小说网| 成人精品一区二区三区四区五区| 91人无码久久久久久| 超碰久热| 99久久大片| 国产婷婷色五月| 91在线资源| 5月丁香啪啪啪| 99视频一区| 丁香五月色情| 婷婷综合伊人| 丁香六月婷| 天天爽天天操| 深爱开心五月天| 成人电影在线免费试看| 久久大香蕉丁香| 97人人操人人爽| 99视频只有这里精品| 性韩日色婷婷五月天激情啪啪XXX| 丁香婷婷久久五月天| 色五月丁香五月| 综合网亚洲| 久久婷婷五月草视频在线播放| 婷婷久久免费| 99热国产在线| 任你爽视频| 丁香五月欧美色综合| 一本伊人色婷| 色播五月婷婷综合| 97热这里精品在线视频| 青吴乐视频| 欧美色五月| 免费婷婷| 天天舔天天操| 六月天六月婷| 久久久思思热| 啪啪婷婷五月天激情| 丁香狠狠色婷婷久久无码视频| 久99视频| 任你爽免费视频| 天天狠天天叉| 99热这里有精品2| 成人无码髙潮喷水A片| 亚洲精品视频在线播放| 天天日夜夜曹| 这里只有精品视频在线看| 夜夜涩涩涩| 免费AV播放| 91九色国产熟女| 久久久五月天婷婷成人网| 亚洲精品无人区| 五月天婷婷色| 久久五月丁香| 欧美色97| jiZZdr| 深爱激情网五月天| 美女主播野战视步页| 第2色五月婷| 91一起操| 99啪| 久久婷婷丁香视频网| 日韩欧美性爱| 99久久国产综合精品五月天喷水\| 五月色综合| 色婷婷色99国产综合精品| 激情婷婷色色| 97色片| 天天综合五月天| AV性爱在线| 九九热只有精品| 婷婷色欧美激情| 五月婷婷六月奇米网丁香| 婷婷在线操| 这里只有精品视频在线观看免费| 色玖玖| 五月天激情综合在线| 97人人操人人爽| 久久99操| 激情丁香社区| 91色婷婷综合久久中文字幕二区| 成人在线不卡| 婷婷九月激情| 色综合色色| 99天堂网| 99色这里| 99惹| 激情五月天无码| 色婷激情网| 思思re视频在线| 激情开心五月亚洲| 狠狠草综合网| 久热网在线视频| 亚洲色爱综合| 婷婷色导航| 超碰在线免费9| 99人人干| 免费亚洲婷婷| 无码人妻少妇色欲AV一区二区 | 爆乳熟妇一区二区三区四区| 97伦乱| 91色欲综合| 大香AV| 国产免费一区二区三州老师F1F1| 欧美色99| 色情综合网| 激情婷婷五六月天| www,五月丁,com| 色五狠狠| 另类图片五月天| 99热偷拍| 久热伊人| 草草色情综合网| 欧美日本99| 日本欧美国产| 99re最新地址视频| 综合激情网| 婷婷五亚洲| 这里只有精品视频| 婷婷99狠狠| 欧美交换配乱吟粗大25P| 婷婷色影音天| 久久五月婷婷视频| 97在线综合| 79精品在线视频| 淫荡工a| www.99热| 伊人成人宗合网| 五月婷婷婷自由综合| 亚洲va欧美va天堂v国产综合| 99在线精品视频| 在线另类| 丁香五月激情五月色综合| 久久精品系列| 国产VA播放| 五月丁香久久丝袜啪啪| 播五月开心婷婷欧美综合| 精品久久久人妻| av高清无码| 超碰成人AV| www,五月天com| 热99这里只有精品视频| 久久婷婷五月综合| 亚洲欧美成人在线| 亚洲av电影在线| 96丁香六月婷婷蜜桃综合久久| 成人婷婷五月天| 色播五月网| 婷婷五月成人| 国产亚洲成人综合| 99re在线观看| 久久 视频这里只有精总| 99毛片| 2018国产大陆天天弄| 久久久噜噜噜www成人| 这里只有精品免费在线视频| 色婷五月天网站| 在线观看欧美| 亚洲精品无AMM毛片| 五月丁香九九| 丁香久色| 五月婷激情影院| 被强行糟蹋的女人A片| 五月天婷婷情色| 五月www| 亚洲免费99| 大香蕉在九| 国产成人+综合亚洲+天堂| 开心五月色婷婷综合开心网| 中文字幕永久免费| 色www99| 思思久久99热| 深爱激情综合网| 五月婷婷六月激情| 国产性爱一级| 婷婷丁香成人网址| 99操碰| 婷婷丁香五月基地| 日韩无码一区二区三区四区| 少妇综合网| 丁香五月花| 91人人爽狠狠狠| 第四色首页| 伊人综合网站| 色婷婷激情| 成人综合伍月天| 婷婷久久五月天| 97干在线观看视频| 婷婷五月天综合中文| 99久久99九九99九九九| 婷婷色中文| 丁香婷婷综合激情五月色| 婷婷五月天AV| 2015超碰| 97婷婷五月| 性做久久久久久久免费看| 人人摸人人操人人爽| 99爱在线观看视频| 中国女人内射6XXXXX| 国产成人网址| 免费看欧美成人A片无码| 玖玖色综合色| 操笔无码| 九九Av| 亚洲成人另类| 天天做天天爱天天要| 欧美成人精品A片免费一区99| 激情九月婷婷| 六月婷婷激情| 天天操天天国产三级片处女学生妹| 丁香五月另类小说在线阅读| 亚洲天堂久久| 99热1| 国产色色视频| 九一九九黄色| 热99这里只有精品视频| 狠狠操狠狠插| 婷婷月五天在线在线看| 久综合色| 色欲婷婷五月天丁香| 可似看的AV| 久9热视频在线| 五月婷婷久久爱| 色五月婷婷在线| 综合丁香婷婷五月天| 日本九九九九| 久久多色| 婷婷丁香九月| 久久免费操| 日本九九视频| 国产综合81p| 丁香五月六月综合激情| 性爱五月婷| 天天干天天射色综合| 五月丁香久久综合91| 中文不卡一二三区| 激情又色又爽又黄的A片| 五月丁香综合激情在线观看| 色色色99| 天天色天天爽| 97人人草| 色色色色色级无码| www.狠狠| 亚洲舔观看| 亚洲亚洲人成综合网络| 色婷婷久久7777| 这里只有精彩视| 五月婷婷性爱网| 美国色五月天婷婷资源站| 国产高潮白浆一区二区| 激情五月天无人视频在线| 久久女人九九| 五月丁香综合激情| 久re热视频| 久久婷婷色综合| 色色爽爽天天| 成人看片网站| 5月激情天| 丁香五月激情婷婷| 五月丁香网站在线播放| 先锋影音av色五月天资源站| 丁香六月视频免费观看| 久久久9久| 婷婷狠狠干| 国产av影片| 色色色综合网| 丁香 婷婷五月| 九九九九精品精| 色99欧洲色19| 午夜成人在线免费视频| 欧美日韩成人一区二区| 综合色99| 五月婷婷六月色| 婷婷激情五月天亚洲综合| 九九爱精品网站| 五月久久婷婷成人网| 久久精品99久久久久久| 99re热视频这里只有综合亚洲| 亚洲激情在线| 丁香五月性| 五月丁香成人版| 97操碰在线97| 91超级碰在线| av中文在线| 国产偷人爽久久久久久老妇APP| 偷拍视频五月天| 色五月中文字幕| 色播婷婷五月天| 欧洲亚洲最新精品| 色综久久久| 五月婷婷色播| 99热欧美在线观看| 七月婷婷色香综合网| 99热精品中文字幕| 日本啪啪天堂| 538在线精品| 丁香五月婷婷色情综合| 五月丁香色色| 国产成人一区二区三区在线观看| 天天干天天射综合网| 五月婷婷成人| 激情综合亚洲| 99色色色色| 日本久久综合| 激情文学综合婷婷五月天丁香花| 《蜘蛛女》梁铮1995| 国产欧美第五十五页| 熟女人妻视频| 久久人妻人人| 性爱动图国产麻豆一区二区三区| 97超碰免费超级在线观看| 99视频精品在线| 97亚洲色 torrent magnet| 亚韩精品视频1区| 99热爱爱干干日| 思思热精品免费视频| 久草a片| 欧美操人| 丁香五月天啪啪| 婷婷伊在线| 激情丁香五月天图片| 色婷婷丁香五月| 美女丁香五婷婷| 这里都是精品99| 97人妻人人| 六月丁香五月婷婷| 久久人妻久久| 色99亚洲| 色99婷婷五月天| 极品人妻VIDEOSSS人妻| 天天综合久久| 99色热视频| 超碰人人操人人干| 色五月噜噜| 开心激情婷婷| 丁香婷婷成人网站| 青青热久精品视频在线观看| 久久精品女人天堂AAA| 99婷婷| 色婷婷先锋| 7EzOBIhNq85TO| 97中文在线| 五月天影院| 96人人操人人操人人| 国产AV不卡福利| 人人人操 超碰| 怡红院视频| 五月久久婷婷成人网| 色综合色综合色综合高潮| 欧美色图天堂网色| 九九婷婷激情综合网| 五月丁香| AA丁香综合激情| 九九视频精品在线免费| 久久停停超碰| 婷婷激情四射五月天| 亚洲经典三级| 91精品综合久久久久久五月丁香| 79精品视频| 丁香五月婷婷亚洲综合精品在线| 人妻22p| 婷婷综合偷拍| 激情AV网| www.婷婷六月天| 五月婷婷激情久久| 99热中文字幕久久| 婷婷五月永远18免费久久久| 日本啪啪天堂| 亚洲AV成人无码电影| 五月停性愛| 国产做爰视频免费播放| 综合AV在线| 免费亚洲婷婷五月| 天天色天天舔天天爱天天爽| 六月丁香五月激情亚洲AV| 碰碰91| 97欧美在线| 狠狠色丁香婷婷| 狠狠色综合无线观看|