国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

J2ME雷霆戰(zhàn)機源碼:功能機飛行射擊主循環(huán)、對象池與真機適配

J2ME雷霆戰(zhàn)機源碼:功能機飛行射擊主循環(huán)、對象池與真機適配 簡介JAVA ME 經(jīng)典飛行射擊游戲《9688雷霆戰(zhàn)機》的個人移植源碼包面向希望從實戰(zhàn)代碼理解 J2ME/MIDP 移動游戲開發(fā)的入門與進階學(xué)習(xí)者。內(nèi)容圍繞 MIDlet 主類入口、GameLoop 游戲循環(huán)、飛機/敵機/子彈對象模型、碰撞檢測與狀態(tài)機管理展開并涉及 Canvas 繪圖、鍵盤或觸摸事件響應(yīng)、圖像預(yù)加載及音頻播放等環(huán)節(jié)可幫助讀者建立較完整的小型移動游戲框架認知。壓縮包約 4.4MB文件總數(shù)顯示為 0、類型明細暫未提供源碼與工具屬性較明確包體以完整工程移植內(nèi)容為主。已有 1139 人學(xué)習(xí)或下載說明其在同類 J2ME 學(xué)習(xí)材料中有一定參考熱度。通過閱讀和調(diào)試這套移植代碼讀者可揣摩幀率控制、內(nèi)存分配與資源緩存等受限設(shè)備上的優(yōu)化思路也能練習(xí)代碼閱讀、問題定位和模塊拆解方法適合作為課程設(shè)計或個人練手的對照樣本。1. 一臺舊功能機里的飛行射擊這套 J2ME 雷霆戰(zhàn)機源碼在跑什么手里那臺 240×320 的舊按鍵機還能開機但能裝進去的游戲已經(jīng)不多了。這份個人移植的 J2ME 雷霆戰(zhàn)機源碼做的事就是讓一臺 Java ME 功能機重新跑起完整的豎版飛行射擊——飛機左右穿梭、子彈成排往外噴、敵機一波接一波分數(shù)寫進 RMS關(guān)機再開還在。整套工程不依賴任何第三方游戲引擎全靠 MIDP 自帶的 Canvas、GameAPI、RMS 和 Media API 拼起來用老式的 J2ME 開發(fā)工具包WTK導(dǎo)入就能編出 JAR。它適合三類人手里有舊機器想復(fù)刻點東西的、想看清 J2ME 游戲主循環(huán)到底怎么寫的、以及接手了一個老 JAR 要做二次開發(fā)的。代碼量不大但結(jié)構(gòu)完整從 MIDlet 生命周期到子彈對象池回收都留著清晰的切口改起來不用翻半天。2. 工程骨架與目錄結(jié)構(gòu)MIDlet 入口、Canvas 主循環(huán)和資源怎么擺先看骨架。J2ME 項目和普通 Java 工程最大的差別在于它必須有一個明確的「應(yīng)用入口」和一份聲明式的描述文件打包器靠這兩樣?xùn)|西才能把一堆 class 變成一個能裝進手機的 JAR。2.1 一份能直接導(dǎo)入 WTK 的目錄長什么樣這套源碼的目錄是標準的老式 J2ME 布局沒有 Maven 也沒有 Gradle純靠 IDE 的工程描述和 Ant 腳本src/ com/game/midlet/GameMIDlet.java MIDlet 入口管生命周期 com/game/core/GameCanvas.java 主循環(huán)、按鍵、繪制 com/game/core/Entity.java 實體基類坐標/速度/半徑 com/game/core/BulletPool.java 子彈對象池 com/game/core/EnemyManager.java 敵機波次調(diào)度 com/game/core/ScoreStore.java RMS 最高分 com/game/core/Res.java 圖片資源統(tǒng)一加載與緩存 res/ player.png enemy.png bullet.png bg.png bgm.mid shoot.wav META-INF/MANIFEST.MF Game.jad build.xmlsrc下面按職責(zé)分了 midlet 和 core 兩個包這個分層對 J2ME 來說已經(jīng)夠用了。res里的圖片必須是 PNG這是 MIDP 規(guī)范里唯一被強制支持的位圖格式別指望塞 JPG 進去。Game.jad是 Java 應(yīng)用描述文件很多機型在安裝時會先讀 JAD 再決定要不要下載 JAR里面的字段和 MANIFEST 必須對得上。2.2 MIDlet 生命周期startApp 里只做一件事入口類承擔(dān)的工作比想象中少。J2ME 的 MIDlet 有startApp、pauseApp、destroyApp三個狀態(tài)回調(diào)最容易踩的坑是把資源加載和線程啟動都堆在startApp里結(jié)果用戶按了掛機鍵再切回來第二份線程就起來了畫面越跑越快。import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; import javax.microedition.lcdui.Display; public class GameMIDlet extends MIDlet { private GameCanvas canvas; private Display display; protected void startApp() throws MIDletStateChangeException { if (canvas null) { display Display.getDisplay(this); Res.loadAll(); // 素材只在這里加載一次全部進靜態(tài)緩存 canvas new GameCanvas(this); canvas.startLoop(); // 主循環(huán)線程跟著 Canvas 走 } display.setCurrent(canvas); // 切回來只是重新設(shè)為當(dāng)前屏幕 } protected void pauseApp() { if (canvas ! null) canvas.pauseLoop(); // 掛機就停線程省電 } protected void destroyApp(boolean unconditional) { if (canvas ! null) canvas.stopLoop(); } public void exit() { // 游戲內(nèi)菜單調(diào)用 destroyApp(true); notifyDestroyed(); } }startApp里用canvas null做了一次性判斷這是整套代碼里最值錢的一行。J2ME 設(shè)備在來電、切換后臺、開蓋合蓋時都會反復(fù)觸發(fā)startApp和pauseApp如果不做這個判斷每次切回來就是一個新 Canvas 加一個新線程內(nèi)存和幀率一起崩。pauseLoop只是把running標志置 false 并讓線程自然退出循環(huán)不調(diào)Thread.stop()——那個方法在 CLDC 上行為不確定屬于血淚經(jīng)驗。參數(shù)上notifyDestroyed()是告訴運行環(huán)境「我自己要退了」必須主動調(diào)否則部分機型會認為應(yīng)用異常退出并彈提示。Res.loadAll()放在 Canvas 創(chuàng)建之前保證第一幀繪制時所有Image都已經(jīng)就位避免第一幀出現(xiàn)空指針。2.3 JAD 與 MANIFEST 里的關(guān)鍵字段JAR 裝不上手機八成是這兩個文件的問題。核心字段就這幾個MIDlet-Name: ThunderShooter MIDlet-Version: 1.0.0 MIDlet-Vendor: Personal MIDlet-1: Thunder, /player.png, com.game.midlet.GameMIDlet MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0MIDlet-1的格式是「顯示名, 圖標路徑, 入口類全名」三段用英文逗號加空格分隔少一個空格某些機型就解析失敗。MicroEdition-Configuration和MicroEdition-Profile直接決定了這臺機器愿不愿意裝你的包寫 CLDC-1.1 意味著放棄 CLDC-1.0 的老機器寫 CLDC-1.0 則用不了浮點和部分集合 API。這套源碼選了 CLDC-1.1 MIDP-2.0是個務(wù)實的取舍——覆蓋不了最早那批單色機但換來了Image.createRGBImage和Manager這些必備能力。# 老式 WTK 的標準打包流程三步缺一不可 javac -bootclasspath $WTK/lib/cldcapi11.jar:$WTK/lib/midpapi20.jar \ -d classes $(find src -name *.java) $WTK/bin/preverify -classpath $WTK/lib/cldcapi11.jar:$WTK/lib/midpapi20.jar -d classes classes jar cfm ThunderShooter.jar META-INF/MANIFEST.MF -C classes . -C res .preverify這一步是 J2ME 獨有的它在每個 class 里插入棧映射信息供設(shè)備上的 KVM 做字節(jié)碼校驗。跳過它模擬器可能照跑真機上直接報校驗錯誤。構(gòu)建腳本里把它寫成 Ant 的一個exectarget 就行別手動敲命令太長容易漏 classpath。3. 核心玩法拆解從主循環(huán)到子彈與敵機的碰撞判定骨架搭好之后真正決定手感的是主循環(huán)和實體管理。這部分代碼不多但每一處都能直接換成「卡不卡」和「判定準不準」。3.1 幀循環(huán)里的 update 與 draw 分離J2ME 沒有游戲引擎的requestAnimationFrame最穩(wěn)的做法是自建線程加固定步長。這套代碼把邏輯更新和繪制徹底分開update只改數(shù)據(jù)paint只讀數(shù)據(jù)中間不互相調(diào)用。public class GameCanvas extends Canvas implements Runnable { private static final int FRAME_MS 40; // 25 FPS功能機的舒適區(qū) private volatile boolean running false; private Thread loopThread; private long lastTick; public void startLoop() { if (running) return; running true; lastTick System.currentTimeMillis(); loopThread new Thread(this); loopThread.start(); } public void pauseLoop() { running false; } public void run() { while (running) { long now System.currentTimeMillis(); int delta (int) (now - lastTick); if (delta FRAME_MS) { try { Thread.sleep(FRAME_MS - delta); } catch (InterruptedException e) { } continue; } lastTick now; update(delta); repaint(); serviceRepaints(); // 立刻刷別讓重繪消息在事件隊列里排隊 } } }FRAME_MS 40對應(yīng) 25 幀這是老機器的甜點值。往 30 幀調(diào)33ms不是不行但繪制一幀如果超時System.currentTimeMillis()的差值會越滾越大表現(xiàn)為「走兩步卡一下」。差值累積的處理方式是不補幀直接把lastTick重置到當(dāng)前時間寧可掉幀也不讓邏輯跳步。volatile修飾running是因為這個字段跨線程讀寫沒有它暫停指令在部分虛擬機上不會被主循環(huán)看到。repaint()加serviceRepaints()連用是 Canvas 的經(jīng)典寫法前者只是把重繪請求丟進事件隊列后者強制同步執(zhí)行到paint完成。少寫后面那一句畫面會滯后一到兩幀彈幕密集時感覺特別明顯。3.2 實體與對象池別讓內(nèi)存在彈幕里抖射擊游戲最怕的不是算力不夠是 GC 在關(guān)鍵時刻來一下。一局下來幾千發(fā)子彈如果每發(fā)都new Bullet()CLDC 上那個小堆幾秒鐘就撐不住。這套代碼的解法是固定容量對象池一次分配永不擴容。public class BulletPool { private final Bullet[] pool; private int liveCount; // [0, liveCount) 是活躍子彈 public BulletPool(int capacity) { pool new Bullet[capacity]; for (int i 0; i capacity; i) { pool[i] new Bullet(); // 啟動時一次性 new 完 } } public void spawn(int x, int y, int vx, int vy, int dmg) { if (liveCount pool.length) return; // 池滿直接丟棄絕不擴容 Bullet b pool[liveCount]; b.reset(x, y, vx, vy, dmg); } public void update(int delta) { for (int i liveCount - 1; i 0; i--) { Bullet b pool[i]; b.x b.vx * delta / 1000; b.y b.vy * delta / 1000; if (b.y -16 || b.y 400 || b.dead) { pool[i] pool[--liveCount]; // 尾元素覆蓋O(1) 回收 pool[liveCount] b; } } } }倒序遍歷是這份回收邏輯能成立的前提。pool[i] pool[--liveCount]把最后一個活躍子彈挪到當(dāng)前位置然后liveCount減一被回收的b則回到數(shù)組尾部等待復(fù)用。因為是倒序被挪過來的那個元素索引一定小于當(dāng)前的i下一輪不會重復(fù)處理。如果寫成正序挪過來的元素會被跳過子彈就「穿?!癸w過去不消失。capacity的取值我一般按「最壞情況下屏幕同屏子彈數(shù)」的 1.5 倍來定這套代碼給的是 64。滿池時丟棄而不是擴容這個設(shè)計是刻意的——寧可少一發(fā)子彈也不能在戰(zhàn)斗中觸發(fā)一次數(shù)組復(fù)制。敵機那邊同理EnemyManager里也是固定數(shù)組加波次調(diào)度不用Vector。3.3 碰撞判定圓形距離平方比矩形更貼合彈幕判定用矩形包圍盒是最省事的但豎版射擊游戲里機身窄、彈幕斜飛矩形框會在視覺上明明沒碰到的時候判定命中玩家感受很差。這套代碼用的是圓形判定只比較距離的平方省掉開方。public class Entity { public int x, y; // 左上角坐標 public int halfW, halfH; // 半寬半高用于繪制 public int cx, cy; // 判定圓心一般略小于視覺中心 public int radius; // 判定半徑 public void syncCenter() { cx x halfW; cy y halfH; } } public class Collision { public static boolean overlap(Entity a, Entity b) { int dx a.cx - b.cx; int dy a.cy - b.cy; int r a.radius b.radius; return dx * dx dy * dy r * r; // 比較平方不做開方 } }radius通常設(shè)成視覺尺寸的 0.6 到 0.7 倍這叫「寬容判定」玩家被擦彈擦過去不算死手感會好很多。自機受傷判定要比敵機更小一圈因為自機是玩家唯一在意的對象判定越寬容越舒服而敵機被打中的判定可以放大到 1.0讓射擊更有反饋感。syncCenter必須在坐標變化后調(diào)用或者干脆把cx/cy算成x halfW的 getter避免忘了同步導(dǎo)致判定錯位——這是個特別隱蔽的 bug畫面上全都對就是打不中。每幀的檢測順序是自機子彈 × 敵機 → 敵機子彈 × 自機 → 敵機 × 自機。前兩組是 O(m×n) 的雙層循環(huán)靠數(shù)量控制子彈池 64、敵機池 24保證在 CLDC 上也不卡。想再省一點可以按屏幕縱向分三段只跟同一段內(nèi)的對象比實測能砍掉約六成計算量。3.4 敵機波次與難度曲線波次調(diào)度沒寫成狀態(tài)機用的是一個很土但好調(diào)的結(jié)構(gòu)數(shù)據(jù)表加游標。// 每一波起始時刻(ms)、敵機數(shù)量、生成間隔(ms)、橫向起始位置、移動模式 private static final int[][] WAVES { { 0, 5, 800, 40, 0 }, // 模式0直線下落 { 6000, 8, 600, 100, 1 }, // 模式1正弦橫移 {13000, 12, 400, 20, 2 }, // 模式2斜向俯沖 {21000, 16, 300, 60, 3 }, // 模式3追蹤自機 };把難度寫成表的好處是調(diào)平衡的時候不用改代碼邏輯。想讓它更兇把間隔從 800 調(diào)到 500、數(shù)量加兩架重新編譯就行。游標推進的邏輯在EnemyManager.update里當(dāng)前波次的生成數(shù)量耗盡且場上敵機清空后才推下一波中間留一段空窗給玩家喘氣。這個「清空再推進」的條件如果不加波次會疊在一起第三關(guān)就能直接勸退。4. 屏幕與按鍵適配跨機型移植最容易翻車的一層同一份 JAR在 128×160 的機器上正常在 240×320 的機器上飛出屏幕在 176×208 的機器上按鍵全亂——這是移植 J2ME 游戲最典型的一天。適配層不做前面寫得再好也白搭。4.1 分辨率適配邏輯坐標系加一次性重采樣MIDP 的drawImage不支持縮放這是硬約束。想畫一張能適應(yīng)多種屏幕的圖只有兩條路運行時自己重采樣或者按固定邏輯分辨率畫、四周留黑邊。這套代碼兩條都用了。先看繪制時的坐標系換算private static final int LOGIC_W 240; private static final int LOGIC_H 320; protected void paint(Graphics g) { int sw getWidth(); int sh getHeight(); // 以邏輯分辨率為基準計算居中偏移不做非整數(shù)縮放 int ox (sw - LOGIC_W) / 2; int oy (sh - LOGIC_H) / 2; g.setColor(0x000010); g.fillRect(0, 0, sw, sh); // 先鋪滿底色防止邊緣露出臟像素 g.translate(ox, oy); // 之后所有繪制都用邏輯坐標 g.setClip(0, 0, LOGIC_W, LOGIC_H); // 裁剪掉超出的部分別畫到屏幕外 drawBg(g); enemies.draw(g); bullets.draw(g); player.draw(g); drawHud(g); g.translate(-ox, -oy); // 還原給后續(xù)可能的全屏繪制讓路 }g.translate加setClip這個組合是整段的核心。邏輯坐標統(tǒng)一按 240×320 算屏幕比它大的時候居中兩邊鋪深色底比它小的時候裁剪掉邊緣保證玩家不會被看不見的敵機打死。translate必須成對還原否則 HUD 和后續(xù)的全屏效果會畫到偏移位置上去這個 bug 排查起來特別費勁因為邏輯層的數(shù)據(jù)全是對的。屏幕比邏輯分辨率大的時候如果就這么留黑邊會很丑。更徹底的做法是啟動時把整套素材按比例重采樣一次// 啟動時按目標尺寸把素材重采樣一遍運行時零開銷 public static Image scaleImage(Image src, int dstW, int dstH) { int sw src.getWidth(); int sh src.getHeight(); int[] srcPx new int[sw * sh]; src.getRGB(srcPx, 0, sw, 0, 0, sw, sh); // 需要 MIDP 2.0 int[] dstPx new int[dstW * dstH]; for (int y 0; y dstH; y) { int sy y * sh / dstH; for (int x 0; x dstW; x) { dstPx[y * dstW x] srcPx[sy * sw x * sw / dstW]; // 最近鄰插值 } } return Image.createRGBImage(dstPx, dstW, dstH, true); }最近鄰插值出來的圖會有鋸齒但 J2ME 上沒得選——雙線性要浮點運算CLDC 1.0 直接不支持。createRGBImage的第四個參數(shù)processAlpha傳true才會保留透明通道傳false會得到一張黑底圖這個參數(shù)值錢。重采樣只發(fā)生在啟動時算力代價可以接受千萬別放進paint里一幀幾次重采樣能讓幀率掉到個位數(shù)。4.2 按鍵映射getGameAction 的返回值不一定靠得住Canvas.getGameAction(keyCode)理論上把物理鍵翻譯成UP/DOWN/LEFT/RIGHT/FIRE這些抽象動作實際上部分機型對方向鍵返回 0還有一批機器把方向鍵直接映射成數(shù)字鍵 2/4/6/8。只寫 switch 不寫兜底用戶會發(fā)現(xiàn)飛機紋絲不動。protected void keyPressed(int keyCode) { int action getGameAction(keyCode); switch (action) { case Canvas.UP: player.moveUp(); break; case Canvas.DOWN: player.moveDown(); break; case Canvas.LEFT: player.moveLeft(); break; case Canvas.RIGHT: player.moveRight(); break; case Canvas.FIRE: player.fire(); break; default: // 兜底部分機型方向鍵不映射游戲動作只報數(shù)字鍵 if (keyCode Canvas.KEY_NUM2) player.moveUp(); else if (keyCode Canvas.KEY_NUM8) player.moveDown(); else if (keyCode Canvas.KEY_NUM4) player.moveLeft(); else if (keyCode Canvas.KEY_NUM6) player.moveRight(); else if (keyCode Canvas.KEY_NUM5) player.fire(); break; } }這套兜底覆蓋了絕大多數(shù)功能機的鍵位習(xí)慣。還有個更細的問題某些機器的左軟鍵對應(yīng)-6、右軟鍵對應(yīng)-7取值是負數(shù)用getGameAction同樣返回 0需要單獨判斷。別指望一次寫完全部機型最實際的做法是在游戲里塞一個隱藏的「按鍵調(diào)試」界面把keyCode和getGameAction的返回值直接打在屏幕上裝機實測時看一眼就知道該補哪一行。4.3 觸屏與鍵盤雙支持MIDP 2.0 之后不少機器有了觸摸屏。這套代碼同時實現(xiàn)了pointerPressed但它不直接和鍵盤邏輯混在一起而是把觸摸坐標換算成邏輯坐標后交給同一套移動接口protected void pointerPressed(int px, int py) { int lx px - offsetX; // 屏幕坐標 - 邏輯坐標 int ly py - offsetY; if (isInsideFireButton(lx, ly)) { player.fire(); } else { player.moveTo(lx, ly - 20); // 手指上方留 20 像素別被手指擋住 } }py - 20這個偏移量是上手之后改的手指落點和玩家以為的位置有偏差直接moveTo會讓飛機貼著手指下沿。操作方式上鍵盤機是「按住方向鍵持續(xù)移動」觸屏是「拖哪走哪」兩套邏輯共用player.moveTo和player.moveBy兩個方法互不干擾。5. 避坑與排查真機上那五個最想砸手機的瞬間模擬器跑通只是開始真機才是驗收場。以下五條都是這套源碼在移植過程中實際遇到過的問題按「現(xiàn)象、原因、解決」的順序?qū)懹龅酵钪苯映?.1 白屏與花屏圖片和屏幕尺寸的坑現(xiàn)象一模擬器正常裝到真機啟動后一片白幾秒后自動退出。原因基本鎖定在圖片資源上——導(dǎo)出的 PNG 帶了 32 位 alpha 通道或者用了真機解碼器不認的非索引色格式。CLDC 上的 PNG 解碼器實現(xiàn)差異很大越老的機器越挑。解決辦法是把所有素材重新導(dǎo)出成 8 位索引色 PNG透明部分用純色鍵比如 0xFF00FF填充繪制時用drawRegion配合色鍵摳掉同時把單張圖控制在 128×128 以內(nèi)部分機型對單圖尺寸有硬上限。現(xiàn)象二畫面能出來但整體偏到一邊右邊一條黑。這是getWidth()返回的寬度和實際可視寬度不一致導(dǎo)致的某些滑蓋機在合蓋狀態(tài)下報的是內(nèi)屏寬度。解決方式是在sizeChanged(int w, int h)回調(diào)里重新計算偏移量而不是在構(gòu)造函數(shù)里算一次就存成常量。這個回調(diào)在屏幕旋轉(zhuǎn)和開合蓋時都會觸發(fā)是唯一可靠的時機。5.2 崩潰與內(nèi)存CLDC 的 API 紅線現(xiàn)象三玩到第三關(guān)黑屏退出日志里是OutOfMemoryError。兩個來源一是每幀new實體二是同一張圖被反復(fù)Image.createImage加載。前者的解法是第 3 章講的對象池后者更隱蔽EnemyManager里每種敵機如果各自加載一次貼圖同屏五架就是五份位圖在堆里。正確做法是建立Res類在startApp里把所有Image一次性 load 進靜態(tài)字段之后全局共用同一份引用?,F(xiàn)象四編譯通過真機一運行就NoSuchMethodError。說明用了 CLDC 1.0 里沒有的 API但編譯時的 classpath 指向了 CLDC 1.1 的庫。常見嫌疑人是Float.valueOf、String.format、java.util.regex和Collections.sort的部分重載。查法很簡單把工程配置里的 Configuration 改成 CLDC-1.0 再完整編譯一次編譯不過的地方就是雷區(qū)。真要用浮點就自己用整數(shù)放大一百倍來模擬別賭目標機型支持。5.3 交互與存檔按鍵、RMS、音效三連坑現(xiàn)象五方向鍵完全沒反應(yīng)但確認鍵能開火。就是 4.2 節(jié)講的getGameAction返回 0加上數(shù)字鍵兜底即可。順帶一提有些機器在keyPressed里收到的是重復(fù)事件按住方向鍵會以極快頻率觸發(fā)導(dǎo)致飛機瞬移到邊界——加一個keyReleased里清標志、keyPressed里判重的簡單鎖就能壓住。現(xiàn)象六最高分重啟后歸零。RecordStore寫完沒關(guān)是頭號原因部分機型的數(shù)據(jù)要等closeRecordStore()才落盤代碼里必須在finally里關(guān)。第二個原因是 RMS 的作用域跟 MIDlet 套件綁定改了MIDlet-Name或者換了簽名之前存的數(shù)據(jù)就等于沒了——所以名字這東西定了就別動。穩(wěn)妥的寫法是加載失敗一律返回 0存檔失敗直接吞掉異常絕對不能讓存檔問題把整個游戲拖崩。音效是同類問題里的第三顆雷。Manager.createPlayer在缺少 MMAPI 支持的機器上會拋異常甚至直接NoClassDefFoundError。整個播放邏輯必須包在 try-catch 里并且先用Manager.isTypeSupported(audio/midi)探一下不支持就靜音降級游戲照跑。6. 二次開發(fā)改造換一套美術(shù)、加一種武器之后怎么驗證改造這套源碼最省力的順序是「先換皮、再改數(shù)值、最后加機制」因為三者的驗證成本是遞增的。換皮只需要看不崩加機制要玩得爽中間隔著幾十次真機重啟。6.1 換皮改動面其實只有三處美術(shù)替換不要動代碼邏輯只碰三個地方res目錄下的 PNG 文件、Res.java里的尺寸常量、Entity子類里的halfW/halfH/radius。自機的機身窄radius給 6 到 8 就夠敵機體積大可以給到 14。改完一定要把BulletPool的容量重新算一遍——新美術(shù)如果讓子彈變大同屏能容納的數(shù)量就變了池子還是 64 的話會在密集彈幕時開始丟子彈表現(xiàn)為「明明在射但打不中」。6.2 加一種武器從對象池容量到渲染順序加激光武器的最小改動路徑是這樣的在BulletPool外面再開一個LaserPool容量小一點8 條足夠因為它們判定粗、存在時間長。渲染順序上激光要畫在普通子彈下面、背景上面否則會蓋住自機。數(shù)值上激光給「持續(xù)傷害」而不是「單次傷害」就需要在Entity上加一個dmgPerTick字段配合update(delta)按毫秒累加避免高幀率時傷害翻倍。做完這一步別忘了難度曲線也得跟著調(diào)——加了強力武器第四波的敵機數(shù)量不漲游戲就變成割草了。6.3 真機驗證清單改完別急著打包按這張表過一遍能省掉大量返工驗證項怎么驗不通過先看哪里冷啟動裝完直接開不看任何界面Res.loadAll是否在 Canvas 之前掛機切回按掛機鍵 30 秒再切回startApp的canvas null判斷滿屏彈幕打到第三波觀察是否掉幀BulletPool容量與FRAME_MS判定手感貼臉躲彈看是否被誤判radius取值與syncCenter調(diào)用存檔打出最高分退出重進closeRecordStore是否在 finally靜音降級在不支持 MIDI 的機器上跑音效 try-catch 是否完整這套流程我從第二個移植項目開始就沒斷過。早期吃過虧模擬器上一切正常真機裝上去第一波敵人還沒出完就白屏了回頭查了整整兩天才發(fā)現(xiàn)是某張圖的 alpha 通道問題。從那以后我每次改完一個副本都強制在真機上把所有波次跑滿一輪再打包不管改的是一行數(shù)值還是一次換膚。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲欧洲综合av在线| 伊人伊人LD| 国产精品天堂| 97 国产精品| 欧美大香蕉在线观看| 无码逼| 亚洲高清综合网| 亚洲色性情三级| 婷婷丁香六月天| 再深点灬舒服灬太大了添视频 | 国产九九九九九九| 久久久穴999| 亚洲AV成人无码久久精品播放| 蜜臀久久99精品久久久| 国产91丝袜在线播放蜜月| 淫色网综合| 色婷婷成人| 1024人妻熟女一区二区三区| 少妇人妻好深太紧了vr91| 欧在线一二区| 在线视频日韩欧美国产| 大香蕉综合| 久久久久久久人妻丝袜| 中亚黄色三级大片| 色色色热| 99久视频| 亚洲天堂电影精品一区| 欧美午夜精品久久久久久超碰| 大香蕉免费乱伦视频| 91狠狠狠| 亚洲城人男人的天堂| 色色婷婷五月天| 亚洲最大网站av| 抽插无码高清一区| 久久xx| 欧美色婷婷| 黑操B| 白丝1区2区3区| 97天天操天天干| 人妻 欧美 中文| 日欧毛片久久| 婷婷性网| 日韩av免费一级电影| 亚洲国产成人7777| 婷婷五月天激情网| 亚洲色性情三级| 男人网站婷婷| 一区二区中文| 91强奸乱轮| 欧美熟爽综合| 欧美亚洲清纯| 国产美女销魂在线观看不卡| 亚洲 欧美 91| 国产高清MV操逼视频| 色黄污美女啪啪啪免费网站| 国产久久久久久久久一区二区 | 天天干天天日天天射黄色| 青青青国产| 9.1小视频| 狠狠色伊人亚洲综合网站色| 五月婷婷激情综合| 天天干夜夜| 成人无遮挡毛片免费看| 国产欧美伊人| 久久久78| 狠狠色综合网| 久久精品无码熟妇一区二区三区视频导航 | 国产精品视频精品一二| 青青伊人久久| 亚洲春色欧美激情自拍| 日韩中文字幕熟妇人妻| 蜜臀99久| 久久亚洲影院一区二区| 精…码一二三区| 激情专区综合| 香蕉精品二区二区| 97色色色| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 深夜福利黄片| 色女综合| 欧美性巨大╳╳╳╳╳高跟鞋| 国产农村妇女精品1区二区| 98久久| 亚洲天堂日本| 麻豆天美国美国产| 国产午夜精品在线观看| 青青草视频在线观看一区二区| 91w欧美| 91大学精品激情戏| 人人弄人人摸| 亚州欧美综合| 蜜臀久久一区二区| 日韩 国产 欧美自拍| 岛国人妻少妇av在线观看| 午夜视频久久久久一区| 欧美亚洲宗合色性图| 在线免费观看日韩一区| 97日韩欧美亚洲| 91日韩在线| 亚洲欧美另类激情小说 | 天天综合中文字幕 91| 欧美精品另类人妖xxxx| 国产精品一二三在线看| 欧美性91| 中文久久96| 五月激情视频| 亚洲色图亚洲无码强奸乱伦| 亚洲情色五月天 | 久久99网站| V A在线| 劲爆欧美人妖三区91| 五月婷婷六月丁香| 久久久久久九九九九-美女久久久久久久-成人AV | 无套内射人妻在线播放| 欧美色图20P| 久久美国毛片| 久久久18禁| 亚洲男人bt天堂| 韩国一级AAA| 久久久久九九九| 亚洲性图91| 99久久久无码| 日本91白丝| 日亚韩精品视频二区三| 亚洲天堂7777| 人妻系列无码专区中文有码| 久久鲁夜| 五月天精品| 黑人无码一区二区| 人妻中文字幕日韩电影| 91九色蝌蚪在线观看| 综合色好色| 亚洲午夜精品久久久中文影院| 综合91网| 亚洲色图第四色| 四虎影院成年人片| 日韩999| 天天干天天操天天干天天操 | 中文字幕在线观看视频www| 亚洲无码免费看| 婷婷av在线中文字幕| 国产精品人妻无码久久久老鸭窝| 无码免费在线观看黄色片| 俞拍自拍| 欧美操逼视频二区| 久久超碰98| 99操逼| 操碰91| 日日碰视频网| 成人青青草原伊人| 搡老女人老91二区| 国产无吗在线播放| 国模艳艳啪啪一区| 95人妻爽爽人人做人人澡| 无码国产精品午夜不卡(| 大香网伊人久久综合| 色婷婷视频| 嗯嗯啊啊操死我| 色香综合天天影视综合 | AV女优男人的天堂| 中文字幕日韩电影人妻| 91GD.COM| 美日韩在线不卡人妻| 内射卯月麻衣| 996热| 婷婷九月国产| 国内亚洲高清无码| 国产版a级片直播在线| 深田咏美亚洲精品福利社| av优播| 中文无线日韩一区| 黄色区免费观看中文字幕| 99这里有精品| 丝袜视频网国产90| 影音先锋日本乱伦| 最新加勒比丝袜在线| 一区二区播放| 国产麻豆福利av在线播放| 久久久久久综合久久伊人蜜月| 射丝袜高跟鞋99| 青青草天天亲夜夜操网| 欧美色图亚洲色图成人在在线| 欧美色图私拍91| 国产v亚洲v日韩v欧美v片另类| 可以免费观看的日韩av毛片| 激情 欧美 亚洲 小说| 99色天堂| 91精品国产91熟女| 精品区9| 九九热只有精品| 手机看片1025| 欧美激情视频一区二区| 中文字幕啊啊啊在线观看视频| 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 午夜福利免费福利视频| 91黑丝操| 色噜噜综合在线| …亚洲黄色厕厕女女在线播…| 欧美性生活男人的天堂| 欧美综合另类| 在线女人91| 日韩在线地址一| 丁香五月av| 欧美激情 一区| 亚洲1区| 96一区二区三区| 人人插人人摸人人| 麻豆黄站| 婷婷五月天影院| 久久久九九网站| 尤物黄色在线观看网站| 九九九九九九综合| 亚洲少妇色| 超碰在线免费一区二区三区| 激情五月婷婷| 青娱乐国产精品| 五月婷婷性爱| 一区二区三区国产在线播放| 亚洲精品一二三四区| 日韩黄色av中文字幕| 久久精品99久久久久久| 大香蕉手机在线视频| 久久久99免费| 青青草日韩免费观看高清在线| 黄视频免费| 欧美激情久| 欧美成va视频网站| 午夜男女爽爽爽影院视频| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 五月激情啪啪| 国产精品点击进入在线影院| 欧美碰碰综合色| 超碰激情808| 人人摸人人摸人人干| 亚洲欧洲自拍| 中文字幕人妻丝袜乱一区三区| 亚洲综合网电影91| 亚洲精品乱码久久久久久蜜桃麻豆| 97天天在线| 亚洲另类欧美精品| 新婚人妻扶着粗大强行坐下| 97超碰美女| 麻豆一区二区三区精品| 白嫩嫩一区| 国产亚州日韩欧美看片| 成人性爱av.com| 亚洲性爱乱操x| 亚州男人天堂| 变态综合色| 漂亮人妻被强中文字幕hd| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 久久久免费视频18| 亚洲三级网址久久最新| 久9视频| 久久精品国产亚洲AV无码电影| 欧美日本成人一区二区| 少妇高潮九九九九| 91天天综合日韩欧美| 色婷婷A V一二三四区麻豆综合| 欧美性爱一区二区三区四区| 久久大线蕉一区| 人妻出轨一区二区三区| 欧美日本国产日韩激情视频| 色牛aV| 日本成a人v网站在线观看| 97在线精品| 九九九九九九免费视频| 精品中文字幕一区二区| 欧美伦乱爱| 粉嫩AV一区夜夜嗨| 超碰伊人在线| 国产精品久久久久婷婷二区次| 蜜臀久久99精品久久久久久成人小说 | 久久精品人妻一区二区三区| 91操熟女视频 | 人人操,人人液| 99久在线精品99re8| 无码免费在线观看黄色片| 日韩高清黄片| 国产一区二区视频在线播放| 天天摸,夜夜摸| 懂色av色欲av蜜臀av| 美女操逼福利视频| 激激五月| 天天干1区2区在线| 亚洲 小说 欧美 激情 另类| 视频分类 国内精品| 日本在线播放不卡一区| 91人妻丝袜无码| x97av| 国产毛片片精品天天看视频| 日韩欧美字幕亚洲一区二区| 精品国产污一区二区三区| 亚洲人人夜夜澡人人爽| 大色综合| 六月丁香网| 美熟女逼导航AV操逼| 超碰97中文| 国产 丝袜 欧美中文 另类| 狠肏骚人妻| 久久久久久久97| 日韩AC| 99九九精品| 无码高清少妇久久| 国产400孕妇孕交群| 日韩人妻中文视频| 欧美青青草视频| A级国产欧美激情在线| 色五月婷婷网| 2017天天插| 五月丁香激情综合网| 97热视频在线观看| 久久香蕉国产线看观看猫咪av| 亚州乱码中文字幕综合久久久| 综合夜夜| 国产亚洲欧洲在线观看| 操逼天美3区| 情色五月天网| 欧亚乱色熟女一区二区| 久久久噜噜噜久久人妻| av天堂5| q2午夜理论片夜色av| 国产少妇高潮| 天天综合欧美| 色色99| 一类无码操逼视频| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 色婷婷久久| 亚洲 欧美综合| 理论久久婷婷网 8| A片大香蕉在线| 最新国产精品| 天天干人妇| 国产丝袜一区二区三区| 一区二区三区机械有限公司| 九七超碰| 青青操日韩| 国产女上位好爽在线| 大香焦A片| 亚洲黄色电影| WWW美腿丝袜香蕉中文| 日本色色色色色视频| 亚洲色天| 大黄片做爱的大的| 精品天堂| 97超碰中文字幕| 国产自产91区13区| 黄色视频特级毛片| 免费A片三p视频| 欧美一级特黄淫片在线观看| 国产欧洲精品亚洲午夜拍精品| 丁香九月激情| 18禁精品网站在线看| 青青久久艹| 香港成人一级视频在线青青草| 黄色性爱网网| 91快色色色色色| 久久久四区| 四虎精品永久在线观看| 91国精产品| 欧美老熟另类| 黄片aaaaa一区| 精品国产乱码| 五月婷婷丁香六月丁香| 国产丝袜欧美在线视频| 一起草高清无码| 欧美亚洲首页| 综合色欧美| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 自拍二页| 强奸抽插av| 嗯嗯,好大,好爽,好骚 | 亚洲图片日本AⅤ欧美在线| 性综合网| 亚洲国产欧美一区二区潘金莲 | 五月天开心网| 亚洲素人网| 欧美色图成人网一区二区| 亚洲免费日韩在线一区二区| 久久一留热品黄| 青娱乐大香蕉| 中文字幕第23区| 中文字幕-区二区三区四区视频中国| 超碰久久性爱| 亚洲日韩欧美一区二区| 九九九只有精品| 91成人18| 少妇xx精品| 五月丁香色情| 91性高| 天天天做天天天爱天天天爽| 五十路三区在线| 黄色香蕉视频网站一区| 欧美性爱一级操| 玖玖97综合| 亚洲色图第四色| 男人精品区| 中国大陆国产高清AⅤ毛片| 韩国一级做A片免费的| 美女黄页| 加勒比综合88| 91爆操视频| 欧洲Au麻豆| 久久精品一区一起草| 欧美亚洲激情| 激情婷婷综合久久| 日本五十路熟女一区二区| 亚洲春色激情小说| 97超碰伊人| 激情综合网五月婷婷五月天| 国产精品制服丝袜清纯唯美| 天天干天天做| 香港成人一级视频在线青青草| 国产精品69久久久久久久| AVE乱伦| AV中文在线可看| 美女被艹尤物视频| 日韩人妻精品中文字幕| 日本三级小说中文字幕| 四虎影视精品| 95人妻爽爽人人做人人澡| 超碰久在线天天做| 又大又长又粗又爽又黄| 亚洲污一污二| 亚州免费啪啪视频| 亚洲天堂情色| 一级黄色性爱A级片| 欧美色自拍| 欧美性爱一级操| 丝袜美腿射精91| 中文字幕交换人妻| 一区二区三区网站日日骚| 98久久| 人妻天天爽夜夜爽爽| 97超碰人人模人人拍人人| 精品国产一级久久| 亲子敌伦对白在线播放| 亚洲AO在线| 天天看片天天爽| 超碰 97国产熟女| 99久久久久久亚洲精品不卡| 大香蕉欧美国产日韩高潮| 国岛片视频| 亚洲欧美在线丝袜| 五月天色电影| 99视频精品| 亚洲欧美一区二区网址| 男人的天堂日韩| 亚洲色图大香| 五月天婷婷在线看 | 后入式视频国产自| 岛国成人av在线播放网址| 欧洲精品二区| 啊嗯嗯啊好大好爽| 在线啊啊啊啊| 手机在线人成免费视频| 亚洲影院成人| 久久久久久999| 国产第二页| 午夜情侣自拍网站| 天天拍天天操| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 亚州精人品大香蕉| 在线无码网站| 国产成人欧美精品在线| 午夜操操操| 丝袜美女诱惑 91 视频| 天天香香欲综合| 大香蕉伊人色偷偷在线| 久久婷婷影院| 日韩欧美经典在线观看| 最新日本中文字幕| 爱爱动态60秒| 亚洲天堂欧美| 九九精品网| 天堂av最新电影网| 久久夜夜夜| 色婷婷成人综合| 久久侵犯人妻爽爽爽| 欧美亚洲日本视频久久久 | 狠狠操综合| 91操人| 亚洲中文国际强奸字幕| 97视频在线播放| 蜜臀99久| 少妇淫妇久久久久久久| 色吊丝 日日骚 清纯唯美| 91爱欧美| 台湾佬大香蕉| 亚洲Av诱惑| 亚洲国产91精品一区二区久久| 色香欲综合| а√天堂资源官网在线资源| 亚洲色图欧美色图日韩色图| 国产精品一区二区 尿失禁| www黄片免费看com| 影音先锋国产精品| 91狠狠综合久久久久久| 精品无码一区二区三区| 亚洲导航深夜福利| 欧美黄色大香蕉一区二区| 日韩一级欧美一级在线观看| 97AV爱| 传媒免费一区二区三区| 性感美女91影视| 日本中文字幕在线视频| 六月激情婷婷| 亚洲欧美精品福利在线| 人人操我人人干| 婷婷丁香五月天综合东京热| 亚洲色鬼| 91操熟女视频| 日韩亚洲精品一区二区| 夜夜爽77777| 国产日韩欧美| 97精品免费视频网站| 这里只有精品视频在线观看麻豆| 九九久久99| 情色五月天网| av操操不卡| 岛国毛片在线观看免费| 玖玖在线视频| 精品成人女人久久| 国产精品爆乳懂色蜜乳| 亚洲日韩成人性爱视频| 日日日骚女人精品| 国产极品粉嫩馒头一线天av| 青青11操操操操操操操操| 九九九久| 综合五月婷婷| 欧美在线中M| 国产无码高清操逼视频| 少妇 综合| 伊人九九九| 97色碰| 美女91网| 内射白嫩美女| 日韩熟女三十乱伦| 日韩三级在线观看mp4| 久久精品国产亚洲AV先锋| 国产精品久久久亚洲一区| 殴美性天天| 亚洲18禁| 人人操人人摸人人看人人插| 欧美少妇性乱| 久久久国产三级黄色片| 密臀成人视频久久久| 亚洲人人操| 国产精品一区二区a| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 啊啊啊慢点| 亚洲精品九九九| 欧美aaaaaaa| 久久精品一区二区三区蜜桃臀| 亚洲AV秘无码一区..| 日本久久综合| 99自拍视频在线| 日本护士高潮| 四虎影视永久在线免费| 蜜桃丰满熟妇av无码区不卡| 天天肏夜夜肏| 国产性久久久| 男人亚洲天堂| 成人一区二区三区四区| 久久久久久久人妻| 性爱网站一区二区| 人妻第一页| 婷婷情色五月天| 午夜大香蕉| 色婷婷视频| 人人弄人人摸| 嗯嗯不要视频| 久久久久九九九九九| 好湿好紧好爽 视频| 操逼1区| 亚洲 中文字幕 精品| 五月天日日操夜夜操| 91性高| 色狠人在线99| 麻豆2区1区天美| 大香网伊人久久综合| 太久视频| 欧美人妻久久精品二区三区| 中文字幕,人妻,日韩| 超碰天天去日穴| 德国一二三不卡| 日本免费不卡二区| 欧美色九九九| 91美女视频在线| 老鸭窝亚洲毛片| 偷拍伦理视频| 色综合91| AV中文在线| 久久AV无码网址| 午夜精品探花| 99re国产中文字幕| 日韩精品一区二区三区四虎影视| www.久久爱| 玖玖视频在线资源一区二区三区| 六六久久日韩不卡| 玖玖综合色| 亚洲男人的天堂AV| 呦女网站| 人妻丝袜一区二区三区在线| 久久婷婷五月综合| AAA久久| 丁香激情网| 99久久久无码| 亚洲日韩熟女人妻高清在线| 婷婷10月天青娱乐| 国产第11页| 亚洲同性aV综合| 999精品国产高清一区二区| 999亚洲国产视频| 25国产精品免费观看| 真实高潮91| chaopen97久久| 999国产精品999久久久久久| 级做a爱无码性色永久免费| 能在线播放的国产三级| 中文字幕五区| 丝袜天堂网| 中文字幕天堂在线| 九九热超碰| 激情小说五月天| 九九人妻| 夜色91| 日韩本不卡视频在线观看 | 自拍亚洲综合| 亚洲美女AV无码| 国产小黄片在线免费观看| 久久色人体| 伊人久久亚洲色欲综合网站| 7月婷婷综合| 国产精品欧美激在线| 亚洲人妻久久| 乱精品一区字幕二区| 97资源久久| 中日韩久久久| 天天插夜夜爽| 亚洲啪AⅤ永久无码| 亚洲 欧美都市激情| 2017天天操天天日| 大香蕉综合| 激情五月天校园春色网| 国产精品无码av嫩草| 91真人天天在线| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 97在线免费视频观看| 国产极品一区二区三区三州| 青青草玖玖爱| 国产69精品久久久久99尤物| 极品色电影院| 亚洲综合射| 国内精品久久人妻性色av| 欧美九9 9 9| 97资源站国产精品| 大香蕉亚洲中文| 色天欧美| 婷婷色色五月| 亚洲综合影院| 亚洲天堂第一页| 亚洲精品影视老司机| 女上位精品在线| 日本午夜久久电影| 欧美综合网在线| 久久伊人大香蕉| 国产精品久久久| 歐美性天天| 色婷婷丁香| 免费精品国偷自产在线在线| 大香蕉欧美国产日韩高潮| 在线97视频| 天美欧美国产| 婷婷久久综合久| 日本成a人v网站在线观看| 欧美色图在线视频少妇| 啊啊啊啊啊在线观看网址 | 日韩无码一级黄色av片| 搡老女人老91妇女熟女| 亚洲精品丝袜-不卡成人免费……| 色哟哟综合| 亚洲色图A| 国产精品天干天干综合网麻豆| 1024人妻| 亚洲九月丁香| 岛国免费黄色网址| 天天日天天干天天操| 亚洲天天影视色综合| 日韩伦理视频| 韩国一级婬片A片AAAAA| 天天草夜夜草高潮片| 超碰免费人妻在线| 97久久久久久久久久| 色眯眯射| 亚洲熟妇无码一区二区三区| www久| 97最新在线播放视频| 日本天天操| 91高清无码下载| 国产精品999zyz| 欧美性爱第一页久久| 在线a亚洲视频播放在线| 日韩精品-原创伙伴| 2017天天插| 蜜桃久久一区二区| 秋霞网—男女啪啪亚洲免费体验区| 97色色色| avav青青草久久夜| 天天干天天做| 亚洲天堂性爱| 宅男午夜在线视频| 97超碰久久色| 美国三级日本三级久久99| 九九九九九九九| 四虎精品亚洲| 三级日韩一区二区三区| 中文字幕高清精品一区| 围产精品一区二区三区视频播放| 日韩欧美中文| 女色视频社区| 九九夜精品九九在线| 91精品操美女| 成人毛片免费| 人人操人人搞人人草| blacked精品一区国产| A V视频日本| 亚洲欧洲另类| 很很很很操| 丰满人妻一区二区三区四区| 国产精品爱欲| 婷婷色色五月天| 91欧美美女日韩国产婷婷| 青青草女人天天干| 日韩精品中文字幕人妻| 午夜国产成人福利视频| 蜜臀99999| 999久久久九九九九| A 天堂在线观看视频| 日日天天久久啊啊aaa| 久热伊人| 日韩精品在线观看网站| 青苹果影院男人的天堂| 天堂资源站| 熟妇xxxxx性春色| 天天爽天天操| 5252色欧美在线男人的天堂| 精品国产人成在线| 亚州久久9| 啊v在线观看视频| 婷婷深爱五月| 亚洲日本大香蕉1| 欧美日韩操逼动图| av婷婷色网| 亚洲春色一区二区三区| 殴美,日韩国产伦精品| 青草精品视频日本久久久久网站在线| 天天干人人乐| 91黑丝美女| 久久中文字幕不卡人妻| 999久久久久久久精| 神马午夜久久| 国产精品制服丝袜中文字幕日韩一区二区三区| 超碰97护士| 日韩无码AB| 91日韩在线| 免费看黄片现成| 天天热精品| 99热超碰| 天天干美少妇一区| 成人天天爽| 亚洲天堂人妻一区二区| 午夜福利区| 奇米狠999| 精品人妻视频一区二区在线播放| 91性高潮久久久久久久久| 天天躁日日躁狠狠狠躁| 日韩在线观看中文字幕视频| 亚洲自拍97| www.久久爱| 国产精品日韩在线一区| 97色97干| 东北老女人的激情视频| 久久东京热成人| 亚洲无码AV九九九| 激情四射五月天| 天堂а√在线最新版在线| 亚洲视频一二区| 国产精品亚洲高清在线| 亚洲日韩久久精品一区| 操逼逼福利视频| 少妇久久久免费| 免費黃色視頻觀看一| 日本幼女18+| 一区二区偷拍拍视频| 成人久久久| 另类综合另类| 日韩欧美午夜一区二区| 久草在| 99久久久er直播网址| 亚洲欧美变态| 91婷婷伊人狠人| 视频国产成人精品日本亚洲18| 厕所偷拍在线| 亚洲阿v天堂无码z2018| wuyechaopeng| 日韩熟妇二区| 国产AAAAAABBBBB| 青操影院| 熟妇熟女视频一区二区三区| 日本潮催一卡操| 欧美日韩国产人人| 日本久久精品| 亚洲啪啪视频免费| 茄子社区国产精品| 丰满翘臀美女影院视频| 天天色,天天干,天天干| 久久久久久加勒比| av亚洲天堂资源网站| 国产小视频91| 91精片| 欧美国产操逼| 国产精品青青草| 思思热国产在线视频| 啊啊啊啊好疼| 欧美日韩大陆黑人少妇99| 色情五月综合婷婷| 操逼无码操逼| 老熟乱一区二区三区四区| 日韩欧美成人大香蕉| 欧美成人黄网色网站| 另类图片综合| 2020中文字幕在线| 99999精品成人| 黄片www.| 精品国产一区二区三区四区在线看| 东京热毛片调教| 成人热久久精品| 亚洲男人天堂2019| 留下AⅤ黄色片| 香蕉国产精品麻豆亚洲欧美日韩| 骚鸭AV| 超碰夫妻97| 内射日韩大臀美女| 日韩在线观看中文字幕视频| 女同女同恋久久级三级| 久久97| 91制服丝袜| 国产后入清纯| 美女主播色欲91抠b在线播放| 啪啪啪大香蕉| 五月天婷精品激情| 天天草夜夜草高潮片| 综合久久97| 91欧美经典| 夜夜国自区| 中文字幕久久亚州无码| 99re69综合| 青青草在线成人视频| 99热18| 国产 丝袜 欧美中文 另类| 国产精品干干干| www.yeyecao| 亚洲欧美日韩制服另类| 午夜精品久久久| 清纯唯美激情| 国产国产亚洲一二三久久| 午夜AV污污污| 97精品中文字幕| 夜夜操一区二区| av一区二区三区四区五区久草臀| 精品v1区| 日韩精品高清资源在线| 欧亚乱色熟一区二区三四区| 丝袜美腿诱惑亚洲欧美视频在线观看 | 四季av一区二区凹凸精品小说| 欧美亚洲日韩16色| 99热精品国产| 久久精品视频28| 老师充足的奶水小说| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 久久久久久久久九九久孕交| 欧洲Au麻豆| 日欧美色| 亚洲天堂自拍| 东京热av男人的天堂| 久久久性爱视频| 欧洲精品一区二区三区| 一区二区三区四区久久视1| 69人妻精品丰满熟女区| 美欧老女人97| 色欲色香天天天综合网www-亚洲综合国| 91美乳| 亚洲诱惑| 后入式999| 亚洲天天自拍| 亚洲综合97| 国产午夜精品在线观看| 欧美真人抽搐一进一出gif| 欧美激情性久久久久久| 久操凹凸视频| 8050午夜少妇无码| 亚洲操人| 欧美一级三级| 自拍丝袜美腿人妻| 素人无码中文字幕| 亚洲色图欧美色图在线播放| 精品97久久| 午夜美女福利视频| 人妻啪| 牛牛aV| 亚洲有码 视频一区| 97亚洲资源| 中文字幕欧美日本乱码一线二线 | 久久成年精品| wuyechaopeng| 春色综合网| 婷婷干黄色| 极品色www影院| 国产馆极品诱惑| 天堂射| 十八禁黄色| 无码人妻精品一区二区三区99不卡 | 亚洲AV不卡在线观看| 骚女天天综合网| 久久综合国产精品国产| 性爱1区| 伊人青青一区成人视频在线观看区| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 97天天操天天干| 精品制服美女中文一区二区三区| 大香蕉综合网| 国产精品欧美日韩久久| 天天舔天天| 欧美青青视频| 600国产精品视频| 一区二区三区亚洲| 99精品久久| 青青草色插素人| 人妻铁牛TV| 欧美性巨大╳╳╳╳╳高跟鞋| 2020视频1区2区3区| 欧美韩日精品资源| 九热中文字幕| 精品黑人一区二区| 色婷婷综合久久久久中文一区二区 | JULIA人妻风俗店中出电影| 韩国毛片一区二区三区| 秋霞一集毛片观看| 久久xx| 99re在线视频| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚洲第一视频 欧美风情 日韩| 精品无码一区二区三区| 五月激情在线| 懂色av中文字幕一区二区三区天美| 操一操摸一摸| 99视频在线| 超碰免费欧美7| 欧美日韩国产成人高清| 婷婷色在线| 91精品人妻五十路| 亚欧性爱无码| 嗯嗯啊啊操死我| 啊啊啊好大好深| 秋霞影音一区二区三区| 91夜色chaopeng| 91情色| 五月综合色| 人妖欧美一区二区| 精品一区二区综合熟妇| 久久久婷婷| 91香蕉国产尤物视频| 亚洲操操| 91N综合网| 黄片不用下载在线观看| 国产视频大全| 99久久久无码精品国产人| 国产日韩精品一区二区三区| 我想要 啊 啊 啊| 欧美操人| 91色欧美| 大香网伊人久久综合| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 亚洲精品中文字幕一区在线视频| 久久日本熟妇熟色高清| 欧美Aⅴ| 蜜臀AV成人精品蜜臀AV久久| 偷拍精品一区二区三区| 91在线页| yiqicaoav| 蜜臀AV一区二区三区激情综合| 蜜桃久久一区二区| 99精品无码| 91老司机在线| 亚洲 欧美 91| 欧美 亚洲 第一页| 婷婷日韩一区二区三区中文字幕在线| 久久久亚洲精品中文字幕人妻| www…国产操逼| 夜夜国自区| 久久曰曰| 我想要 啊 啊 啊| 久久久久久久久久久六六| 亚洲加勒比| 国产精品久久久久久夜夜夜| 久艾草在线精品视频在线观看| 日韩传媒在线| 岛国大片在线观看网站入口| 色老久久| 九九色精品| 91狠狠综| 麻豆AV96熟妇人妻| 404操逼福利视频| 欧美97av| 色综合美国| 天天懆天天日| 黑人精品久久97| 天天色综合天天操| 欧美综合亚洲综合| 操我啊啊啊啊啊| 波多野结衣被操50分钟免费视频| 天天操天天日天天干| 四色永久成人网站| 在线视频97| 另类av综合久久| 岛国成人av在线播放网址| 火箭成精品视频884必出精品| 久久欧洲| 欧美在线播放aaaa| 国产视频人人网| 欧美影音在线| 97人人操人人干| 欧美gv在线观看| 欧美亚洲清纯| 久久久久日本视| 国产精品久久久久久久毛片1| 老熟乱一区二区三区四区| 亚洲成人一二三区| 国产亚州高清国产拍精| 色欧洲| 中文字幕诱惑制服人妻丝袜美丝袜美| 香蕉综合网| 操逼天美3区| 在线视频资源| 99热 按摩 日韩| 亚州国产精品乱| 人人操人人插人人摸人人干| 中韩中文字幕在线观看| 中文字幕天天操| wwwss在线观看| 欧美精品日韩久久久九| juliaann丝袜| 国产和美国毛片| 91精品电影18| 91干熟女| 九九视频黄色片| 日本不卡一二区| 好爽免费视频,| 成人精品电影| 综合一区中亚洲国产成人综合精品| 黄片视频观看| 日韩本不卡视频在线观看| 久久精品视频在线观看| 精品久久視頻在线| 黑人精品成人一区二区三区| 午夜男女爽爽爽影院视频| 欧美亚洲首页| 无码操逼天堂| 97 国产一区| 97午夜剧场日韩| 强奸a片网| 午夜一区二区三区国产| 亚洲阿v天堂在线| 9I1性色影院| 日韩中文字幕精品一二三事国产精品| 国产污视频麻豆传媒一区二区| 开心激情站| 超碰精品在线| 丝袜美腿制服人妻二区中文字幕| 日韩免费三级黄片电影| 欧美天天性| 97亚洲色图| 老鸭窝成人| 啊啊啊啊好大好硬啊啊啊啊啊| 亚洲蜜臀懂色| 久久不卡一区二区| 中文字幕二区日韩天堂| 亚洲人妻av| 亚洲综合成人网| 人人看人人摸人人色| 93人人操人人| 亚洲中文一区二区三区| www.久久制服糖| 狠狠色伊人亚洲综合网站色| 精品国产一区探花在线观看| 97天天日| 中文乱码字幕观看视频| 日韩欧美女求操每天更新| 久久久一二三四区| 中文字幕免费看| 超碰在线1234区| 亚洲人人夜夜澡人人爽| 人妻熟女一区二区| 97久久国产亚洲精品超碰热| 综合激情一一91| 激情婷婷丁香| 在线小说视频一区| 久久亚州大香蕉| 懂色AV网| 99999久久精| 91亚洲人| 1769成人国产精品视频| 欧美不卡五十路| 波多野结衣AV无码一区| 18禁无码永久免费无限制| 伦激情人妻另类人妻| 伊人黄色片| 伊人久久综合精品欧美| 51一区二区三区| 在线观看精品国产免费| 亚洲精品成人激情在线| 99热精品在线观看| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 日本精品九九九| 久久精品无码熟妇一区二区三区视频导航| 欧美性五月| 男人综合网| 国产精品久久| 搡老女人911熟妇老熟女| 日本操逼视频不卡直接放| 日韩无码黄色片| 国产精品青草综合久久| 亚洲熟妇极品| 国产精品网站免费| 亭亭在线资源| 久久久久久久9999| 亚洲麻豆av一区二区| 懂色av色欲av蜜臀av| 国产av尤物| 超碰97 线线 在现| 美女裸体无遮挡永久免费观看网站| 一区AV| 日韩乱伦影音先锋| 99久久网站| 国产夜夜艹| 青青青草伊人精品| 亚洲熟女诱惑| 日韩操逼性鲍| 日韩黄色一区二区三区| 欧美少妇熟女| 欧美色日本| 青青草大香蕉视频| 日本性感人妻91| 深夜激情无码| 亚洲精品97在线| 99热国产精品| 大香蕉一级黄色片久久| 日韩视频啪啪| 国产青一二三|