日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

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

Unity類銀河惡魔城游戲開發(fā):金錢系統(tǒng)與HUD實(shí)現(xiàn)詳解 1. 項(xiàng)目背景與整體設(shè)計思路1.1 為什么選擇在這個節(jié)點(diǎn)做金錢系統(tǒng)做過類銀河惡魔城游戲的朋友都知道角色的成長曲線和資源循環(huán)是撐起整個探索體驗(yàn)的骨架。在完成了角色移動、攻擊、受傷、敵人AI、場景切換這些基礎(chǔ)模塊之后接下來最需要補(bǔ)上的就是經(jīng)濟(jì)系統(tǒng)——也就是讓玩家打怪、探索、冒險之后能獲得實(shí)實(shí)在在的回報并且這些回報能反過來影響角色的成長和世界的交互。這次要做的金錢系統(tǒng)核心參考的是經(jīng)典橫版探索游戲里那種“擊殺掉落、死亡懲罰、可消費(fèi)可存儲”的閉環(huán)設(shè)計。具體來說玩家擊殺敵人后掉落一種通用貨幣這種貨幣可以用來購買道具、解鎖功能、開啟捷徑同時角色死亡時會掉落一部分甚至全部貨幣在死亡地點(diǎn)需要玩家跑回去撿回來。這個機(jī)制看似簡單但它直接決定了游戲的風(fēng)險回報節(jié)奏——你敢不敢?guī)е淮蠊P錢去探索未知區(qū)域死了之后要不要冒險回去撿這些決策構(gòu)成了探索類游戲最核心的張力。從技術(shù)實(shí)現(xiàn)角度看這個系統(tǒng)涉及幾個關(guān)鍵模塊貨幣數(shù)據(jù)的全局管理、掉落物的物理表現(xiàn)與拾取檢測、HUD界面的實(shí)時刷新、死亡與重生時的數(shù)據(jù)持久化。這幾個模塊之間耦合度不高但每一個都有不少細(xì)節(jié)坑尤其是HUD部分因?yàn)檫@次還要順帶把Canvas的額外內(nèi)容一起做了包括貨幣顯示、生命值顯示、靈魂/能量條的布局調(diào)整。1.2 整體架構(gòu)選型為什么用單例事件驅(qū)動在動手寫代碼之前先想清楚架構(gòu)。我見過不少新手朋友做這類系統(tǒng)時習(xí)慣把貨幣數(shù)量直接掛在玩家腳本上然后HUD每幀去FindObjectOfType找玩家、讀數(shù)值、刷新文本。這種做法在小型Demo里能跑但一旦場景里有多個需要讀取貨幣的物體比如商店NPC、存檔點(diǎn)、UI面板代碼就會變成一團(tuán)亂麻。這次采用的方案是全局單例管理器 事件驅(qū)動刷新。具體來說建一個GameManager或者專門的CurrencyManager用靜態(tài)實(shí)例保證全局唯一貨幣的增減、查詢、持久化都走這個管理器。HUD不直接輪詢數(shù)值而是訂閱一個OnCurrencyChanged事件數(shù)值變了才刷新UI。這樣做的好處很明顯第一任何物體想讀寫貨幣都只依賴管理器不依賴玩家第二UI刷新從每幀一次變成事件觸發(fā)一次性能開銷幾乎為零第三后面要做存檔系統(tǒng)時只需要序列化管理器里的一個字段就行。提示單例模式在Unity里爭議不小但在這種小型Demo里對于真正全局唯一的數(shù)據(jù)貨幣、游戲狀態(tài)、存檔單例是最直接有效的方案。關(guān)鍵是要控制單例的數(shù)量不要什么都往GameManager里塞。1.3 掉落物與拾取的設(shè)計取舍貨幣掉落有兩種常見做法一種是擊殺敵人后直接加錢屏幕上飄個數(shù)字就完事另一種是生成一個物理掉落物玩家走過去或者按拾取鍵才能撿起來。這次選擇后者原因有三第一物理掉落物能給玩家更直觀的反饋看到一地閃閃發(fā)光的貨幣成就感更強(qiáng)第二掉落物可以被擊飛、可以被場景機(jī)關(guān)影響增加了戰(zhàn)斗的趣味性第三后面要做“磁吸拾取”或者“自動拾取范圍”這類升級時物理掉落物是天然的基礎(chǔ)。拾取檢測這塊我選擇用觸發(fā)器Trigger而不是碰撞體Collider。掉落物生成時給一個小的圓形觸發(fā)器玩家身上本來就有碰撞體兩者重疊時觸發(fā)OnTriggerEnter2D判斷是不是玩家是就加錢、播放音效、銷毀掉落物。這里有個細(xì)節(jié)掉落物剛生成時應(yīng)該有一個短暫的“不可拾取”時間否則敵人死亡瞬間玩家如果貼臉站著會立刻撿到視覺上很突兀。我一般給個0.3到0.5秒的延遲同時讓掉落物有一個小的隨機(jī)初速度看起來像是從敵人身上“爆”出來的。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)2.1 貨幣管理器的字段設(shè)計與持久化預(yù)留先看貨幣管理器需要哪些字段。最核心的是一個int類型的當(dāng)前貨幣數(shù)量這個沒什么好說的。但為了后面做存檔和調(diào)試我建議再加幾個一個是string類型的貨幣名稱雖然這次只有一種貨幣但保不齊后面要加第二種一個是int類型的貨幣上限防止數(shù)值溢出或者做背包容量限制還有一個bool類型的調(diào)試開關(guān)打開后可以在Console里打印每次貨幣變化。持久化方面Unity自帶的PlayerPrefs對于Demo來說夠用了但它的缺點(diǎn)是只能存基本類型而且在不同平臺上的存儲位置不透明。更穩(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); } }這段代碼里有個容易忽略的點(diǎn)DontDestroyOnLoad。因?yàn)樨泿攀强鐖鼍暗娜謹(jǐn)?shù)據(jù)切換場景時管理器不能被銷毀否則數(shù)據(jù)就丟了。但要注意如果場景里已經(jīng)有一個管理器實(shí)例新場景加載時又生成了一個就會沖突。所以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配合一個隨機(jī)方向方向范圍控制在斜上方45度到135度之間力度在3到8之間隨機(jī)。這樣每次掉落的散開效果都不一樣不會顯得機(jī)械。但要注意如果一次掉落多個貨幣比如擊殺Boss掉20個全部同時生成會瞬間產(chǎn)生大量物理計算低端機(jī)上可能卡頓。解決辦法是分幀生成用協(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)。磁吸的實(shí)現(xiàn)是在Update里每幀檢測玩家距離小于范圍就朝玩家移動。注意這里用的是MoveTowards而不是物理力因?yàn)槲锢砹θ菀鬃尩袈湮镌谕婕抑車鷣y飛MoveTowards更可控。2.3 HUD Canvas的布局策略與錨點(diǎn)設(shè)置HUD這塊是這次的重頭戲。很多新手做UI時習(xí)慣用絕對坐標(biāo)擺位置結(jié)果換個分辨率就全亂了。正確的做法是用錨點(diǎn)Anchor和相對布局。Unity的Canvas有幾種縮放模式對于橫版游戲我推薦用Scale With Screen Size參考分辨率設(shè)成1920x1080匹配模式選Match Width Or Height橫版游戲一般把匹配值拉到0.5左右這樣在不同寬高比下UI不會變形太嚴(yán)重。貨幣顯示放在左上角用Anchor預(yù)設(shè)的左上角錨點(diǎn)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里的元素如果不需要接收點(diǎn)擊事件記得把Raycast Target關(guān)掉減少不必要的性能開銷。雖然對現(xiàn)代設(shè)備來說這點(diǎn)開銷微不足道但養(yǎng)成好習(xí)慣總沒錯。注意Canvas的Render Mode選Screen Space - Overlay還是Screen Space - Camera取決于你要不要在后處理之后渲染UI。如果游戲用了后處理比如Bloom、Color GradingOverlay模式的UI不會被后處理影響看起來更清晰如果想讓UI也吃后處理效果比如UI發(fā)光就用Camera模式。這次Demo沒上后處理用Overlay就行。3. 實(shí)操過程與核心環(huán)節(jié)實(shí)現(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)試。運(yùn)行游戲后在Console里應(yīng)該能看到管理器初始化成功的日志如果加了的話。第三步寫一個測試腳本按空格鍵加100貨幣按回車鍵花50貨幣。把這個腳本掛到玩家身上或者任意物體上運(yùn)行游戲測試。按空格Console應(yīng)該打印“Added 100 Geo, total: 100”按回車打印“Spent 50 Geo, total: 50”。如果按回車時貨幣不足50SpendCurrency返回false不扣錢Console不打印消費(fèi)日志。這一步驗(yàn)證了管理器的基本讀寫邏輯。第四步做掉落物預(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()方法里實(shí)例化掉落物預(yù)制體位置在敵人中心然后給剛體施加隨機(jī)初速度。如果敵人掉落多個貨幣用協(xié)程分幀生成。這里有個細(xì)節(jié)實(shí)例化時父物體設(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錨點(diǎn)設(shè)成左上角大小設(shè)成300x120左右。在Panel里新建一個Image顯示貨幣圖標(biāo)再新建一個TextMeshPro文本顯示數(shù)字。文本的錨點(diǎn)設(shè)成左中Pos X給個正值讓它在圖標(biāo)右邊。然后寫一個HUDCurrencyDisplay腳本掛到Panel或者文本上。這個腳本在OnEnable時訂閱CurrencyManager.Instance.OnCurrencyChanged事件在OnDisable時取消訂閱。事件回調(diào)里更新文本內(nèi)容。這里有個時序問題如果HUD在CurrencyManager之前AwakeInstance可能還是null。解決辦法是在Start里訂閱而不是Awake因?yàn)閁nity保證所有物體的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ù)字滾動動畫是個加分項(xiàng)。當(dāng)貨幣增加時不要瞬間跳到新數(shù)值而是讓數(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采用掉落全部的方案因?yàn)檫@樣風(fēng)險回報的張力最強(qiáng)。死亡時在死亡位置生成一個特殊的“大額掉落物”外觀和普通掉落物略有區(qū)別比如更大、有光效價值等于玩家死亡時的貨幣總量。玩家重生后貨幣歸零。這個掉落物永久存在直到玩家撿回來。如果玩家在撿回之前又死了新的掉落物會覆蓋舊的——也就是說舊掉落物直接銷毀只保留最新的。這個規(guī)則要明確否則玩家死兩次會有一地掉落物撿起來很混亂。實(shí)現(xiàn)上在玩家腳本的Die()方法里先讀取CurrencyManager.Instance.CurrentCurrency如果大于0就在死亡位置生成一個GeoPickup把currencyValue設(shè)成這個數(shù)值同時把pickupDelay設(shè)長一點(diǎn)比如1秒防止玩家重生后立刻撿到。然后調(diào)用CurrencyManager.Instance.SetCurrency(0)清空貨幣。重生邏輯里不需要額外處理因?yàn)樨泿乓呀?jīng)是0了。提示如果要做“死亡掉落一半”的溫和方案把SetCurrency的參數(shù)改成currentCurrency / 2就行。但要注意掉落物價值也要相應(yīng)改成currentCurrency - currentCurrency / 2否則會憑空多出錢來。3.4 場景切換時的數(shù)據(jù)保持與HUD重建因?yàn)镃urrencyManager掛了DontDestroyOnLoad切換場景時貨幣數(shù)據(jù)不會丟。但HUD是場景內(nèi)的物體切換場景后舊的HUD被銷毀新的HUD需要重新訂閱事件。這就是為什么HUDCurrencyDisplay要在Start里訂閱而不是Awake——新場景的HUD在Start時CurrencyManager.Instance已經(jīng)存在了因?yàn)樗荄ontDestroyOnLoad的訂閱能成功。但這里有個坑如果新場景的HUD在Start里訂閱了事件而舊場景的HUD在OnDestroy里取消訂閱順序上沒問題。但如果舊HUD的OnDestroy在新HUD的Start之后才執(zhí)行會不會把新HUD的訂閱也取消掉不會因?yàn)镃#的事件訂閱是基于委托實(shí)例的取消訂閱時傳的是方法引用只會取消自己那個實(shí)例的訂閱不會影響其他實(shí)例。所以放心用。另一個坑是重復(fù)訂閱。如果HUD物體被反復(fù)啟用禁用比如打開關(guān)閉背包界面OnEnable里訂閱、OnDisable里取消訂閱要確保成對出現(xiàn)。我見過有人只在OnEnable訂閱忘了在OnDisable取消結(jié)果打開關(guān)閉幾次背包后一次貨幣變化觸發(fā)了多次UI刷新數(shù)字跳得飛快。這種bug排查起來很隱蔽因?yàn)檫壿嬌稀翱雌饋怼睕]問題。4. 常見問題與排查技巧實(shí)錄4.1 掉落物不生成或者生成后不動這是最常見的問題通常有三個原因。第一預(yù)制體沒掛Rigidbody2D或者Body Type設(shè)成了Static導(dǎo)致物理力施加無效。檢查預(yù)制體的剛體設(shè)置確保是Dynamic。第二AddForce調(diào)用時機(jī)不對。如果剛體還沒初始化就施加力力會丟失。解決辦法是在Instantiate之后等一幀再施加力或者直接在預(yù)制體的Start里施加力。第三掉落物的Collider2D沒勾Is Trigger和地面碰撞后卡住了。檢查碰撞體設(shè)置。還有一種情況是掉落物生成了但瞬間被銷毀。這通常是因?yàn)镺nTriggerEnter2D在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說明管理器實(shí)例沒找到。可能是管理器沒掛DontDestroyOnLoad或者場景里根本沒有管理器。如果打印true但數(shù)字還是不動檢查OnCurrencyChanged事件是否真的被觸發(fā)了。在AddCurrency里加日志看看有沒有打印。刷新成亂碼通常是TextMeshPro的字體資源沒設(shè)置好。TMP需要生成字體圖集如果字體圖集里沒有數(shù)字字符就會顯示成方塊或者問號。解決辦法是選中TMP文本組件在Font Asset里選一個包含數(shù)字的字體然后點(diǎn)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ù)量緩存到一個局部變量里生成掉落物時用這個緩存值而不是實(shí)時讀取。另外如果掉落物被場景切換銷毀了比如玩家死亡后場景重置掉落物也會消失貨幣就永久丟失了。如果不想讓玩家損失太慘可以在場景切換時把掉落物轉(zhuǎn)移到新場景但這涉及跨場景引用比較復(fù)雜Demo里可以先不做。4.4 常見問題速查表問題現(xiàn)象可能原因排查方法解決方案掉落物不生成預(yù)制體未賦值/敵人死亡邏輯未調(diào)用檢查Inspector引用和日志補(bǔ)上引用在Die()里加日志確認(rèn)調(diào)用掉落物生成后不動剛體類型錯誤/未施加力檢查Rigidbody2D設(shè)置改為DynamicInstantiate后施加力掉落物撿不起來延遲未過/Tag不匹配/觸發(fā)器未勾選檢查pickupDelay和Tag用OnTriggerStay2D確認(rèn)Tag為PlayerHUD數(shù)字不刷新事件未訂閱/管理器實(shí)例為空加日志檢查訂閱和實(shí)例在Start訂閱確保管理器DontDestroyOnLoad數(shù)字顯示為方塊TMP字體圖集缺字符查看TMP字體資源重新生成字體圖集包含數(shù)字死亡后貨幣丟失掉落物被銷毀/未生成檢查死亡邏輯和場景切換緩存死亡時數(shù)值掉落物設(shè)DontDestroyOnLoad切換場景后貨幣歸零管理器被銷毀/新實(shí)例覆蓋檢查DontDestroyOnLoad和單例判斷加單例判重確保只有一個管理器4.5 幾個我踩過的坑和獨(dú)家技巧第一個坑是物理材質(zhì)。掉落物和地面碰撞時如果地面有物理材質(zhì)Physics Material 2D且摩擦力很大掉落物會卡在地面邊緣不動。解決辦法是給掉落物的碰撞體也加一個物理材質(zhì)摩擦力設(shè)0彈性設(shè)0.3。或者更簡單把掉落物的碰撞體設(shè)成觸發(fā)器不和地面發(fā)生物理碰撞只和玩家觸發(fā)。但這樣掉落物會穿過地面掉下去所以需要加一個地面檢測落地后把剛體設(shè)成Kinematic。這個方案更可控推薦使用。第二個技巧是對象池。如果游戲里敵人很多頻繁Instantiate和Destroy掉落物會造成GC壓力。用一個簡單的對象池掉落物撿起來后不銷毀而是設(shè)SetActive(false)放回池子下次生成時從池子里取。對象池的實(shí)現(xiàn)不難但要注意重置掉落物的狀態(tài)速度歸零、位置歸位、canBePickedUp設(shè)回false、pickupDelay重新計時。漏掉任何一個都會導(dǎo)致奇怪的bug。第三個技巧是貨幣變化的音效反饋。每次貨幣增加時播放一個短促的“?!甭曇粽{(diào)隨連續(xù)拾取次數(shù)略微升高形成連擊感。這個效果在商業(yè)游戲里很常見實(shí)現(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。如果游戲要適配手機(jī)豎屏匹配值要拉到1匹配高度因?yàn)樨Q屏?xí)r高度更關(guān)鍵。5. 后續(xù)擴(kuò)展方向與個人體會貨幣系統(tǒng)做完之后下一步自然是商店系統(tǒng)。商店NPC需要讀取貨幣數(shù)量顯示商品列表玩家點(diǎn)擊購買時調(diào)用SpendCurrency成功則給玩家道具。商店的UI可以復(fù)用HUD的Canvas但要注意層級管理商店面板的Sort Order要高于HUD關(guān)閉時恢復(fù)。商店的庫存和價格可以做成ScriptableObject方便策劃配置。另一個擴(kuò)展方向是多種貨幣。比如除了通用貨幣再加一種稀有貨幣只能通過Boss掉落或者隱藏區(qū)域獲得。CurrencyManager可以擴(kuò)展成管理一個貨幣字典Dictionarystring, int每種貨幣有獨(dú)立的名稱、上限和事件。HUD上可以只顯示通用貨幣稀有貨幣在背包界面里顯示。這個擴(kuò)展不難但要在架構(gòu)初期就預(yù)留好接口否則后期重構(gòu)成本很高。我個人在實(shí)際操作中的體會是經(jīng)濟(jì)系統(tǒng)的數(shù)值平衡比技術(shù)實(shí)現(xiàn)難得多。技術(shù)實(shí)現(xiàn)無非是增刪改查但“擊殺一個敵人掉多少貨幣”“一個道具賣多少錢”“死亡掉落全部還是部分”這些決策直接決定了游戲的節(jié)奏和難度。我建議在Demo階段先把數(shù)值調(diào)得寬松一些讓玩家能快速體驗(yàn)到購買和升級的樂趣等核心玩法驗(yàn)證之后再收緊數(shù)值增加挑戰(zhàn)性。畢竟一個讓人玩不下去的經(jīng)濟(jì)系統(tǒng)技術(shù)再完美也沒用。最后分享一個小技巧在CurrencyManager里加一個CheatAddCurrency方法只在Debug.isDebugBuild為true時生效按某個快捷鍵比如F1加1000貨幣。這樣測試商店和升級系統(tǒng)時不用反復(fù)刷怪效率高很多。發(fā)布正式版時這個功能會自動禁用不用擔(dān)心玩家作弊。這個技巧我在每個項(xiàng)目里都會用省下的測試時間相當(dāng)可觀。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩美女久久一区二区三区| 9997se| 亚洲资源站| 爱欲AV| 久久av一级av少妇av高潮| 伊人亚洲综合| 最新亚洲风情电影| 九九热最新| 久久婷婷五月天| 校园春色综合香蕉| 亚洲日产专区| 国产精品久久久久av| 日韩熟女精一区二区三区不卡| 91色爽欧美| 日本理论在线| 天天日夜夜爽| 九月婷婷综合| 奇米狠999| 97精品一区二区视频| 国产日韩欧美| 色色综合97| 久久午夜伦| 国产 热久久久久国产精品| 婷婷久久五月综合激情| 中国熟妇| 人妻少妇精品无码专区二区密桃| 91欧美巨乳| 亚州人妻| 久久久久久久久久精| 殴美性色a级欧美| 熟女突然公开看18禁影片| 日韩精品中文字幕人妻| 1禁看欧美黄片免费看| 日本午夜久久电影| 91美女在线看| 性videos欧美熟妇hdx| 少妇3P性爱自拍| 操操逼操操逼操操逼逼| 中文字幕久久婷婷丁香五月天 | 一牛影视成人片免费| 蜜桃精品视频一区二区三区| 日韩在线电影| 超碰美女97| 色777999综合| 欧美亚洲韩国视频十五区| 成人综合网 欧美| 美女人妻色网站| 91在线免费观看处女| 日日夜夜干| 亚洲综合色网| 红杏大香蕉| 婷色五月天| 91精品丝袜在线观看| 免费看A片毛毛片在线播| 思思热久久成人| 亚洲黄色视频在线观看视频| 手机在线视频国内精品| 91成人久久| 日韩在线观看字幕精品| 亚洲日韩美国人妻| 久久99综合| 99re在线观看| 91挑色欧美| 日本一二三高清| 欧美韩国你懂得在线| 色呦色呦色精品| 另类专区加勒比| 国产AV线| AV有码在线| 九热久| 蜜臀无码视频在线观看| 国产精品成人福利在线| 青青爽| 日韩钢筋无码高清啾啾啾| 97香蕉人人乳| 二三四区精品| 亚洲。日韩。欧美| 夜夜嗨av午夜成人| 国产精品对白自产拍| 青青草依人大香蕉| 国产精品诱惑| 美女操逼福利视频| 五月婷视频| 欧美天天综| 99re在线精品78| 天天天堂影视日韩亚洲91| 人妻 欧美 中文| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 国产视频小说| 91亚洲图片| 国产福利电影| 婷婷综合久久| 老鸭窝在线视频播放| 日本操逼无码| 九九热精品免费视频| 激情图片伦理国产一区二区日韩| 97超碰色屌| 999久久芭蕾| 手机午夜电影神马久久| 日本九九九九| 欧美玖玖爱免费玖玖| 夜夜夜夜爽| 97精品国产| 久久国内| 中文字幕免费看| 囯产精品久久久久久久久久梁医生 | 中国大陆国产高清AⅤ毛片| 91黑丝露脚| 国产夫妻性生活视频| 热无码中文亚洲H一道本一区二区| 搡老女人911熟妇老熟女| 日韩熟女乱伦中出| 黄色不卡视频| 国产精品爆乳懂色蜜乳| 亚洲 欧美 另类 综合 偷拍| 亚洲高潮影院| 97超级久久强资源| 超碰97COm中文| 中文操逼字幕| 无码人妻精品一区二区三区九九| 99热这里只有精品18| www.色婷婷色综合| 九九九草| 秋霞视频一区二区| 五月天九九日国产精品一区二区三区| 91久精品| 2017天天操天天日| 成人性爱电影一区二区| 综合97亚洲| 久久av一级av少妇av高潮| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 亚洲超碰AV| 亚洲日韩东京热一区| 免费A片三p视频| 很很干很很操| 婷婷伊人五月| 久草男人天堂| 日韩色| 美女毛片999| 精品国产一区二区三区四区在线看| 日韩精品三区四区| 在线观看亚洲成人精品| 精品一区二区三区四区女| 亚洲国产精品9999在线观看| 97超碰超欧美。| 日韩国产不卡在线视频| 亚洲欧美综合网站| 丁香六月天| 久久久久久久9| 99精品视频在线观看| 97手机日韩| 97精品一二区| 亚洲乱伦图片视频| 精品人妻一区二区三区不卡断| 五月天婷婷色色| 97久久国产精品女不卡| 美女啊啊啊啊pc| 亚洲AV秘无码一区..| surenchaopeng| 乱伦系列一区二区| 9久精品| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 黄色免费网页无码| 天天亚洲| 午夜毛片高清免费不卡| 日本在线激情一区二区三区| 精品视频一二三中文| 亚洲国产综合久久久性感熟妇| 成人a v在线播放免费| 亚洲色悠悠久久88| 久久人妻视频| 国产精品国产自产高清AV| 日韩中文9| 少妇啪啪自拍| 97超碰护士| 久热精品色情| 久久理论字幕视频| 亚洲丝袜二区在线| 国产女人成人精品视频| 欧美999| 2019午夜福利视频| 一区二区激情国产熟女| 激情五月综合| 久久社区一区二区三区| 丝袜足交视频| 综合亚洲网| 97免费视频网| 在线 制服丝袜中出 人妻| 国产美女口爆吞精视频| 嗯嗯不要 视频| 亚洲免费97免费| 亚洲欧洲网站免费观看| 久久国产成人精品国产成人亚洲| 成人日本片久久久蜜桃| 麻豆国产成人精品| 日日夜夜骚| 伊人99热| 日韩精品在线观看网站| 国产精品懂色tv影视免费观看| 在线中文AV| 欧美人妻二区三区| 欧洲天天在线| 99re3这里只有精品| 国产精品无码av嫩草| 放黄片放3级黄片没穿衣服| 亚欧美综合| julia中文字幕在线观看| 精品久久視頻在线| 久久99久久99久久99人受| 狠狠色狠狠色狠狠五月| 中文字幕日韩精品久久| AV污污污污| 国产一区二区三三视频| 精品无码不卡视频| 国产精品成人久久一区二区三区| 亚洲国产成人精品女人久久久| www男人天堂| 哑洲在线| 91欧美www| 国产精品69久久久久久久| 少妇内射视频| 欧美91丝袜| 亚洲爱爱视频一区二区| 91成人社区| 麻豆一区二区三区精品| 色偷偷色偷偷欧美日韩| 淫乱图区| 男人天堂最新手机版在线青青草| 欧美A√综合网 | 东京热天堂网| 超碰日韩人妻| 中文字幕乱码人妻二区三区| 好色综合| 少妇厨房愉情理伦片bd在线观看| 激情抓乳插进去啪啪啪日韩 | 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 91性高| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 夫妻日逼| 大色综合| 亚洲精品人妻在线| 欧美东京热精品A∨| 婷婷丁香五月天亚洲天堂网| 视频二区美腿丝袜制服人妻欧美| 久久久免费一级黄片| 免费在线观看AV无码网站| 久久男女激情视频网站| 野狼激情网| 九九九九九九亚洲| 暖暖精品二区三区观看| 国产精彩女在线观看视频| 日韩专区久久久| 欧美色图99| 亚洲AV成人精品网站在AV| 人人操人人搞人人草| 久久美女国产| 国产亚洲99久久精品| 美女露胸露奶头| 久久久工口| 久九9精品| 中文字幕一区二区无码成人| 91精品人妻偷情| 无码聚合| 欧美性暴力猛交XXXX| 亚洲欧美91√| 精品人妻一区二区三区四区石在线| 国产一级特黄大片处女| 嗯嗯嗯嗯啊啊啊好紧好大| 这里是精品| 久久99999| 一区二区三区免费岛国片| 狠狠综合网| 91暧暧| 国产精品69久久久久久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 91GD.COM| 性交一区二区在线播放| 国产精品不卡一区二区三区av| 中日亚韩免费视频| 亚洲高潮少妇| 久久久久久精| 超碰国产在线| 欧美色图99| 亚洲色欲天天天堂色欲网女| 久久人妻视频网| 97免费视频在线观看视频| 夜色91| 黄色高清无码无码破解免费暗网| 亚洲码和欧洲精品激情系列| 91亚洲综合在线| 人妻日日干| 91欧美丨精品丨入口| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 91爱啪| 网页导航五月天免费一二三区| 91色爽欧美| 91中文字幕| 婷婷五月综合在线| 蜜臀久久99精品| 亚洲综合影院| 伦在线97| 三级片网站在线播放| 白嫩妹子国产骚| 人人考人人摸人人干| chaopen97久久| 日韩欧美字幕亚洲一区二区| 蜜桃传媒视频第一区入口在线看| 91热爆在线| 国产精品成人午夜福利| 性爱动态120秒| 永久电影三级在线观看| 91国产丝袜足交精品视频| 韩日色费| 无码操逼天堂| 九九热九九| 91bbbbbb| 啊啊啊不要啊啊受不了了视频在线| 一个人免费视频观看在线WWW | 91精品国产91综合久久蜜臀| 日日日啊啊啊| 岛国AB视频| 久热这里| 中文字幕在线观看网页| 国产欧美精品日韩区二区麻豆天美| 超碰色大香蕉| 9久久美女首页| 午夜福利精品| 黄页av| 亚洲综合码| 亚洲最大AV网| 日韩电影在线观看网址| 本道在线| 麻豆性爱视频在线播放| 亚洲各类熟们中文字幕| 人人干黄色| 偷窥自拍亚洲| 色综合99999| 99自拍视频在线| 国产精品久久久久久高清无码免费看| 欧美综合网1| 殴美性色a级欧美| 青青久久手机线视频| 国产精品久久久久久久久久久久久久吹 | 久操视频免费观看| 人妻天天夜夜爽一区二区| 天天看天天在线精品| 日韩在线电影| 久久少妇人妻| 麻豆九九九| 亚洲天堂热| heyZO天然素人无码AⅤ专区| 久久啊啊| 91M一社| 亚洲限制级| 伊人影院中文字幕| 亚洲成av人片色午夜乱码| 亚洲无码国产精品久久| 欧美色999| 超碰 国产熟女精品一区| 亚洲天堂少妇| 青青伊人久久| 欧美黑人与女人91~| 午夜丁香| 偷看洗澡一二三区美女| 国产一级作爱毛片| 大二网站亚洲| 人人操人人色网| 午夜视频久久久| 91欧美综合在线| 厕所偷拍在线| 亚州操操穴网| 久久久久成人蜜桃精品| 精品超碰国产| 人妻精品一区二区在线| a天堂视频| 女同女同恋久久级三级| 日韩中文字幕国产| 粉嫩粉嫩一区性色AV片| 日韩精品碰碰| 久操凹凸视频| 久久九九视频九九视频| 成人性爱美曰韩| 伊人影院综合是一个与深夜成人在线 | 人人么人人操| 日韩三级在线观看网站| 久久久久久亚洲Av无码精| 欧美色图20p| 97色色色| 中文AV制服乱伦| 亚洲av性爱电影| av亚欧| 操婢日韩| 色色色欧美| 偷窥自拍A片| 美国一区二区免费视频| 男女一级A片大黄,一进一出| 亚洲激情久久| 99re3这里只有精品| 夜夜久久| 日本黄页视频在线观看| 一区二区三区一亚洲中文字幕、综合区灬 | 久久在线观看免费视频| 无码国产Av| 国产精品爽爽va在线观看98| 99热超碰在线| 福利风月五月天影院| 欲色影视综合吧| 97bbn| 亚洲日产专区婷婷| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 97色视频在线| 91女优在线观看 | 嗯嗯啊中文字幕| 久久久com| 久久婷婷欧美| 久久久久久久久一区二区三区| 午夜精品久久久| 免费1级a做爰片观看| 日韩亚洲中文字幕在线| 丰满人妻-区二区三区免费| 96精品久久久久中文字幕| 91爱欧美| 人妻精品免费一二三区| 婷婷视频在线免费观看| 四虎永久在线精品免费网址| 亚洲情色 无码专区| 男啪女色黄无遮挡免费观看| 日韩乱中文| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 亚洲精品白浆高清久久久久久 | 亚洲熟女一区| 思思热一热婷婷热一热| 欧洲乱码视频| 日韩熟女精一区二区三区不卡| 中字幕人妻一区二区三区| 看一级黄色视频| 欧美72网页| 国产成人五月天丁香花| 91亚洲色人| www.婷婷六月天| 亚洲欧洲无码一区夜| 男人综合网| 色乱二区| 久久久久密臀视频| 韩国免费播放一级毛片| 日本三级R| 男人干美女| www.男人的天堂| 在线看片国产精品每日更新| 磁力99AV| 国产无码精品久久久久久| 人人操人人大香蕉| 视频黄站| 中国国国产一级特黄毛片| 亚熟在线| 欧美一二三级精品在线| 久久久久久性爱片| 97色色色| 婷婷日韩一区二区三区中文字幕在线| 97视频播放| 日韩黄色成人性爱| 伊人嫩草| av一区二区三区 中文| 美女黑人91神马| 麻豆视频国产一区二区| 懂色AV中文| 高清国产精品福利网站| 天美av在线观看| 久久久青青草| 99热精品在线观看| 欧美综合第一页| 99久久久| 久久午夜色播影院免费高清| 蜜臀久久99精品久久久老,,| 69精品| 校园春色综合| 尤物网站91| 青青草日逼视频| 国产精品白丝| 超碰 另类 欧美| 亚洲?V无码专区在线电影| 国产极品久久久| 宅男影院久久久,99| 粉嫩AV输入| 精品国产Av无码久久久亚洲| 日本在线观看网址| 久96热在线观看视频| 天天日天天干天天整| 激情久久日韩精品中文字幕麻豆| 青娱乐国产精品| 自拍亚洲综合| 男男H黄动漫啪啪无遮挡网站| 97精品中文字幕| 欧日a| 中文久久96| 国产剧情AV不卡在线观看| 日本精品加勒比海一区| 67914亚洲精品| 国产高清视频无码在线| 97视频新免费| www.婷婷六月天| 九九综合九九综合| 裸体美女久久久| 黑人黄片在线免费观看| 大香蕉伊人网| 欲女人妻性色av| 激情五月天婷婷| 国产h小视频在线观看免费| 在线观看A啊啊啊| 国产强奸超碰AV| 欧在线一二区| 成人一级二级| 欧洲免费一区二| 黄片com.| 2020久久免费视频| 日本天天干天天日一区| 96久久科窝| 色伊人91| 91久久九九精品国产综合| 天天综合网~91综合网| 操狠狠| 亚洲系列第一页| 天天亚洲| 青青草影视蜜久久| 91熟女综合| 色婷婷五月天| 91精品国产高清久久久久久,亚洲成人 | 亚洲男人天堂网站| 青娱乐手机日韩在线视频| 亚洲成人免费电影| 欧美骚少妇| 久久久久久九九九九九九| 四虎精品一区| 久久专区| 99热只有这里有精品| 女人爽到高潮潮喷18禁网站| 亚洲有码 视频一区| 天天综合日韩网| 久久精品中文| 天天搞欧美| www.91人妻.com| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 国产精品电影推荐| 内射日韩大臀美女| 日本在线一二| 日本网色| 秋霞免费AV| 日韩大香蕉AV影片| 亚洲亚洲亚洲天堂天堂| 久久精品国产99国产精品亚洲| 91国产精品在线看| 秋霞视频一区二区| 黄色av一区二区在线| 久草国产在线视频| 欧美一级久久久久久久大片动画| 国产一区二区成人av在线播放| …亚洲黄色厕厕女女在线播…| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 97人妻碰碰中文无码久热丝袜| 国产精品999zyz| 久久av一级av少妇av高潮| 收看日本人日bb| 亚洲性爱电影| 深夜国产一区二区三区在线看| 九九精品无码专区免费| 99e久久国产精品| 四虎午夜影院| 日韩精品碰碰| 久久精品国产亚洲AV片多多| 自拍大香蕉乱插| 综合自拍| 这里有精品| 国产伦精品一区二区三区视频女| 蜜桃久久综合视频| 嗯嗯嗯嗯啊啊啊好紧好大| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 日本少妇va7777| 欧美狠狠弄| 大香蕉欧美日韩| 97超碰免费生活| 后入式999| 九九热av| 蜜臀AV秘一区翔田千里| 日韩亚洲中文字幕在线| 大香蕉综合在线| 很很干很很操| 人妻在线大香蕉| 午夜无码熟妇丰满人妻| 91 综合网| 无码久久国产| 睡产熟女乱伦| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 日韩精品操少妇| 国产精品高朝久久久久久久| 男人的天堂VA| 操操操五月天婷婷丁香影院| 欧美激情另类一区二区| 亚洲天堂热| 亚洲日韩av一区二区三区百合| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 思思热在线视频精品| 最新制服中文第一页| 久久久久久久久久久久黄色 | 国产精品婬乱一级毛片彝族| 超碰97色| 久久综合中文国产| 999精品国产高清一区二区| 精品妇女一区二区三区| 蜜乳AV一区二区三区四| 免费岛国一级片| 尤物视频一区| 九九无码| 蜜桃臀一区二区三区久久| 日本一级真人黄色性爱视频| 亚洲中文字幕精品一区| 日本成人A片网站| 日产操逼| 边做饭边操逼逼| 综合网亚洲1| 97er欧美性| 日韩 欧美 另类 人妻| 无码一区免费在线不卡| 色丁香久久| 美日韩一二三区| 麻豆AV一区二区天美传媒| 成人性爱视频在线看| 久久久久久久一级黄色打同平台| 久久亚洲日韩国产欧| 91成人高清在线观看| 国产丝袜美女诱惑| 性欧美91| 亚洲AV成人在线| 五十路人妻在线| 久久性生大片免费观看性| www久| wuyechaopeng| 久久亚洲AV无码专区首页| 亚洲成人一二三区| 亚洲图片欧美色| 五月婷婷综合网| 精品少妇一区二区| 日韩精品在线观看网站| 大香蕉伊然在亚洲91| 另类TS人妖一区二区三区 | 96AV久久久| 国产成人久久精品蜜臀| 婷婷亚洲中文字幕在线| 麻豆视频一区二区| 91蜜臀熟女| 91丝袜美女视频| 中文字幕一区 二区三四五 区日 日骚| 欧美图片校园春色| 99热综合| 天天插网| 欧美中文字幕一区 | 亚洲av热热色| 影音先锋新男人| 嗯嗯啊好大| 隔壁邻居波多野结衣中文字幕| 国产污视频麻豆传媒一区二区| 国产欧美在线观看免费观看| 欧美熟妇精品黑人巨大一二三区| 国产主播福利| 91欧美美女日韩国产婷婷| av在线播放国产一区| 日韩av色图| 色yeye成人免费视频| 熟女露脸激情自拍视频| 在线播放中文字幕| 91性色| 欧美97在线观看| 色欲蜜臀AV| 欧美另类天堂| 91neishe| 日韩无码三级影院| 久久久久幕乱码| 人妻熟女午夜精品在线| 乱性AV| 九热超碰| 人妻中文字幕精品无码| 人妻精品一区二区三区| 9久综合网| 欧美 综合 亚洲| 无码精品久久| 青青草啪啪网| 国产51色综合久久免费| 欧美日动态视频| 亚洲色图综合| 亚洲天堂另类小说男人| 区一二区日韩亚洲乱码av电影| 91n免费处女| 亚洲情色 自拍| 日韩一级欧美一级在线观看| 午夜男人一级A片7777| www老逼91| 午夜一区二区三区国产| 麻豆天美在线| 白丝少妇一区二区| 人妻久久久久久久久久久久久久久 | 四虎在线播放| 志村玲子视频一区二区| 色就色综合| 屁股久久久久久久久久| 秋霞鲁丝午夜无码一区二区三| 色色婷| 国产高清精品一区二区三区毛片| 性欧美999| 好舒服视频| 伊人久久青青草| 在线看免费无码AV天堂的| 亚洲无码成人精品| 青青草毛片| 日韩毛片9| 99热 按摩 日韩| 国产精品久久久视频| 精品一区二区成人动漫| 一区二区三区黄色片a| 中文字幕99999| 精品丰满熟妇人妻一区| 射丝袜大香蕉| 青娱乐大香蕉| yirendaxiangjiashipin| 97五月天| 99久久网站| 成人性爱高清视频免费看| 国产一区二区免费福利片| 精品人妻一区二区三区视频在线| www. 男人天堂成人在线| 99re在线观看| 欧美少妇第一页| 91狠婷| 深爱五月天| 成人性爱电影一区二区| 操操逼操操逼操操逼逼| 欧美亚洲一级在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 97亚洲综合电影| 色五月婷婷网| 99超级碰免费视频| 亚洲成人免费在线| 久久久五月天| 成人av免费观看| 成人片在线播放| 99热这里是精品| 99操| 狠狠欧美| 91亚洲黑人| 99国内精品| 91AV老熟女视频| 欧美性暴力猛交XXXX| 欧美亚洲第1页| 97露脸精品丝袜| 清清草影| 久久噜噜噜精品国产亚洲综合| 物业黑人 AV一区| 91激情国产| 婷婷20月天青娱乐| 国产剧情在线| 亚洲AV无码秘 蜜桃臀国精产品| 少妇综合网| 黄色香蕉视频网站一区| se01国产在线视频| 乱伦av.com| www久| 大香蕉伊利av| 久久精品72| 青操影院| rion磁力链接| 亚洲欧美色图小说| 免费在线黄片视频| 国产一级片| 欧亚乱色熟一区二区三四区| 玖玖爱一区在线| 精品无码产区一区二| 亚洲一区二区av| 91丨国产丨白浆秘 洗澡动漫| 人人摸.人人色| 成人性爱电影网| 精品99999久久久久久| 精久久久91| 精品大全99999| 亚洲图片欧美| 日本免费专区| 看看小穴| 婷婷九月国产| 久久97超碰| 精品一啪| 国产精品对白内射| 智利AV在线网| 日本不卡一区| 在线性黄高清免费视频| 日韩国产九九精品一区二区三区毛片| 欧美一区二区三区互相| 91强热人妻| 97超碰美国| 在线情色电影 91大 | 色欲Av人妻精品一区二| 十八岁啪啪视频免费看| 口爆综合网| 蜜臀无码一区二区| 成人毛片免费| 久久五月综合| 亚洲熟妇丝袜在线观看| 欧美97色| 三级网色| 免费家庭乱伦视频| 成年女人18级毛片毛片免费观看| 亚洲丝袜色图| 精品久9| 久久九九国产精品| 啊啊啊快操我视频| 久久久一区二区三区四区五区| 天堂无码精品国产久| 在线人妻熟女一区二区三区四区五区| 九九免费影片| 黑人狂躁日本妞一区二区三区| 青青草九九九九九| 欧美九九九| 91成人久久 | 亚洲天堂电影精品一区| 很狠操| 亚洲第一狼人丝袜美女另类 | 国产狂喷潮在线精品| 亚洲男人天堂2019| 精品女同一区二区三区| 丰满少妇乱子伦精品无| 国产乱码精品久久久久久| 日韩国产精品人妻无码久久久| 91久久99久久91熟女精品| 97欧美久久久久久久| 人人操人人操人人操人人操人人操人人人11.CM| 欧美中文字幕男人天堂久久精品 | 国产自制av蜜乳| 天美av在线观看| 日本欧美不卡| 婷婷在线视频| 国产白丝AV| 久久人妻办公室视频| 91 偷| 丁香色婷婷| 春色91| 床上啊啊啊一区二区三区| 青青久草| 久久,精品一二三| 俞拍久久国应视频| 精品一区二区3区| 97日韩欧美| 嫩草 人人网精品| 亚洲国产成人精品999| 欧美色997| 曰韩操B| 91九色在线| 激情五月天社区| 九九九久| 嗯嗯啊在线视频| 91美女视频| 欧美黄色图片| 啪啪免费| 亚洲欧美国产精品久久久久久久| 激情四射五月天| 国产农村妇女精品| 综合激情97| 综合欧美激情网| 日本二区不卡| 不卡超碰护士AV在线免费播放| 人人搞人人插人人操| 97日视频| 自拍鲍鱼一区在线高清观看免费| 无套后入双马尾| 青青草原人妻| 久久久久亚洲AV无码专区少妇| 亚洲色图第一页| 99色色| 色欲av一区二区三区蜜芽| 久久久久极品| 欧美熟爽综合| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 久操不卡视频| 久久老女人| 人妻免费观看| 丝袜 亚洲 偷拍| 小日子操bb在线看| 伊人国产AV| 欧美日韩人人早| 亚洲精品a人片在线观看视| 美女诱惑久久| 天天内射| 嗯嗯啊啊视频在线看| 夜夜操青青草| 人人操人人肉久久精品| 亚洲男人的天堂在线看| 91黑丝露脚| 国产女乱淫真高清免费视频| 日韩熟女精一区二区三区不卡| 国精综合一二三区影视| 婷婷五月天成人网| 啪啪啪东京| 深夜视频| 超碰97久久国| 欧美性区| 亚洲一区二区麻豆影院| 岛国视频免费在线观看| 精品蜜乳AV免费观看| 国产久9| 亚州色图欧美| 九九热九九热| 久久久中文| 在线观看岛国有码| 欧美大香蕉久| 精…码一二三区| 性感美女91影视| 一区二区视频你懂的| 久久大香蕉手机高清视频| 黄片不用下载在线观看| 欧美亚洲一级在线观看| 女性91网站| 亚洲综合在线91| 久久久久斤小| 动漫av中文| 国产女同性恋视频| 一区,二区,三区网站| 久久久久久久人妻| 国产一区二区视频在线播放| 国产高清成人mv在线观看| 秋霞一级鲁丝片A片| 91精片| 夜夜躁狠狠躁日日躁av| 欧美日韩狠狠爱| 国产精品禁久久久精品| 综合一区二区影视| 亚洲视频二区 | 久久久亚洲Av| 日产欧美电影一区二区三区| 欧美日韩中文视频播放| 亚洲小说视频| 91狠狠综合久久| 国产精品伦理| 99色热| 久久久极品| 久久久亚洲精品中文字幕人妻| 天天综合站| 中文字幕色AV| 亚洲久久天堂| 日天天九九天堂666| 91操熟女视频 | 乱色视频中文字幕| 成人福利视频网| 黄片在线免费在线观看| 日本中文字幕在线视频| 日本亚洲熟女视频| 欧美激情综合| 清柠毛片| 小草精彩毛片| 99re在线观看| 色在线69堂| 91老熟女91老女人| 亚洲综合色图欧美| 中文字幕乱亚洲美女精品一区| 蜜臀久久99精品久久久久久-DVD | 亚洲人精| 国产偷仑| 97国产精品久久久久| 干b网| 91人妻在线视频| 国内亚洲高清无码| 一区二区三区黄片免费观看| 亚欧国产无码精品在线| www.五月天| 97欧美精品综合| 动漫av中文| 操一对老熟妇爽上天视频| 99re9| 操迟操逼在巾线Fre看| 国产原创剧情在线丝袜| 欧洲无码一区二区| 北京美女一区二区| 亚洲做性| 国产精品内射婷婷一级二| 口爆吞精在线观看| 久久人妻视频网| 亚洲色图a| 精品国产乱码久久久影院| 国产久久久久久| 九月激情婷婷| 婷婷综合| 91丝袜激情在线| 97综合激情| 日韩性爱1级片视频| 超碰av在线| 国产精品视频播放| 日韩精品一二三| av天堂精品久久| 亚州色交| 国产中午字一暮区| 98人妻精品一区二区色欲| 免费综合亚洲中文| 国产精品乱码久久久久久久久久久久| 97情超碰色| 国产又猛又粗又爽又黄| 色综合久| 激情四射五月天| av天堂电影网| 蜜桃无码AV一区二区| 嫩草伊人久久精品| 亚洲高清综合网| 日本性爱不卡视频| 丰满搜索结果 -第18页- 久久高清无码| 多毛小伙内射老太婆| 黄片com.| 夜夜操夜夜爽夜夜高潮| 97在线公开视频| 欧美色性爱| 中文字幕亚洲欧美在线不卡| 99少妇| 国产精品成人无码av无码免费| 嫩草 人人网精品| 午夜在线播放| 婷婷亚洲五月***久久| 熟女欧美日韩综合婷婷| 探花精品 一区二区| 日欧操屄视频| 国产AV人人夜夜澡人人爽麻豆| 综合av社区| 日本一区二区电影网站| 色淫网站优优视频| 女人被添高潮免费视频| 久久一本大香蕉 | 乱抡国产91| 久久久工口| 国产精品国产精品国产| 丁香六月天| 亚洲黄色电影| 日韩啪啪网| 99精品无码| 91精品伊人久久久大香线蕉91| 欧美 亚洲 另类 综合| 日韩中文字幕国产| 97精品视频免费| 日韩无码精品综合久久| 欧美图片色综合| 最新无码国产| 激情露脸爱| 久久久久亚洲熟妇熟女| 亚洲不卡不卡中文字幕不卡 | 爆操无码| 色欲久久99精品久久| 日韩去日本高清在| 大香蕉99999| 射 色综合| 97超碰资源网| 久久久久久久久久久六六| 亚洲另类欧美精品| 男人a天堂手机在线版| 永久免费发布性爱网| 激情五月天视频| 熟女欧美日韩综合婷婷| 91男女| 久久久精品电影| 精品人妻美妇91job| 91偷拍欧美亚洲| 九九热精品视频六| 青娱乐福利99| 日本三级日本三级99| 亚洲免费97免费| 91 偷| 日本高清免费一本视频在线观看| 国产尤物AV尤物在线观看不卡| 久久9久9久99久9久9| 9久9久| 精品一区二区人妖| 美女的肌被草喷水视频| 天天肏夜夜肏| 人妻日日干| 中文字幕乱碼在线| 精品欧美乱码久| 国产粉嫩出水在线播放| 亚洲中文字幕日产无码久久| 国产日韩怡红院| 18禁超污无遮挡无码免费网| 67194无码不卡| 亚洲熟妇A V黑人| 精品偷拍13p欧美dodk视频| 夜夜操91744565| 欧美97爱| 加勒比在线视频| 啊啊啊好舒服视频| 美女黄色一级A视频| 亚洲欧美在线丝袜| 中文字幕高清20页视频| 熟女少妇一区二区三区| 超碰人妻在线| 97亚洲综合在线| 夜夜一区二区| 亚洲天天综合| 老熟女熟妇| 天天干人人干天天日97| 久久久久久裸体| 色婷五月| 四虎精品永久在线播放| 久久久不能久久久久| 八戒无码国产午夜福利| av线电影| 91美女丝袜诱惑视频| 超碰色综合| 蜜屁Av| 在线观看一卡二卡| 国产精品视频91久久| 日韩精品大香蕉伊人在线| 思思热在线cao| 日韩综合色图| www.男人天堂| 91N欧美| 性做久久久久久久| 97精品免费视频网站| 亚洲熟女乱综合一区二区三区| av资源在线观看少妇| 国产精品爱欲| 亚洲黄色电影| 欧美草草| 啊啊啊97视频| 殴美牲| 天天天天干| 一区二区影院| 韩国三级一线观看久| 国产精品大屁股999| 蜜臀99999| 国内91熟女人妻丝袜天天精品视频在线| 免费一级精品啪啪视频| 久久久久亚洲| 成人怡红院| 欧美色图电影| 五月婷亚洲精品天堂| 天天综合官网| 欧美精品,四区。五区| 国产乱人妻精品入口| 蜜臀99999| 精久久久91| 久久亚洲不卡一区二区三区| 国产女乱淫真高清免费视频| 久久发布国产伦子伦精品| 91干熟女| 超碰免费人人| 伊人久久婷婷| 亚洲丝袜二区| 大香蕉伊人色偷偷在线| 女同在线视频一区| 夜夜狼人妻| 在线一区| 综合色久欲| 97国产|免费| 亚洲视频中文一区| 久久综合国产精品国产| 亚欧韩av| 内射日韩大臀美女| 国产农村妇女精品一| 亚洲性感丝袜诱惑在线观看| 五月天人妻综合| 日韩人妻丝袜中文字幕| 亚洲精品一区二区精品| a v网站在线播放|