色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

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

J2ME雷霆戰(zhàn)機(jī)源碼:功能機(jī)飛行射擊主循環(huán)、對象池與真機(jī)適配 簡介JAVA ME 經(jīng)典飛行射擊游戲《9688雷霆戰(zhàn)機(jī)》的個人移植源碼包面向希望從實(shí)戰(zhàn)代碼理解 J2ME/MIDP 移動游戲開發(fā)的入門與進(jìn)階學(xué)習(xí)者。內(nèi)容圍繞 MIDlet 主類入口、GameLoop 游戲循環(huán)、飛機(jī)/敵機(jī)/子彈對象模型、碰撞檢測與狀態(tài)機(jī)管理展開并涉及 Canvas 繪圖、鍵盤或觸摸事件響應(yīng)、圖像預(yù)加載及音頻播放等環(huán)節(jié)可幫助讀者建立較完整的小型移動游戲框架認(rèn)知。壓縮包約 4.4MB文件總數(shù)顯示為 0、類型明細(xì)暫未提供源碼與工具屬性較明確包體以完整工程移植內(nèi)容為主。已有 1139 人學(xué)習(xí)或下載說明其在同類 J2ME 學(xué)習(xí)材料中有一定參考熱度。通過閱讀和調(diào)試這套移植代碼讀者可揣摩幀率控制、內(nèi)存分配與資源緩存等受限設(shè)備上的優(yōu)化思路也能練習(xí)代碼閱讀、問題定位和模塊拆解方法適合作為課程設(shè)計或個人練手的對照樣本。1. 一臺舊功能機(jī)里的飛行射擊這套 J2ME 雷霆戰(zhàn)機(jī)源碼在跑什么手里那臺 240×320 的舊按鍵機(jī)還能開機(jī)但能裝進(jìn)去的游戲已經(jīng)不多了。這份個人移植的 J2ME 雷霆戰(zhàn)機(jī)源碼做的事就是讓一臺 Java ME 功能機(jī)重新跑起完整的豎版飛行射擊——飛機(jī)左右穿梭、子彈成排往外噴、敵機(jī)一波接一波分?jǐn)?shù)寫進(jìn) RMS關(guān)機(jī)再開還在。整套工程不依賴任何第三方游戲引擎全靠 MIDP 自帶的 Canvas、GameAPI、RMS 和 Media API 拼起來用老式的 J2ME 開發(fā)工具包WTK導(dǎo)入就能編出 JAR。它適合三類人手里有舊機(jī)器想復(fù)刻點(diǎn)東西的、想看清 J2ME 游戲主循環(huán)到底怎么寫的、以及接手了一個老 JAR 要做二次開發(fā)的。代碼量不大但結(jié)構(gòu)完整從 MIDlet 生命周期到子彈對象池回收都留著清晰的切口改起來不用翻半天。2. 工程骨架與目錄結(jié)構(gòu)MIDlet 入口、Canvas 主循環(huán)和資源怎么擺先看骨架。J2ME 項目和普通 Java 工程最大的差別在于它必須有一個明確的「應(yīng)用入口」和一份聲明式的描述文件打包器靠這兩樣?xùn)|西才能把一堆 class 變成一個能裝進(jìn)手機(jī)的 JAR。2.1 一份能直接導(dǎo)入 WTK 的目錄長什么樣這套源碼的目錄是標(biāo)準(zhǔn)的老式 J2ME 布局沒有 Maven 也沒有 Gradle純靠 IDE 的工程描述和 Ant 腳本src/ com/game/midlet/GameMIDlet.java MIDlet 入口管生命周期 com/game/core/GameCanvas.java 主循環(huán)、按鍵、繪制 com/game/core/Entity.java 實(shí)體基類坐標(biāo)/速度/半徑 com/game/core/BulletPool.java 子彈對象池 com/game/core/EnemyManager.java 敵機(jī)波次調(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ī)范里唯一被強(qiáng)制支持的位圖格式別指望塞 JPG 進(jìn)去。Game.jad是 Java 應(yīng)用描述文件很多機(jī)型在安裝時會先讀 JAD 再決定要不要下載 JAR里面的字段和 MANIFEST 必須對得上。2.2 MIDlet 生命周期startApp 里只做一件事入口類承擔(dān)的工作比想象中少。J2ME 的 MIDlet 有startApp、pauseApp、destroyApp三個狀態(tài)回調(diào)最容易踩的坑是把資源加載和線程啟動都堆在startApp里結(jié)果用戶按了掛機(jī)鍵再切回來第二份線程就起來了畫面越跑越快。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(); // 素材只在這里加載一次全部進(jìn)靜態(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(); // 掛機(jī)就停線程省電 } 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標(biāo)志置 false 并讓線程自然退出循環(huán)不調(diào)Thread.stop()——那個方法在 CLDC 上行為不確定屬于血淚經(jīng)驗(yàn)。參數(shù)上notifyDestroyed()是告訴運(yùn)行環(huán)境「我自己要退了」必須主動調(diào)否則部分機(jī)型會認(rèn)為應(yīng)用異常退出并彈提示。Res.loadAll()放在 Canvas 創(chuàng)建之前保證第一幀繪制時所有Image都已經(jīng)就位避免第一幀出現(xiàn)空指針。2.3 JAD 與 MANIFEST 里的關(guān)鍵字段JAR 裝不上手機(jī)八成是這兩個文件的問題。核心字段就這幾個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的格式是「顯示名, 圖標(biāo)路徑, 入口類全名」三段用英文逗號加空格分隔少一個空格某些機(jī)型就解析失敗。MicroEdition-Configuration和MicroEdition-Profile直接決定了這臺機(jī)器愿不愿意裝你的包寫 CLDC-1.1 意味著放棄 CLDC-1.0 的老機(jī)器寫 CLDC-1.0 則用不了浮點(diǎn)和部分集合 API。這套源碼選了 CLDC-1.1 MIDP-2.0是個務(wù)實(shí)的取舍——覆蓋不了最早那批單色機(jī)但換來了Image.createRGBImage和Manager這些必備能力。# 老式 WTK 的標(biāo)準(zhǔn)打包流程三步缺一不可 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 獨(dú)有的它在每個 class 里插入棧映射信息供設(shè)備上的 KVM 做字節(jié)碼校驗(yàn)。跳過它模擬器可能照跑真機(jī)上直接報校驗(yàn)錯誤。構(gòu)建腳本里把它寫成 Ant 的一個exectarget 就行別手動敲命令太長容易漏 classpath。3. 核心玩法拆解從主循環(huán)到子彈與敵機(jī)的碰撞判定骨架搭好之后真正決定手感的是主循環(huán)和實(shí)體管理。這部分代碼不多但每一處都能直接換成「卡不卡」和「判定準(zhǔn)不準(zhǔ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功能機(jī)的舒適區(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 幀這是老機(jī)器的甜點(diǎn)值。往 30 幀調(diào)33ms不是不行但繪制一幀如果超時System.currentTimeMillis()的差值會越滾越大表現(xiàn)為「走兩步卡一下」。差值累積的處理方式是不補(bǔ)幀直接把lastTick重置到當(dāng)前時間寧可掉幀也不讓邏輯跳步。volatile修飾running是因?yàn)檫@個字段跨線程讀寫沒有它暫停指令在部分虛擬機(jī)上不會被主循環(huán)看到。repaint()加serviceRepaints()連用是 Canvas 的經(jīng)典寫法前者只是把重繪請求丟進(jìn)事件隊列后者強(qiáng)制同步執(zhí)行到paint完成。少寫后面那一句畫面會滯后一到兩幀彈幕密集時感覺特別明顯。3.2 實(shí)體與對象池別讓內(nèi)存在彈幕里抖射擊游戲最怕的不是算力不夠是 GC 在關(guān)鍵時刻來一下。一局下來幾千發(fā)子彈如果每發(fā)都new Bullet()CLDC 上那個小堆幾秒鐘就撐不住。這套代碼的解法是固定容量對象池一次分配永不擴(kuò)容。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; // 池滿直接丟棄絕不擴(kuò)容 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ù)用。因?yàn)槭堑剐虮慌策^來的那個元素索引一定小于當(dāng)前的i下一輪不會重復(fù)處理。如果寫成正序挪過來的元素會被跳過子彈就「穿?!癸w過去不消失。capacity的取值我一般按「最壞情況下屏幕同屏子彈數(shù)」的 1.5 倍來定這套代碼給的是 64。滿池時丟棄而不是擴(kuò)容這個設(shè)計是刻意的——寧可少一發(fā)子彈也不能在戰(zhàn)斗中觸發(fā)一次數(shù)組復(fù)制。敵機(jī)那邊同理EnemyManager里也是固定數(shù)組加波次調(diào)度不用Vector。3.3 碰撞判定圓形距離平方比矩形更貼合彈幕判定用矩形包圍盒是最省事的但豎版射擊游戲里機(jī)身窄、彈幕斜飛矩形框會在視覺上明明沒碰到的時候判定命中玩家感受很差。這套代碼用的是圓形判定只比較距離的平方省掉開方。public class Entity { public int x, y; // 左上角坐標(biāo) 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 倍這叫「寬容判定」玩家被擦彈擦過去不算死手感會好很多。自機(jī)受傷判定要比敵機(jī)更小一圈因?yàn)樽詸C(jī)是玩家唯一在意的對象判定越寬容越舒服而敵機(jī)被打中的判定可以放大到 1.0讓射擊更有反饋感。syncCenter必須在坐標(biāo)變化后調(diào)用或者干脆把cx/cy算成x halfW的 getter避免忘了同步導(dǎo)致判定錯位——這是個特別隱蔽的 bug畫面上全都對就是打不中。每幀的檢測順序是自機(jī)子彈 × 敵機(jī) → 敵機(jī)子彈 × 自機(jī) → 敵機(jī) × 自機(jī)。前兩組是 O(m×n) 的雙層循環(huán)靠數(shù)量控制子彈池 64、敵機(jī)池 24保證在 CLDC 上也不卡。想再省一點(diǎn)可以按屏幕縱向分三段只跟同一段內(nèi)的對象比實(shí)測能砍掉約六成計算量。3.4 敵機(jī)波次與難度曲線波次調(diào)度沒寫成狀態(tài)機(jī)用的是一個很土但好調(diào)的結(jié)構(gòu)數(shù)據(jù)表加游標(biāo)。// 每一波起始時刻(ms)、敵機(jī)數(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追蹤自機(jī) };把難度寫成表的好處是調(diào)平衡的時候不用改代碼邏輯。想讓它更兇把間隔從 800 調(diào)到 500、數(shù)量加兩架重新編譯就行。游標(biāo)推進(jìn)的邏輯在EnemyManager.update里當(dāng)前波次的生成數(shù)量耗盡且場上敵機(jī)清空后才推下一波中間留一段空窗給玩家喘氣。這個「清空再推進(jìn)」的條件如果不加波次會疊在一起第三關(guān)就能直接勸退。4. 屏幕與按鍵適配跨機(jī)型移植最容易翻車的一層同一份 JAR在 128×160 的機(jī)器上正常在 240×320 的機(jī)器上飛出屏幕在 176×208 的機(jī)器上按鍵全亂——這是移植 J2ME 游戲最典型的一天。適配層不做前面寫得再好也白搭。4.1 分辨率適配邏輯坐標(biāo)系加一次性重采樣MIDP 的drawImage不支持縮放這是硬約束。想畫一張能適應(yīng)多種屏幕的圖只有兩條路運(yùn)行時自己重采樣或者按固定邏輯分辨率畫、四周留黑邊。這套代碼兩條都用了。先看繪制時的坐標(biāo)系換算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(); // 以邏輯分辨率為基準(zhǔn)計算居中偏移不做非整數(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); // 之后所有繪制都用邏輯坐標(biāo) 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這個組合是整段的核心。邏輯坐標(biāo)統(tǒng)一按 240×320 算屏幕比它大的時候居中兩邊鋪深色底比它小的時候裁剪掉邊緣保證玩家不會被看不見的敵機(jī)打死。translate必須成對還原否則 HUD 和后續(xù)的全屏效果會畫到偏移位置上去這個 bug 排查起來特別費(fèi)勁因?yàn)檫壿媽拥臄?shù)據(jù)全是對的。屏幕比邏輯分辨率大的時候如果就這么留黑邊會很丑。更徹底的做法是啟動時把整套素材按比例重采樣一次// 啟動時按目標(biāo)尺寸把素材重采樣一遍運(yùn)行時零開銷 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 上沒得選——雙線性要浮點(diǎn)運(yùn)算CLDC 1.0 直接不支持。createRGBImage的第四個參數(shù)processAlpha傳true才會保留透明通道傳false會得到一張黑底圖這個參數(shù)值錢。重采樣只發(fā)生在啟動時算力代價可以接受千萬別放進(jìn)paint里一幀幾次重采樣能讓幀率掉到個位數(shù)。4.2 按鍵映射getGameAction 的返回值不一定靠得住Canvas.getGameAction(keyCode)理論上把物理鍵翻譯成UP/DOWN/LEFT/RIGHT/FIRE這些抽象動作實(shí)際上部分機(jī)型對方向鍵返回 0還有一批機(jī)器把方向鍵直接映射成數(shù)字鍵 2/4/6/8。只寫 switch 不寫兜底用戶會發(fā)現(xiàn)飛機(jī)紋絲不動。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: // 兜底部分機(jī)型方向鍵不映射游戲動作只報數(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ù)功能機(jī)的鍵位習(xí)慣。還有個更細(xì)的問題某些機(jī)器的左軟鍵對應(yīng)-6、右軟鍵對應(yīng)-7取值是負(fù)數(shù)用getGameAction同樣返回 0需要單獨(dú)判斷。別指望一次寫完全部機(jī)型最實(shí)際的做法是在游戲里塞一個隱藏的「按鍵調(diào)試」界面把keyCode和getGameAction的返回值直接打在屏幕上裝機(jī)實(shí)測時看一眼就知道該補(bǔ)哪一行。4.3 觸屏與鍵盤雙支持MIDP 2.0 之后不少機(jī)器有了觸摸屏。這套代碼同時實(shí)現(xiàn)了pointerPressed但它不直接和鍵盤邏輯混在一起而是把觸摸坐標(biāo)換算成邏輯坐標(biāo)后交給同一套移動接口protected void pointerPressed(int px, int py) { int lx px - offsetX; // 屏幕坐標(biāo) - 邏輯坐標(biāo) int ly py - offsetY; if (isInsideFireButton(lx, ly)) { player.fire(); } else { player.moveTo(lx, ly - 20); // 手指上方留 20 像素別被手指擋住 } }py - 20這個偏移量是上手之后改的手指落點(diǎn)和玩家以為的位置有偏差直接moveTo會讓飛機(jī)貼著手指下沿。操作方式上鍵盤機(jī)是「按住方向鍵持續(xù)移動」觸屏是「拖哪走哪」兩套邏輯共用player.moveTo和player.moveBy兩個方法互不干擾。5. 避坑與排查真機(jī)上那五個最想砸手機(jī)的瞬間模擬器跑通只是開始真機(jī)才是驗(yàn)收場。以下五條都是這套源碼在移植過程中實(shí)際遇到過的問題按「現(xiàn)象、原因、解決」的順序?qū)懹龅酵钪苯映?.1 白屏與花屏圖片和屏幕尺寸的坑現(xiàn)象一模擬器正常裝到真機(jī)啟動后一片白幾秒后自動退出。原因基本鎖定在圖片資源上——導(dǎo)出的 PNG 帶了 32 位 alpha 通道或者用了真機(jī)解碼器不認(rèn)的非索引色格式。CLDC 上的 PNG 解碼器實(shí)現(xiàn)差異很大越老的機(jī)器越挑。解決辦法是把所有素材重新導(dǎo)出成 8 位索引色 PNG透明部分用純色鍵比如 0xFF00FF填充繪制時用drawRegion配合色鍵摳掉同時把單張圖控制在 128×128 以內(nèi)部分機(jī)型對單圖尺寸有硬上限?,F(xiàn)象二畫面能出來但整體偏到一邊右邊一條黑。這是getWidth()返回的寬度和實(shí)際可視寬度不一致導(dǎo)致的某些滑蓋機(jī)在合蓋狀態(tài)下報的是內(nèi)屏寬度。解決方式是在sizeChanged(int w, int h)回調(diào)里重新計算偏移量而不是在構(gòu)造函數(shù)里算一次就存成常量。這個回調(diào)在屏幕旋轉(zhuǎn)和開合蓋時都會觸發(fā)是唯一可靠的時機(jī)。5.2 崩潰與內(nèi)存CLDC 的 API 紅線現(xiàn)象三玩到第三關(guān)黑屏退出日志里是OutOfMemoryError。兩個來源一是每幀new實(shí)體二是同一張圖被反復(fù)Image.createImage加載。前者的解法是第 3 章講的對象池后者更隱蔽EnemyManager里每種敵機(jī)如果各自加載一次貼圖同屏五架就是五份位圖在堆里。正確做法是建立Res類在startApp里把所有Image一次性 load 進(jìn)靜態(tài)字段之后全局共用同一份引用?,F(xiàn)象四編譯通過真機(jī)一運(yùn)行就NoSuchMethodError。說明用了 CLDC 1.0 里沒有的 API但編譯時的 classpath 指向了 CLDC 1.1 的庫。常見嫌疑人是Float.valueOf、String.format、java.util.regex和Collections.sort的部分重載。查法很簡單把工程配置里的 Configuration 改成 CLDC-1.0 再完整編譯一次編譯不過的地方就是雷區(qū)。真要用浮點(diǎn)就自己用整數(shù)放大一百倍來模擬別賭目標(biāo)機(jī)型支持。5.3 交互與存檔按鍵、RMS、音效三連坑現(xiàn)象五方向鍵完全沒反應(yīng)但確認(rèn)鍵能開火。就是 4.2 節(jié)講的getGameAction返回 0加上數(shù)字鍵兜底即可。順帶一提有些機(jī)器在keyPressed里收到的是重復(fù)事件按住方向鍵會以極快頻率觸發(fā)導(dǎo)致飛機(jī)瞬移到邊界——加一個keyReleased里清標(biāo)志、keyPressed里判重的簡單鎖就能壓住。現(xiàn)象六最高分重啟后歸零。RecordStore寫完沒關(guān)是頭號原因部分機(jī)型的數(shù)據(jù)要等closeRecordStore()才落盤代碼里必須在finally里關(guān)。第二個原因是 RMS 的作用域跟 MIDlet 套件綁定改了MIDlet-Name或者換了簽名之前存的數(shù)據(jù)就等于沒了——所以名字這東西定了就別動。穩(wěn)妥的寫法是加載失敗一律返回 0存檔失敗直接吞掉異常絕對不能讓存檔問題把整個游戲拖崩。音效是同類問題里的第三顆雷。Manager.createPlayer在缺少 MMAPI 支持的機(jī)器上會拋異常甚至直接NoClassDefFoundError。整個播放邏輯必須包在 try-catch 里并且先用Manager.isTypeSupported(audio/midi)探一下不支持就靜音降級游戲照跑。6. 二次開發(fā)改造換一套美術(shù)、加一種武器之后怎么驗(yàn)證改造這套源碼最省力的順序是「先換皮、再改數(shù)值、最后加機(jī)制」因?yàn)槿叩尿?yàn)證成本是遞增的。換皮只需要看不崩加機(jī)制要玩得爽中間隔著幾十次真機(jī)重啟。6.1 換皮改動面其實(shí)只有三處美術(shù)替換不要動代碼邏輯只碰三個地方res目錄下的 PNG 文件、Res.java里的尺寸常量、Entity子類里的halfW/halfH/radius。自機(jī)的機(jī)身窄radius給 6 到 8 就夠敵機(jī)體積大可以給到 14。改完一定要把BulletPool的容量重新算一遍——新美術(shù)如果讓子彈變大同屏能容納的數(shù)量就變了池子還是 64 的話會在密集彈幕時開始丟子彈表現(xiàn)為「明明在射但打不中」。6.2 加一種武器從對象池容量到渲染順序加激光武器的最小改動路徑是這樣的在BulletPool外面再開一個LaserPool容量小一點(diǎn)8 條足夠因?yàn)樗鼈兣卸ù?、存在時間長。渲染順序上激光要畫在普通子彈下面、背景上面否則會蓋住自機(jī)。數(shù)值上激光給「持續(xù)傷害」而不是「單次傷害」就需要在Entity上加一個dmgPerTick字段配合update(delta)按毫秒累加避免高幀率時傷害翻倍。做完這一步別忘了難度曲線也得跟著調(diào)——加了強(qiáng)力武器第四波的敵機(jī)數(shù)量不漲游戲就變成割草了。6.3 真機(jī)驗(yàn)證清單改完別急著打包按這張表過一遍能省掉大量返工驗(yàn)證項怎么驗(yàn)不通過先看哪里冷啟動裝完直接開不看任何界面Res.loadAll是否在 Canvas 之前掛機(jī)切回按掛機(jī)鍵 30 秒再切回startApp的canvas null判斷滿屏彈幕打到第三波觀察是否掉幀BulletPool容量與FRAME_MS判定手感貼臉躲彈看是否被誤判radius取值與syncCenter調(diào)用存檔打出最高分退出重進(jìn)closeRecordStore是否在 finally靜音降級在不支持 MIDI 的機(jī)器上跑音效 try-catch 是否完整這套流程我從第二個移植項目開始就沒斷過。早期吃過虧模擬器上一切正常真機(jī)裝上去第一波敵人還沒出完就白屏了回頭查了整整兩天才發(fā)現(xiàn)是某張圖的 alpha 通道問題。從那以后我每次改完一個副本都強(qiáng)制在真機(jī)上把所有波次跑滿一輪再打包不管改的是一行數(shù)值還是一次換膚。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
av橘色网站| 日韩精品中文字幕一| 九九热精品免费视频| 国产欧美日本亚洲精品| 欧美性色欧美| 女同性恋中文字幕| 久久999久| 国产热RE99久久6国产精品首| 另类图片欧美激情综合| 91精品国产91熟女| 国产午夜在线观看视频| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 欧美线天码中字| 精品久久久久久中文| www.acm成人黄色毛片| 夜夜爽77777| 青草草免费网站av| 97爱亚洲| 亚州男人天堂| 97在线资源| 久久麻豆一区二区| 欧美成人都市人妻| 国产精品午夜福利| 成人免费看吃奶视频网站| 婷婷丁香成人| 久久午夜神马| 欧美草草高清日韩视频| 超碰97欧美日韩| 久久9久9久99久9久9| 久久九九综合| 午夜寂寞欧美| 精品伊人久久久大香线蕉小说| 国模无码人体一区二区三| 天天综合麻豆视频| 久久久9 9 9精品| 综合av影片| 日本 情色 1区2区3区| 777琪琪午夜免费A片| 国产久久一区二区三区野外在线| 天天干天天干天天| 天堂精品在线| 国产精品天美传媒| 干B| 福利一级版子| 嫩草 我啊~嗯~在线| 天堂涩涩| 精品视频一二三中文| 天天92av| www.伪伪| 亚洲五月婷婷| 精品国产乱码久久| 九九九九一区| 色偷综合| 97国产精品视频| 国产成人99久久亚洲综合| 亚洲天堂资源网| 欧美色www亚洲国产阿娇要播| 九九九精品成人免费视频小说| 午夜国产综合视频在线观看| 丰满人妻一区二区三区四| 综合久久97| 夜夜天天噜狠狠爱2021| 天堂蜜桃无码视频一区二区| 欧洲小说色图视频另类| 亚洲成aⅴ人片不卡无码| 美国一区二区免费视频| 97干在线| 91九色网| 四虎免费在线播放| 久久人人爽人人爽人人片Ⅴ| 亚洲国产精品99久久久| 国产性爱在线视频一区二区| 97WW精品| 男人天堂欧美| 美中韩AV综合网| av橘色网站| 欧美一级特黄淫片在线观看| 一区麻豆 高清中文字幕| 久久久久九九九九九| 91xingse| 在线国产探花| 色爱国产| 欧美色九九| 五月天婷精品激情| 天天操天天7| 91c色| 97伪v| 在线无码操| 国产自偷| 江都AV在线| 亚洲国产成人7777| 亚洲美女 晚间男人天堂 | 久久精品人体| 亚洲午夜福利在线影院| 日韩中文字幕人妻视频| 91chinese在线| 久久精品导航| 亚洲不卡三级手机播放| 岛园激情| 欧美一区二区三区不卡高清视频| 亚洲。日韩。欧美| 又大又长又粗又爽又黄| 亚州黄站| 91久久堂| 色哟哟的毛片| 国产99久久99热这里只有精品15| 亚洲图片视频小说| 91网站18在线| 国产精品亚洲高清在线| 大香蕉免| 啊啊啊啊啊啊在线观看| 亚洲诱惑| 久久综合18p| 久久鲁干| 熟女熟妇伦久久影院毛片一区二区| 免费簧片在线观看| 欧美亚洲小说| 97资源站国产精品| 黄色不卡视频| 精品久久久久瑟瑟| 久久人人妻| 亚洲一区二区性爱电影| 亚洲欧美日韩免费电影| 日韩AV色图| 婷婷人妻激情| www.99热| 亚洲欧美激情在线视频| 操逼免费视频无码国产| 麻豆精品.欧美精品.日韩精品.| 激情五月综合网| 91天堂色男人的天堂| 乱伦日本中文自拍| 欧美色视| 自拍偷拍草一草| 日韩日本欧美在线观看| 成人精品无码| 男人女人18禁片免费看网站| 啪啪视频免费在线观看| 97色碰| 俺去啦自拍| 九久9精品| 久久风骚城市| 免费视频一二三区| 91精品国产长腿丝袜美女| 国模不卡一本二本三电影| 东北黄色电影| 欧美在线色| 欧洲小说色图视频另类| 亚洲AV不卡在线观看| 大鸡巴久久| 91色婷婷综合久久中文字幕二区| 亚洲欧美电影| 亚洲97久久精品亚洲| 国产懂色精品国产av| 日韩有码中文字幕女同性恋| av无码精品久久久久| 岛国黄| 亚洲色图片区| av网站国产主播在线| 亚洲精品一二牛牛| av大香蕉| 欧美午夜视频| 日韩无码精品综合久久| www网站黄| 91xingse| 亚洲天堂一区| 日韩一级二级| 久久久久无码一妻区| 黑人娇小av在线播放| www亚洲免费| 熟女一区二区三区| 国内偷自视频区视频综合| 91精品婷婷国产综合久久竹菊| 熟女网站最新| 翔田千里一区二区三区奶水| 日本久久久久久久久| 伊人久久亚洲色欲综合网站 | 岛国福利在线精品播放| 亚洲激情网一二三四区| 人妻熟妇一区二区三区| 三级三久久线久久99久目本WW| 久久久久久久九九九九九九| 男人天堂最新手机版在线青青草| 99视频这有这里有精品| 99在线精品观看99| 亭亭丁香激情| 天天色怡春院| 亚洲美女自拍偷拍视频| 国产九九九九九九| 强奸乱伦麻豆| 五月情色天| 天天做天天爽| 91综合在线| 欧亚乱色熟一区二区三四区| 粉嫩av平台| 神马久久久久久久久久久久| 99久国产精品午夜性色福利| AV久日| 亚洲中文字母在线播放| 啊啊啊啊嗯嗯在线久久久| 久久精品一区二区三区不卡| 亚洲熟妇无码一区二区三区| 无码逼| 综合亚州欧美| 欧美变态激情网| 午夜福利免费福利视频| 日日夜夜草草草| 久久9精品网站| 丰满人妻一区二区三区四区| 欧美色图97| 超踫中文字幕| 亚洲导航深夜福利| 日韩精品人妻| 久久风骚城市| 精品一区二区三区四区女| 欧美日韩国产一区二区小黄片大全| 久久,精品一二三| 国产精品农村妇女| 欧美大片一区二区三区 | 女同性恋久久| 草莓精品视频在线免费观看| 久艹日日日| 日日玩天天干| 欧美精品 - 91爱爱| 丁香六月综合激情| 国产精品久久久久久 百度| 人人么人人操| 久久男人的天堂| 欧美色爱综合| 亚洲图片视频小说| 亚洲国产成人精品999| 污到发麻的视频 国产| 97在线青| 天天草AV| 色网亚洲人| 破处bbq| 先锋音影AV| 美国久久一二三四| 加勒比AV网| 日韩AV一区二区三区三州三州| 99re久久| 成人熟女视频一区二区三区| 激情综合97| 国产精品国产自产拍高清AV| 少妇国产不卡| 色男人色天堂东京热| 一区二区三区无卡视频在线观看| 欧美操逼录像国产黄色国产| 亚州操逼网| 成人性爱电影一区二区| 九九亚洲| 欧美日韩大陆黑人少妇99| 超碰97久久观看| 中国黄色特级精品一区二区三区片| 国产精品久久久久久久久久久久久久久久 | 亚洲视频二区 | 亚欧无码线免费观看视频| V A在线| 18禁无码永久免费无限制| 久艾草在线精品视频在线观看| 天天流夜夜操| 操逼操逼操| 国产一级做a爰大片免费久久| 夜夜夜夜爽| 免费视频97| 伊人久久在线视频观看| 操少妇很爽av| 人人澡人人澡人人| 国产精品女生av| 北条麻妃99精品青青久久| 免费看污网址| 国产一区二区三区高清视频| 十八禁成人网站在线观看| 日韩三四五区| 天天干人人乐| 自拍大香蕉乱插| 亚州色站 日韩电影| 97操碰| 香蕉在线一区二区三区| 色婷婷基地| 99久热| 夜夜高潮夜夜爽夜夜爱爱一区| 26uuu久久| 久久精品亚洲婷婷| 黄页av| 中文字幕成人| 天天做天天爱| 99re3这里只有精品| 国产精品96久久久久久| 发朗少妇买婬全视频中文| 亚洲在线综合| 久久精品欧美一区蜜桃| 免费视频一二三区| 无码欧美有限公司| 蜜臀AV秘一区翔田千里| 人人么人人操| a片自拍直播视频| 嗯嗯啊啊用力视频免费| 免费?级毛片无码?∨蜜芽试看| 欧美精品欧美精品系列| 丁香九月 婷婷| 国内97干免费看| 欧美另类精品xxxx| 欧美色综合网| 亚洲综合图文| 二色av| 人妻天天爽天天爽三区| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 在线观看A啊啊啊| 大香蕉97久久| 无卡一区=区| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 久久性爱精品一区| 久久综合精品一区二区三区| av网站免费线看| 人妻熟女午夜精品在线| 日韩本不卡视频在线观看 | 精品丝袜无码一区二区三APP| A V少妇特黄三级| 三四中文字幕| 九九久久久九九| 操婷婷逼| 天天干夜夜一操| 色大香蕉97N| 人人摸人人舔一区二区| 国产伊人自拍| 国产精品扒开腿做爽爽爽视频| 欧美在线观看综合国产| 狠狠操使劲操| 夜夜夜夜爽| 久久一二三四五六七八九区区区 | 国产丝袜美女诱惑| 伊人AAA| 亚洲四虎熟女精品| 中文字幕av乱伦| 强奸乱伦大香蕉网| 亚洲高清无码AAA久久久精品| 亚洲无码超碰免费| 久久精品人人做人人看| 欧美视频一| 欧美久久婷| 亚洲a色| 青青欧洲黑| 熟女高潮合集-永久久久-成人AV| 大香蕉欧美伊| 四虎在线观看网站| 亚洲成人妻日韩在线| 亚洲大色堂| 日han少妇无码| 亚洲一本色码中文字幕| 91色图片| 偷拍新久久| 亚洲色棕合| 国产精品一区二区三| 久草成人| 尤物国产一区在线观看| 东京日日夜夜| 中文字幕AV片| 日韩精品国产精品五码一区二区| 69超碰综合| 国产女人高潮嗷嗷嗷叫小说 | 男人久久天堂| 97在线精品观看视频| 91日韩国产欧美亚洲另类精盘州至城都| 中文字幕精品专区搜索结果91| 怡红院久久老司机| 波多野结衣一级视频| 激情五月天社区| 日韩伦理久 久久 清纯| 抽插一区二区视频| 强奸国产精品视频| 日韩素人无码一区二区三区三州| 国产精品密臀网在线观看| 青草精品视频一日本久久久久网站| 亚洲激情视频| 香蕉综合网| 老熟女乱伦片| 丁香五月影院| 国产成年免费大片黄在线观看| 午夜精品探花| 中文字幕人乱码中文字的预防方法 | 久久69精品久久久久久久| 伊人五月天| 亚洲综合校园春色| 亚洲高清无毛一区二区| 人妻激情另类| 91欧美www| av资源在线观看少妇| 中文字幕久久精视频久久大全| 午夜一区| 香一区二区三区| 久久伊人大香蕉| 人妻内射一区二区在线视频| 被男人吃奶很爽的毛片| 91成人国产综合久久精品蜜月| 东京热大香蕉| 夜夜嗷嗷一区二区| 黄色AAAAA欧美| 久久精品99| 立川理惠无码一区二区| 综合自拍| 日本九九久久99播| 欧美日韩操逼动图| 91bbbbbb| 一本久久精品中文字| 黄片色区软件| 丰满人妻一区二区三区四区| 超碰三级秋霞| 嗯嗯啊在线视频| 青青操日韩| 狠狠色噜噜狠狠狠狠狠色综合久久| 炮色五月| 亚洲第一黄色av网站| 欧美亚洲中文字幕| 艳尻美人妻| 天美麻花大全视频| 老熟女搡BBBB搡BBBB视频| 美日韩在线不卡人妻| 无码在线亚洲| 亚洲AV麻豆Aⅴ无码电影一| 亚洲青青草| 成人资源中文字幕在线观看天天| 国产操逼视频在线观看| 久久久女人| 久久人妻少妇| 在线97在线| 韩国三级理论在线| 女人与公拘交酡2020视频| 婷婷激情一区二区三区俺也去| 国产精品久久久久久久久久久久久久久久久久| 爽爽爽免费视频| 成人无遮挡毛片免费看| 超碰在线在公开超碰在线在公开| 亚洲性综合9| 女人午夜视频777| 爽极品影院| 中文字幕一二三| PMv在线观看| 国产又黄又猛又粗又爽的网站| 一级毛片久久久久久久女人18| 日日摸天天爽夜夜欢| 蜜桃臀AV在线| 综合色区偷拍| 校园春色 欧美| 深夜国产福利| 9久精品| 国产99热| 久久超碰国产一区二区三区| 国产三级片在线观看| 91久久精品中文字幕| 精品一区二区2| 伊人久久婷婷| 国产最新AV| 97色色色综合网站| 99久久无码| 99国产精品| 人人人摸人人| 欧亚免费视频| 爆乳免费黄网站| 欧洲乱码视频| 骚熟女AV网| 国产二区三区免费视频| 这里只有精品视频在线观看麻豆| 亚洲欧美在线观看2021| 亚洲不卡AV在线| 久久久111| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 天堂69亚洲精品中文字| 老熟女乱伦一区| 尤物一级在线免费观看| 亚洲天堂另类美腿| 亚洲美女高潮喷水视频| WWW操逼| 国产激情久久久| 久久99精品九九久久久婷婷| 不卡视频一区蜜桃视频| 亚洲精品性爱片| 婷婷五月天av| 天干天干天干天天做| 秋霞成人做爱| 开心六月色| 九九亚洲| 日日夜夜天天| 啪啪自拍九九综合| 亚洲一区日韩| 麻豆成人av| 99.色网| 99热销国产这里有精品| 综合久| 色天使AV天堂| 中文字幕av乱伦| 91老熟女91老女人| 日本性爱少妇| 骚熟女AV网| 亚洲欧美日韩综合在线尤物 | 97久久精品| 久久久久免费少妇| 欧美不卡五十路| 屌逼传媒| 日本成熟少妇A∨网站| 91殴美大片| 亚洲无码国产探花在线观看| 无码高清操逼网址| 综合久久99| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 国产性刺激| 五月天我淫我色av| 99中文字幕| 五月丁香啪啪啪| 天天做天天爱| 青青草成人视频在线观看二区| 手机午夜电影神马久久| 日日干夜夜欢| 色99色| 飘花国产午夜精品不卡| 精品国产乱码久久久久久日本公司| 国产粉嫩出水在线播放| 国产熟女无套内射| 丝袜狠狠草尤物 91| 五月婷婷丁香| 一级片在线观看高清无码| 蜜桃精品一区二区三区久在线| 亚洲精品视频在线| 熟女人妻久久中文字幕一二区| 六月婷婷一区二区三区| 久草精品国产99| 亚洲色婷婷综合久久一区二区三区| 久久午夜伦| 99精品欧美一区二区三区桃色| 亚洲欧美日韩综合在线尤物 | 国产一区二区精品久久久不卡蜜臀| 韩国一级婬片A片AAAAA| 91东京热男人的天堂| 少妇高潮一区二区三区在线| 99蜜桃臀亚洲成人在线观看| 成人婷婷丁香| 国产欧美日韩在线不卡第一页| 午夜男女爽爽爽影院视频| 日韩精品资源| 欧美高潮| 加勒比海成人视频网| 91xingse| 男女一级A片大黄,一进一出| 国产亚洲精品一区二区三区| 色香综合| 91黑人狂躁丰满熟妇| 亚洲高清在线| 亚洲无码免费看| 大香蕉免费中文| 国产三级多多影院2022国产AA一级毛片无码 | 茄子社区国产精品| 福利天堂| 热久久无毒不卡| 天天影视综合色| 另类图片五月天| AV色女综合| 夜夜嗨老熟女AV一区二区三区| 性欧美| 97精品在线视频| 97超碰磁| caoni国产亚洲av| www久久久| 3571色综合一区二区二区| 最新欧美色网| 成全动漫视频观看免费下载| 欧美成人精品欧美一级乱黄一区二… | 亚洲中文字幕噜噜噜久久久| 精品久久久久久亚洲| 江都AV在线| 国产九九九九九九| 日韩亚洲欧美中文字幕| 午夜120视频在线观看| 97在线精品| 国产精品熟女九九九| 日韩91网| 男女性感激情网站| 欧美日韩m| WWW美腿丝袜香蕉中文| 人人妻人人澡人人爽久久av| 日韩人妻播放| 欧美一二在线| 天天澡天天狠天天天做| 另类天堂| 99这里只有精品| 日本狂喷奶水在线播放212| 熟妇艹鸡八| 欧美刺激色黄片免费看| 天天搞在线综合网| 婷婷综合网站| yazhouzaixian| 欧美日韩免费性爱| 天天天天天超碰| 久热在线精品免费观看| 亚洲欧美日韩夜夜| 日韩精品怡红院| 一区二区三区亚洲| 亚洲精品天天影视综合网| 超碰91在线| 99久久久| 久久男人天堂| 久操B网| 91精品国产91综合久久蜜臀| 九九成人| 日本高清免费一本视频在线观看| 久久不卡一区二区| 激情熟女12P| 亚洲射综合网| 国产精品爱欲| 欧美第一页| 亚州精品一区二区三区香中文字幕在线| 九九亚洲精品| 啪啪免费| 91蜜臀熟女| 婷婷色综合欧美日韩| 男人天堂站| 亚洲AV性爱电影| 国产精品另类一区大香蕉| 天天爽天天| 芊芊操逼视频无码| 青青草公开在线免费不卡视频| 亚洲 欧美 天天| 强奸乱伦AV网址| 风韵犹存大大大大香蕉 | 啊啊啊久久| 久久小视频| 日本天天操| 亚洲国产奇米影视久久| 一级免费精品| 啊啊啊啊二区好大| 99色在线| 偷拍自拍在线视频观看| 国产后入| 97干在线| 91精品国产一区三一| 日骚逼视频| 人妻少妇精品一区二区三区| 蜜桃香蕉久草精品在线| 一区 欧美 日韩 麻豆| 久久婷婷六月综合| 99re国产精品视频| 国产精品一级片在线看| 99热这里只有精品1| 色九九九九| 大香蕉十区| 操我啊啊啊啊啊| 亚洲欧美经典一区二区| 国产69精品久久久久99尤物| 欧美精品69性爱| 精品999一区二区| 欧美人妻一区二区| 丁香7月婷婷| 男人的天堂VA| 超碰诱惑| 狠狠操,使劲操| 日本欧美中文字幕| 91在线视频国产网站| 成人五月天丁香激情综合| 91欧美在线| 欧美在线永久天堂| 大香蕉乱伦视频网| 国产精品久久久久久久久AV大片| 特污精品女优骚货黄色视频在线免费观看| 91在线限制级| 国产乱码精品久久久久久| 国产情色第一第二页在线观看| 91网站18在线| 99热这里只有精品1| 亚洲深夜福利| 成人精品久久久午夜福利| 亚洲精品国产熟女| 一区二区 日韩 欧美 国产 传媒| 91bbb| 久久这里只| 无码不卡八戒| av国产无码| 91天天综合网,天天综合网| 91操人| 黄片免费日韩| 9+1视频网址| 久久宗合亚洲| 91青青草| 五月天激情小说| 欧洲亚洲综合| 欧美呦呦性爱| 99亚洲精品| 国产熟码AV| 97在线免费看视频| 高清国产成人无码| 国产极品99热在线播放69| 青娱乐日韩无码| daxiangjiao你懂的| 激情小说图片亚洲首页| 26uuu欧美| 欧美韩日精品99综合| 2017人人操,人人摸| 97视频在线免费看| 四虎免费在线观看| 激情丁香五月| 夜夜躁狠狠躁日日躁av| 东京热亚洲一区二区| 亚洲在线A| 国产99 中文字幕日韩小视频| 啊啊啊啊好疼视频| 日韩少妇一区二区三区| 亚洲交换| 亚洲精品男人的天堂| 久久岛国| 爱干爱射网啊啊啊| 中文字幕交换人妻| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 日韩亚洲精品一区二区| 国产一级内射无挡观看| 97碰碰色| 伊人一区二区三区| 亚洲导航深夜福利| 超碰欧美97| 国产少妇内射| 96久久久精品| 国产精品久久久久久夜夜夜| 欧美日韩国产高清在线一二三区 | 一级黄色性爱A级片| V A在线| 2003天天干夜夜操| 久噜噜| 91麻豆天美国产| 黑操B| 深爱激情五月天| 99久久99九九99九九九| 强奸乱伦Av网| 欧美αv.com| 尤物视频一区| 精品人妻1区| 黄色操人| 人人做天天爱| 操www| 翔田千里AⅤHD无码| 午夜男女爽爽爽影院视频| 中文字幕一区二区视频在线观看 | 91成人高清在线观看| 一级一性爱免费视频| 91老熟妇| 日韩成人高清一区二区| 男女一进一出视频久久| 成人五月天丁香激情综合| 精品国产乱码久久| 操逼操2| www熟女乱伦com| av一区二区三区不卡| 国产高清视频无码在线| 都市久久精品激情亚洲| 乱伦1色页| 永久免费发布性爱网| 一区二区三区 日韩欧美| 亚洲最大AV网| 大香蕉久久| 欧美天天拍| 日本999精品视频| 久久超碰98| 久久久久久久久国产| 亚洲骚男同com| 男人天堂2030| 性色AV蜜色av色欲av| 伦激情人妻另类人妻| 嫩草影院在线观看精品| 日本欧美国内在线| 色性欧美| 人人搡人人肉久久精品| 日本久久久精品电影| 欧美日韩欧美| 久久丁香久草综合网| 综合在线导航一区| 能看的AV| 99热精品国产| 欧美第五页| 白嫩少妇| 婷婷激情五月天小说网| 色5月婷婷| 国产美女91视频| 青青青草原| 在线日韩日本亚洲国产| 国产一级操B视频| 天天爱天天韩国日本牛牛牛牛 | 99色网| 91爆操视频| 91亚·色| 一区二区三区在线日韩影院观看| 日本护士高潮| 伊人97色天使| 偷拍亚洲情色| 国产美女自拍AV| 色色色综合网| se,,,亚洲欧美| 日本女人久久久| 九色在线熟女国产黑人| 五月天春色激情网| 少妇九九九九| 色欲三区| 精品91摸| 密臀在线视频| 岛国视频一二三区| 激情自拍 校园春色| 黄色十八禁| 成人a v在线播放免费| 婷婷视频网| 欧美综合网1| 国产精品懂色tv影视免费观看| 欧美麻豆成人同性GⅤ在线| 91jk色拍| 国产精品视频内谢女人| www.婷婷| 亚洲欧美视| ..日韩av毛片精品久久久| 欧美专区在线| 91熟女在线| 插欧洲美女欧美精品| 久久久久ab| 亚洲无码精品AV久久久| 曰韩精品九九无码| 91制服丝袜| 国产99久久99热这里只有精品15 | 色97国产69香蕉| 麻花豆传媒剧国产MV出差| 午夜天天碰综合视频| 亚洲久草AV色图| 国产女乱淫真高清免费视频| 色天使大香蕉| 免费A片三p视频| 极品五月天噜噜| 粉嫩av一区二区三区天美传媒| 丝袜美腿制服人妻二区中文字幕 | 青草一区二区| 色九月| 加勒比色99999| 柠檬AV导航| 国产乱码久久久| 欧美综合区| 天天操天天干美女网址导航| 日韩AV熟女乱伦| 人妻色情天天操| 国产成人自拍视频在线| 日韩无码服务区| 亚洲欧美经典一区二区| 老熟女天天操| 超碰人人妻| 中文字幕99999| 你操综合| www.亚洲成人一区| 青青草国产盗摄一二三区| 日本免费中文字幕在线| 亚洲熟女一区| 免费人成?大片在线播放| 欧美日韩国产精品久久色婷婷| 国产a级午夜毛片| 婷婷人妻激情| 女色视频社区| 综合国产影视三级| 风月影院男女十八禁| 久久精品美女一区| 亚欧成人一级片在线播放| 91 丝袜在线| 色婷婷激一区二区三区 | 日本免费人成视频播放120秒| 91色伦综合| 探花在线免费观看视频国产一区| 啊啊啊轻点在线观看| 91精品久久久久久综合五月天| 久久久不卡| 色爱欲亚洲| 人人操人人摸人| 九九九九久久久久| 中文字幕-区二区三区四区视频中国| 大黄片做爱的大的| 激情小说激情视频| 青春草A| 99精品成人免费看| 欧美一级A一级a爱片久久| 91在线丝袜视频| 天天爽天天干| 亚洲综合图色在线| 欧美黄片视频在线观看免费| 97在线免费观看| 91影视亚洲| 91在线页| 日韩人妻 中文字幕| 日日爱99| 男女香蕉一区二区| 久久久久久久 九九九九九九九| 综合久久久久久久综合网| 91欧美色| 亚洲欧美日韩国产丝袜自拍中文| 天天插天天射| 欧美激情另类一区二区| 男女啊啊啊啊啊| 美日韩一二三区| 精品妇女一区二区三区| 性做久久久久久久| 国产多人在线观看视频| 国产精品久久久亚洲第一牛牛_在线观看| 午夜天天碰综合视频| 岛国片国产成人亚洲播放| 国产一区二区在线播放| 亚洲天堂美臀在线| 岛国小电影| 欧美精品第3页| 91快色色色色色| 日本成人免费一区二区三区| 久热这里只有精品9| 看看日B真人视频| 成人综合视频久久| 中文字幕日韩国产传媒欧美精品| 亚洲精品aa久久伊人| 国产又猛又粗又爽又黄| 青草精品视频-日本久久久久网站| 日日干夜夜欢| 色欲色香天天天综合网www-亚洲综合国| 91狠| 99∨VTV| 性爱av在线免费观看| 久久天天艹| 91P0RNY大屁股人妻| 96一区二区| 麻豆AV一区二区天美传媒| 欧美激情黑人| 欧美日韩美女精品久草一区二区三区| 97色色色综合网站| 精品人妻一区二区三区-国产| 色五月综合| AV九九| 久久草大香蕉| 岛国成人av在线播放网址| 手机在线视频国内精品| 亚洲国产av中文字幕久久| 岛国黄片网站| 国产精品直播在线观看直播| 中国一级αV| 国产强奸无码乱伦| 在线免费观看高清无码视频| 白丝AV| 日本中文熟女视频| 国产又黄又粗又猛大片| 久久久性| 翔田千里Av在线| 国产精品国产自产高清AV| 秋霞一级A片黄色视频| 一级毛片久久久久久久女人18| 丁香五六月啪啪| 岛国大片国产| 操逼视频亚洲| 综合一区中亚洲国产成人综合精品 | 欧美亚洲国产91在线| 9国产超碰| 国产高清无码一区三区二区| 岛国黄色短视频| 国产超碰| 黄色污污污污污污网站| 日本少妇va7777| 午夜毛片高清免费不卡| 国产精品色约约| 国产97色在线 | 亚洲| 精品999一区二区| 亚洲春色一区二区三区| 中文人妻av高清一区| 每日更新AV| 开心五月激情网| Av色五月| 亚洲图片 激情小说| 亚欧美色图| 蜜桃av色偷偷av老熟女| 亚洲伊人a线观看视频| 黄aaaaaaaaaaaaaaaaaa色网站| 婷婷大香蕉| 色婷婷综合久久久久中文一区二区| 区一二区日韩亚洲乱码av电影| 欧美在线视频播放| 国内一级精品| 韩三级a视频在线观看| 新版天堂中文资源8在线| 亚洲影视综合网| 9精品久久| 欧综合网| 无码最新| 婷婷久草一区二区三区| 人人爽人人精品乱人伦AV| 超碰吊日色| 热无码中文亚洲H一道本一区二区| 日韩人妻免费精品| 久久国产精品91| 后入式999| 日日夜夜骚| 99re6在线视频精品免费完整版安卓版| 无码粉嫩白虎一线天b区| 国产黄色小视频网站| 五月婷婷爱六月丁香色| 91国产美女丝袜足交精品视频| 老司机香蕉| 欧美精品xxxwww| 91久精品| 欧美啪啪啪91| 久久av一级av少妇av高潮| 女同在线视频一区| 婷婷九月丁香| 中文字幕一区二区日韩网| 婷婷久草一区二区三区| 日韩欧美天堂| 久久五十路熟女人妻| 熟女丰满人妻一区| 骚鸭AV| 亚洲av综合色区无码一| 亚洲91网。| 男人的天堂 在线一区| 久久99网站| 青青欧美| ,成人免费啪啪视频| 天美国产三级传媒| 青青五月天| 日本理论在线| 超碰到97情色| 人妻 中文 日韩| 亚洲天堂自拍| 欧美国产精品久久九九| 亚洲天堂区| 亚洲天堂另类| 天天躁日日躁AAA片李宗瑞| 日本五十路在线| 美国黄片aaa| 91色图片| 男女啪啪啪18禁网站| 校园春色综合| 久久久久久九九九九| 激情丁香五月| 久操国产在线| 91一区二区| 欧美色乱| 骚货| 免费精品无码一级毛片牛牛影视 | 国产丝袜高跟美女av免费观看| 嗯啊视频免费在线观看| 91天美传媒在线| 性在久久久久久| 啊啊啊啊啊啊啊网址在线观看| 2019久久久久久久久福利| 日韩精品怡红院| 黄色AAAAAAAAAAA大片| 日韩不卡网操逼中文字幕日韩| 岛国在线免费视频| 玖玖爱一区在线| 日本一级婬片试看三分钟| 9999亚洲精品| 睡产熟女乱伦| 欧美激情在线观看视频| 天天综合色电影| 精品一区二区三区国产| 欧美综合第一| 18禁免费视频| 久久9免费视频| 99久久久| 91久久久亚洲| 激情综合av| 日韩欧美tv一区二区在线观看| 97干综合网| 五月天久久久| 久久夜夜| 无码人妻精品一区二区三区九九 | 欧美青青草视频| 99综合| 国产乱伦搜索结果91P| 一本大道综合伊人精品热热| 亚洲成人无码影院| 精品丰满熟妇人妻一区| 亚洲成人av色网| 1级午夜影院费免区| 熟妇一区,二区,三区。| 久久久人体| 成人无码电影在线观看网| 国产精品97超碰| 欧美|91色综合| 国产特级毛片AAAAAA高潮流水| 加勒比av网| 久久色一区| 亚洲成人美女无吗| 天美精品原创av片国产| 国内97干免费看| 欧美成人精品A片免费一区99| 三级精品三级在线观看| 欧美草草| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 伊人国产av| 大伊香蕉在线视频免费| 超碰91在线| 一区二区不卡免费| 看黑人AV不卡| 黄色高清无码无码破解免费暗网| 日日超碰亚洲| 97资源站久久| 天天综合网91入口| 91狠狠综合久久久| 精品中文字幕一区二区| 精品999一区二区| 无码人妻系列少妇| 第二页中文字幕| 大香蕉av在线| 亚洲无码?第一页| 日韩啊V| 男人天堂2019| 色九九综合AV| 久久人妻四季| 激情综合五月丁香| 亚州操逼图| 无码137片内射在线影院| 超碰在线91| 日本免费专区| 亚洲人妻中文在线视频| 91熟女丨91老女人| 99最新日韩偷拍视频| 91中文精品日韩欧美在线| 欧美综合自拍成人自拍第二十页| 亚洲欧洲日韩国产自在线| 翔田千里AⅤHD无码| 福利视频合集| 日本欧美不卡| 老熟女综合网 | 久久五月综合| 欧美特大黄一级片片免费| A 在线网址| 日韩免费在线观看不卡| 欧美东京热青青草| 清纯唯美综合亚洲| 亚洲中亚日激情视频| 中文一区在线日| 亚洲色图美腿丝袜| 精品国产99| 国产福利夜| 国产一级久久久| 日韩人妻网站| 69综合网| 爱爱动态试试看6 0秒| 亚洲不卡不卡中文字幕不卡| 99精彩视频| 久久久成人精品| 蜜臀久久久国产| 久久久久9999妇女| 久久超碰免费的| 亚欧美天堂在线| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 99热成人| 黑丝少妇| 久久久久成人蜜桃精品| 又黄又爽在线观看视频| 婷婷激情啪啪| 91亚洲黑人| 99自拍B亚洲 | 精品无码不卡视频| 操逼啊啊啊91| 亚洲国产成人精品无码专区| 久久久久国产精品喷潮免费观看臀 | 久久五十路熟女人妻| 中文字幕一区电影在线观看| 久久久国产亚洲精品系列| 国产精品久久久久久久黄无码| 日本色色色色色视频|