精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JAVA入門 基于Java的移動游戲開發

開發 后端 游戲開發
java游戲現在非常受人們的喜愛,現在出現的提供java游戲下載的網站也是越來越多,市場上對java游戲開發的需要越來越大。本文主要介紹JAVA移動游戲開發的基礎知識,一起來看。

如果讀者有Java編程經驗,尤其是AWT和SWING的Java GUI開發經驗將十分有助于理解本文,盡管不是必需的。

一、 引言

近來,移動游戲在提供個人娛樂方面變得越來越流行。這種流行使得移動游戲給手機用戶,游戲出版商和手持設備制造者帶來豐厚的利潤;移動游戲,在給游戲開發者和相關人員帶來無數商機的同時,處于極為重要的樞紐位置。據估計,到2009年,全世界的手機玩家有望達到兩億兩千萬之多,移動游戲業將被規劃并擴展到一個更高層次,為手機用戶和手持設備制造者帶來更大的利潤份額。

移動游戲可以分為三大類:

1、嵌入式游戲:被硬編碼到移動手持設備系統中的游戲,并隨著設備一同發布。不久就會過時。例如:隨著諾基亞手機一同發行的貪吃蛇游戲。

2、SMS游戲:通過發送文本消息來玩的游戲-例如,把SMS消息發送到游戲服務器-該服務器處理這些SMS消息,然后再通過SMS消息形式發送回結果。經常是以在線競賽和測驗形式出現。并不很流行,因為游戲的費用將隨著把每一個SMS發送到游戲服務器而逐步增加。

3、瀏覽器游戲:這些游戲可以使用移動電話的內嵌微型瀏覽器(專用于移動設備的網絡瀏覽器)來玩,在線或離線的方式都可以。玩家可以通過自己的手持設備或一個第三方游戲供給者的游戲Web站點的方式在線玩這樣的游戲,或下載它們后離線玩。這一類游戲又有很多種類,例如單人或者多人游戲,網絡游戲,離線游戲,街機游戲,等等。

在這三種類型中,瀏覽器游戲是今天最流行的移動游戲類型,這是因為它們具有創新性和豐富的多媒體內容,引人入勝的表達與SMS游戲相比的低價位優勢。本文將重點討論瀏覽器游戲開發。今后,術語"移動游戲"在本文專指"瀏覽器游戲"。

注意:本文集中于討論2D游戲開發。因為今天流行的大部分的數字移動電話有很有限的資源(小的屏幕,有限的內存和圖形支持,繁瑣的鍵盤輸入),所以時下最適合于這些設備的也是最具有商業可行性的游戲是2D游戲。但是,隨著移動電話能力的不斷提高,3D游戲在不久的將來將廣為流行。

移動游戲可用C++,Java(J2ME),還有Qualcomm公司的Binary Runtime Environment for Wireless(BREW)平臺來進行開發。

二、 為什么選擇Java進行移動游戲開發?

盡管C++能夠被編譯成本機代碼并且可以直接存取本機系統資源,以及與BREW(它允許開發者使用任何希望的語言,包括C++,Java,XML和Flash)相結合為移動游戲開發者提供端到端的解決方案,但是Java仍然是進行移動游戲開發的最流行的選擇。Java,或更精確的說是Java 2微型版本(J2ME)平臺,被認為是開發移動游戲的最方便的語言。(要更多地了解J2ME,請參考"What is Java 2 Micro Edition?")。J2ME如此流行的背后動力包括:

  • J2ME遵循為大多數手持設備生產商所支持的工業標準,如今大多數的移動電話都支持Java開發。
  • J2ME是一個自由的和開放的平臺。這使得開發人員投資很少,但卻提供給他們必需的靈活性以及大量的支持。
  • 它的高度可移植的特性("書寫一次到處運行")保證一部為一個品牌/類型的手持設備開發的游戲應用程序,將可以工作在其它類型的支持Java的手持設備品牌/類型上。
  • 它特別為小型設備進行了優化,是輕量級的,高度安全的,因為在其上開發的應用程序不能存取或者影響運行在該手持設備上的其它應用程序。
  • J2ME包含移動信息設備輪廓(MIDP)API,它的設計是為專門開發包括手機在內的移動設備應用程序,但切記它們的局限性和約束條件。而且,最新的MIDP 2.0版自己提供了一套完整的API以用于游戲開發,這使得游戲開發更為簡單和快捷。

現在,我們探索一下MIDP 2.0在移動游戲開發環境中的使用。

三、 MIDP2.0在游戲開發中的地位

MIDP2.0 API是一組具有特別性能的API,可用于開發安全的,內容豐富的多媒體應用軟件,包括適合于移動設備的游戲程序。MIDP 2.0基于以前的MIDP 1.0之上并提供一個更好的開發平臺以創建高效快速的移動設備應用程序。

MIDP 2.0進一步提煉了MIDP 1.0的特性和有關功能。有關這些新特性的信息請參考What’s New in MIDP 2.0。新增添到MIDP上的重要特點之一是Game API,或更精確地說是javax.microedition.lcdui.game API包。通過該Game API,MIDP 2.0提供給游戲開發者現成的程序模塊,這些模塊在早期的MIDP 1.0時是你必須從頭開始創建的。這些模塊以類的形式提供,用于創建和控制各種游戲元素,如游戲畫布、精靈、層等等(后文將介紹)。這樣,MIDP 2.0大大減少了游戲開發者的創作時間。

進行游戲開發必需的另外兩個MIDP 2.0 API包,在本文中也作了探索,它們是javax.microedition.midlet和javax.microedition.lcdui。

javax.microedition.midlet API包是開發各種類型的移動應用程序的基礎。它包含javax.microedition.midlet.MIDlet類,它是所有的基于J2ME的移動應用軟件(或稱為midlet)的基類,它必須由所有移動應用程序的main類加以擴展后使用。非常類似于java.applet.Applet類,MIDlet類提供創建midlet程序的必要的資源。

javax.microedition.lcdui API包是開發各種類型的移動應用程序的用戶接口所必需的。這個API提供類來創建和控制UI部件(例如屏幕,表單,文本框,單選按鈕,等等)并且處理包括游戲在內的移動應用程序的輸入。有使用AWT和SWING GUI開發經驗的開發者會發現javax.microedition.lcdui包中的元素非常相似于這些API中的元素。

我將在本文的示例游戲開發期間討論這些API中的和游戲開發相關的元素。

#p#

四、 構建示例游戲

為了更好地理解這些API和它們各自的類,你最好動手開發一個簡單的移動游戲。這里是一個單人的離線游戲,通過障礙物線路的駕車游戲。玩家使用左鍵和右鍵用于改變車的方向到左邊或者右邊以防止與障礙物的碰撞。游戲在發生碰撞并顯示得分后結束。該游戲命名為HardDrive。

注意:雖然這個示例游戲是使用J2ME Wireless Toolkit 2.1_01和J2SE 1.4.2_07 SDK在Windows 2000平臺上開發的,但是,其它版本的與另外一些平臺相匹配的Wireless Toolkit和J2SE SDK也可以利用。

現在開始構建游戲程序HardDrive。從前一節中得知,你第一個需要開發的程序是HardDriveMIDlet(HardDriveMIDlet.java),它擴展了javax.microedition.midlet.MIDlet類。

(一) HardDriveMIDlet.java

列表1.1:該代碼片斷來自于文件HardDriveMIDlet.java

 

  1. import javax.microedition.midlet.MIDlet;  
  2. import javax.microedition.lcdui.*;  
  3. public class HardDriveMIDlet extends MIDlet implements CommandListener {  
  4. ... ... ... ... ... ... ... ... 

 

HardDriveMIDlet還實現了javax.microedition.lcdui.CommandListener接口來接收命令事件,它們是在應用程序執行和處理期間產生的。當發出EXIT,CANCEL,BACK,OK,STOP以及類似的命令-這些命令通過使用軟按鈕(在移動電話屏幕附近的特殊的按鈕,除了箭頭鍵以外)產生并被HardDriveMIDlet的commandAction()方法所處理-時,這些命令事件發生。為了提高效率,可把這些命令添加到畫布上去。

HardDriveMIDlet用作所有canvas的容器,這些canvas是一些描述可用于在移動設備屏幕上進行繪制的對象。這里,midlet包含了HardDriveCanvas,它擴展了javax.microedition.lcdui.game.GameCanvas類。GameCanvas是一個專門的畫布,用于為游戲程序繪制有效的動畫圖像,還能夠查詢為實現平滑動畫效果而采取的脫屏圖像緩沖技術有關的關鍵狀態。

HardDriveMIDlet包含的另外的一個canvas是GameOverCanvas,它擴展了javax.microedition.lcdui.Canvas類。Canvas是一個簡單canvas,用于繪制文本,線段以及簡單的形狀等。當需要在屏幕上進行簡單的繪制時-例如為顯示游戲初啟畫面,游戲結束屏幕以及游戲指令屏幕-這個canvas被擴展,而取代了繁重的繪制。一個游戲程序的midlet可以包括任何個數的canvas,但是每次僅顯示一個canvas,這是通過使用javax.microedition.lcdui.Display類的setCurrent()方法來實現的。

HardDriveMIDlet還包含3個另外的重要方法,也稱作lifecycle方法。它們是startApp()、pauseApp()和destroyApp(),分別相應于該midlet的Active,Paused和Destroyed狀態。在HardDriveMIDlet的startApp()方法中,實現實例化HardDriveCanvas并通過使用HardDriveCanvas類的方法addCommand()把EXIT命令添加到它上面去。

(二) HardDriveCanvas.java

HardDriveCanvas實現了一個java.lang.Runnable接口來使它自己可以運行在自己的線程中,這對于獨立地執行游戲循環是必需的。該游戲循環被連續不斷地執行,直到終止游戲的必備條件滿足為止(在本例中,當汽車碰撞到障礙物上或者在任何時候當玩家使用Exit按鈕退出游戲)。

列表1.2:文件HardDriveCanvas.java中的游戲循環

 

  1. public void start()  
  2. {  
  3. gameRunning = true;  
  4. Thread gameThread = new Thread(this);  
  5. gameThread.start();  
  6. }  
  7. ... ... ... ...  
  8. ... ... ... ...  
  9. public void run()   
  10. {  
  11. Graphics g = getGraphics();  
  12. //... ... ...一些代碼  
  13. while (gameRunning) //游戲循環  
  14. {  
  15. tick();  
  16. input();  
  17. render(g);  
  18. //... ... ...一些代碼  
  19. try 
  20. {  
  21. Thread.sleep(timeStep );  
  22. //... ... ... ...一些代碼   
  23. }  
  24. catch (InterruptedException ie) { stop(); }  

 

列表1.2顯示HardDriveCanvas.java中的游戲循環。這是一典型游戲循環,它包含了依次對tick(),input()和render()方法的調用。tick()方法檢查是否停止該游戲的必需條件已經滿足;如果滿足,即相應地改變游戲的狀態。方法input()處理游戲的鍵盤(keys assigned for游戲playing)輸入并為每一次按鍵,如一個游戲元素的運動,執行必要的動作。根據其所處的狀態,著色任務由render()方法來完成。

HardDriveCanvas也使用一個javax.microedition.lcdui.game.LayerManager的實例來增加和管理多層的HardDriveCanvas,其中每一層代表一個精靈。一個精靈是一部游戲中一個基本的可視化元素,或者是一個在游戲畫布上移動的character,而且它能夠與其它精靈(在這個示例中,汽車或障礙物都是精靈,它們可能進行彼此碰撞。)進行交互。每一個精靈形成一個虛擬層,它可能是全部或者部分透明地置于畫布之上;這些層彼此以堆棧方式堆疊。一個精靈是一個javax.microedition.lcdui.game.Sprite類的對象,它負責顯示、變形和旋轉精靈以及進行精靈碰撞檢測。被內部使用的tick()方法使用精靈類的collidesWith()方法進行碰撞檢測。HardDriveCanvas實例化一個ObstacleManager類的對象,它用于著色并移動游戲畫布上的障礙物精靈并檢查是否它們與汽車精靈相碰撞。

(三) ObstacleManager.java

ObstacleManager負責創建和管理隨機出現在汽車路徑上的障礙物。為了簡化和便利,ObstacleManager.java硬編碼了每次出現在汽車路徑上的障礙物的最大數目值。這個值可以根據需要進行修改。

列表1.3:該代碼片段來自于ObstacleManager.java

 

  1. private static final int MAX_OBS = 10;  
  2. //... ...一些代碼 

 

為了在隨機位置創建和顯示障礙物,ObstacleManager使用了一種簡單的策略。它產生最初的10個障礙物精靈,并使用LayerManager來把這些精靈添加到游戲畫布上去。然后,它通過使用隨機產生的x和y坐標值來設置它們的位置并開始朝著游戲畫布的底部移動它們。一旦每一個障礙物到達了畫布的底部而沒有碰撞到汽車,它的位置就被通過使用相同的技術重新復位,而同時游戲的得分增加1。所以,ObstacleManager重用了同一個障礙物精靈并隨機地顯示它們。

(四) GameOverCanvas.java

GameOverCanvas是一個簡單的canvas,它接收來自于HardDriveMIDlet游戲持續時間以及得分信息并顯示之。

#p#

五、 準備示例游戲的發布

J2ME無線開發工具包提供了Ktoolbar-一個相當有用的工具-可自動化或半自動化處理有關編譯,預先校驗,打包及測試移動程序等一系列問題。

既然現在準備好了游戲代碼,那么就應該把它們組織到由KToolbar提供的下面目錄結構下(見Ktoolbar的用戶指南-"Operating with KToolbar")。為此,啟動KToolbar并創建一新工程HardDriveGame,它將包含HardDrive游戲程序,該程序位于J2ME無線開發工具包的安裝文件夾下的apps子文件夾下。

HardDriveGame(定義用戶的游戲工程名)
| ___src
| ___bin
| ___classes
| ___res
| ___lib
| ___tmpclasses
| ___tmplib

現在,只要簡單地復制游戲程序的四個源代碼文件到src文件夾下,把文件car.png和obstacle.png圖標文件復制到res文件夾下。剩下的任何事情交由Ktoolbar處理好了。

接下去,下面操作將打開相應的HardDriveGame游戲工程,編譯它(使用JDK編譯器),并預校驗該游戲程序。

選擇"Open project"按鈕,選擇"HardDriveGame"->"Build"按鈕,即可開始工程構建。

如果在工程創建過程中發生錯誤,相應信息會顯示在KToolbar窗口中。你可以修改src文件夾下的游戲源代碼來更改它們;但是,必須手工進行調試,因為Ktoolbar沒有提供調試工具。否則,如果沒有錯誤發生,將顯示一條"構建完成"信息于KToolbar窗口上。

一旦游戲工程創建成功,你就可以在仿真器(一個KToolbar組件,它虛擬地模擬移動電話應用程序的執行)中運行以進行程序測試。

該游戲程序現在已開發完成,只等待發布了。為了使用KToolbar把游戲應用程序打包成一個.jar文件并進行發布,應執行下面的步驟:選擇"Open project"按鈕,選擇"HardDriveGame"->"Project"菜單->"打包"->"Create package"/"Create obfuscated package"。

"Create package"菜單項將創建一標準.jar文件,而"Create Obfuscated Package"將創建一個更小些的而不是一個標準.jar文件。一旦打包完成,.jar文件的位置被顯示在KToolbar窗口中;在打包期間還自動產生一個.jad(Java應用程序描述)文件,該文件在游戲程序運行期間為仿真器所用。

模擬器

圖1.1:運行示例游戲應用程序的模擬器

作為選擇,在打包后,你可以對游戲程序的midlet施加簽名,方法如下:

工程菜單->簽名;這將為.jar文件創建一個數字簽名并把它添加到.jad文件上。

現在,游戲應用程序的.jar和.jad文件,還有用KToolbar創建的MANIFEST.MF manifest文件,組合在一起成為一個midlet 套件,都準備好被發布了。

以上就是如何用Java進行2D移動游戲開發的整個過程。你可以根據本文提供的示例來構建你自己的游戲。

六、 結論

隨著全世界移動訂閱和移動玩家數量的快速增長,移動游戲開發正在成為一個賺錢的行業。J2ME和MIDP 2.0通過提供一種方便快捷高效的移動游戲開發平臺幫助游戲開發者開拓這一領域所擁用的潛力。MIDP 2.0還提供了一套完整的API包,以用于游戲開發,它提供了內建的模塊來簡化和加快移動游戲開發。

【編輯推薦】

  1. 我們為什么要學習Java Java的八大優點
  2. Java編程語言基礎JSP基本語法的詳細介紹
  3. Java堆、棧和常量池詳解
  4. 詳細介紹Java語言中的IO系統
  5. JAVA中執行DOS命令分析
責任編輯:于鐵 來源: ITWAKA.COM
相關推薦

2022-12-27 14:39:38

2023-01-03 15:16:27

2012-10-09 10:58:56

IBMdw

2013-05-20 15:42:22

2016-06-01 09:19:08

開發3D游戲

2014-07-18 09:59:17

移動webJavascript移動Web

2014-06-05 14:36:09

移動游戲手游開發技巧

2011-04-08 09:24:24

2010-05-25 11:35:02

JavaKilim

2024-03-22 09:45:34

大型語言模型Unity引擎游戲開發

2024-11-06 16:45:39

Python游戲開發代碼

2010-10-15 09:39:22

MeeGoQt

2009-08-03 15:53:11

ASP.NET移動開發

2013-02-21 13:14:00

移動游戲開發者開發商

2015-07-30 09:43:10

獨立游戲開發入門

2014-11-12 16:00:12

火舞游戲

2009-08-04 16:33:50

ASP.NET移動開發

2014-07-08 09:37:28

跨平臺Webhtml5

2012-10-08 09:37:14

JSHTML5游戲開發

2012-09-10 09:46:19

JavaScriptJSHTML5
點贊
收藏

51CTO技術棧公眾號

欧美私人啪啪vps| 精品国产乱码久久久久久樱花| 91麻豆成人久久精品二区三区| 欧美一性一乱一交一视频| 永久免费看mv网站入口78| 日韩毛片在线| 亚洲一区av在线| 免费日韩电影在线观看| 国产精品无码白浆高潮| 亚洲小说欧美另类婷婷| 一本色道久久综合狠狠躁篇怎么玩 | 成人在线观看网站| 国产美女视频91| 日本三级韩国三级久久| 婷婷在线精品视频| 一道本一区二区三区| 日韩一二三区不卡| 精品国产成人av在线免| 在线视频国产区| 国产欧美一区二区三区网站 | 一区二区三区在线看| 久久久国产精品一区二区三区| 亚洲天堂视频在线| 99热在线精品观看| 欧美xxxx14xxxxx性爽| 91l九色lporny| 日韩深夜福利| 日韩美一区二区三区| 超碰在线公开97| 亚洲优女在线| 五月天精品一区二区三区| 伊人色综合影院| 毛片在线免费| 99re热这里只有精品免费视频| 91免费看片在线| 波多野结衣一二区| 免费日韩av片| 97色在线视频观看| 国产无码精品在线观看| 你懂的国产精品| 久久网福利资源网站| 国产破处视频在线观看| 欧美日韩国产一区二区三区不卡 | 欧美日韩亚洲国产综合| 日韩精品免费播放| 免费看av不卡| 一本到一区二区三区| 黄色一级片播放| 成人黄色动漫| 精品成人乱色一区二区| 黄色一级在线视频| 国产精品电影| 日韩人体视频一二区| 黄色片视频在线免费观看| 91视频欧美| 精品国产31久久久久久| 欧美一区二区中文字幕| free性护士videos欧美| 性做久久久久久久久| 少妇无码av无码专区在线观看 | 国产精品久久久久久久久久久新郎| 91在线看视频| 亚洲一区激情| 国产成人一区二区| 在线视频 中文字幕| 久久国内精品视频| 亚洲自拍av在线| 亚洲免费国产视频| 99精品在线免费| 日产精品高清视频免费| 成年人在线看| 亚洲视频 欧洲视频| 黄色片免费在线观看视频| 国产丝袜在线观看视频| 同产精品九九九| 北条麻妃av高潮尖叫在线观看| 成人四虎影院| 欧美一区二区三区视频免费播放 | 久久这里只有精品一区二区| 亚洲欧美另类自拍| 天天做夜夜爱爱爱| 亚洲欧洲日本一区二区三区| 欧美在线免费观看| 一级黄色录像大片| 成人丝袜高跟foot| 日韩福利视频| 日本在线视频www鲁啊鲁| 疯狂欧美牲乱大交777| 午夜在线观看av| 最新国产一区二区| 亚洲欧美在线免费| 国产高潮流白浆| 午夜在线精品偷拍| 91视频8mav| 能在线看的av| 亚洲三级久久久| 日批视频在线免费看| 日韩黄色在线| 日韩毛片在线看| 五月天丁香激情| 久久国产免费| 国产精品日韩高清| 91高清在线| 午夜国产精品影院在线观看| 日韩av片专区| 亚洲国产网址| 欧美日韩成人网| 中文字幕一二区| 99精品一区二区三区| 米仓穗香在线观看| 日韩影片中文字幕| 亚洲国产成人91精品| 毛片视频免费播放| 亚洲精品影院在线观看| 成人欧美一区二区三区黑人| 性猛交xxxx| 一卡二卡三卡日韩欧美| xxxx一级片| 偷拍视屏一区| 欧美激情亚洲视频| 国产又黄又大又爽| 国产午夜精品美女毛片视频| 国产欧美日韩网站| 色悠久久久久综合先锋影音下载| 尤物yw午夜国产精品视频明星 | 欧美日韩不卡一区二区| av直播在线观看| 亚洲国产高清一区二区三区| 91久久久久久久久久久久久| yiren22综合网成人| 精品久久久久久久中文字幕| 午夜视频在线免费看| 国产高清欧美| 91精品久久久久久综合乱菊| av在线播放网| 在线观看日韩国产| 亚洲一区二区三区蜜桃| 午夜在线一区| 欧美一区二区三区电影在线观看| 超碰在线视屏| 日韩av中文字幕在线| 日韩三级视频在线播放| zzijzzij亚洲日本少妇熟睡| 国产成人亚洲综合无码| 日韩中文在线| 欧美激情一区二区三区成人| www.亚洲欧美| 亚洲一区自拍偷拍| 国产精九九网站漫画| 欧美特黄视频| 九九九九精品九九九九| 黄频免费在线观看| 日韩精品中文字幕在线| 婷婷激情五月综合| 国产午夜精品久久久久久久| 九九热在线免费| 日韩欧美网站| 成人自拍性视频| 日本片在线观看| 亚洲国产成人av在线| 亚洲s码欧洲m码国产av| 久久精品一区四区| 在线免费观看视频黄| 久久精品青草| 成人综合色站| 中文在线аv在线| 亚洲人成电影网站色www| 欧美激情一区二区三区免费观看| 中文字幕精品一区| 婷婷中文字幕在线观看| 亚洲人成人一区二区三区| 欧美12av| 欧美黄页免费| 久久久久久成人| 你懂得在线网址| 777久久久精品| 亚洲国产综合久久| 国产日韩亚洲欧美综合| 911av视频| 亚洲人成免费| 亚洲毛片aa| 国产精品99久久免费观看| 日韩av电影国产| 黄色视屏免费在线观看| 亚洲第一色中文字幕| 超碰在线97观看| 亚洲精品少妇30p| 久操视频免费看| 国产一区二区三区久久悠悠色av | 少妇视频一区| 最新日韩中文字幕| 成人免费观看在线视频| 日本韩国一区二区| 欧美毛片在线观看| 国产网站一区二区| 日本中文字幕有码| 日产国产高清一区二区三区| 免费日韩在线观看| 欧洲杯足球赛直播| 粉嫩av四季av绯色av第一区| 色猫猫成人app| 国内精品一区二区三区四区| 91caoporm在线视频| 精品粉嫩超白一线天av| 中文字幕一区二区三区波野结 | 精品精品精品| 国产在线视频91| 天堂网在线最新版www中文网| 日韩在线观看免费高清| 国产又爽又黄网站亚洲视频123| 4438成人网| 免费黄色片视频| 午夜久久福利影院| 国产黄色的视频| 中文字幕精品在线不卡| 黄色国产在线观看| 成人午夜精品一区二区三区| xxww在线观看| 丝瓜av网站精品一区二区| 成年女人18级毛片毛片免费| 久久精品久久久| 亚洲高清乱码| 国产精选一区| 精品一区二区国产| 日韩影片在线观看| 国产中文日韩欧美| 日韩一区二区三区免费| 97香蕉超级碰碰久久免费软件| av片哪里在线观看| 久久深夜福利免费观看| av大片在线播放| 亚洲欧美日韩国产成人| 手机av在线免费观看| 欧美成人vps| 性中国xxx极品hd| 91精品国产福利| 国产成人久久精品77777综合| 欧美日韩一区视频| 中国黄色一级视频| 欧日韩精品视频| 婷婷激情五月综合| 日本久久电影网| 欧美亚洲另类小说| 在线欧美日韩精品| 五月激情丁香网| 欧美视频一区在线| 中国一级特黄视频| 欧美偷拍一区二区| 中文字幕观看在线| 在线不卡的av| 国产丝袜在线视频| 欧美不卡在线视频| 国产小视频一区| 亚洲а∨天堂久久精品喷水 | 99视频一区二区三区| 亚洲色偷偷色噜噜狠狠99网| av成人动漫在线观看| 天天插天天射天天干| 91在线小视频| 日韩视频在线观看免费视频| 国产精品视频yy9299一区| 欧美自拍偷拍网| 亚洲色图一区二区三区| 久久一二三四区| 精品高清一区二区三区| 波多野结衣在线观看一区| 欧美三级电影一区| 国产xxxxxx| 亚洲精品久久久一区二区三区| 水中色av综合| 在线观看久久av| 亚洲精品一线| 欧美在线不卡区| 久久精品国产精品亚洲毛片| 91传媒视频免费| 无码日韩精品一区二区免费| 亚洲欧美成人一区| 欧美日本不卡高清| 国产中文字幕视频在线观看| 日精品一区二区| 两女双腿交缠激烈磨豆腐| 99精品在线观看视频| 精品手机在线视频| 亚洲国产日韩一区二区| 国产一级淫片a视频免费观看| 欧美精品aⅴ在线视频| 黑人精品一区二区| 中文字幕国内精品| av免费不卡国产观看| 国产精品爽爽爽| 精品三级av| 国产91av视频在线观看| 亚洲精品人人| 91丝袜超薄交口足| 久久亚区不卡日本| 国产97免费视频| 色一情一伦一子一伦一区| 国产ts人妖调教重口男| 国产小视频91| 第一中文字幕在线| 91免费高清视频| 欧美日韩在线二区| 欧美国产视频一区| 精彩视频一区二区| 国产肥白大熟妇bbbb视频| 亚洲最大成人综合| 在线视频 中文字幕| 亚洲免费电影在线观看| 欧美激情成人动漫| 国产日韩精品综合网站| 久久最新网址| 国产美女无遮挡网站| 国产精品1区2区3区| 亚洲一级理论片| 色呦呦一区二区三区| 日本精品久久久久久| 久久亚洲精品一区二区| 欧美男女视频| 视频在线观看成人| 另类图片国产| 国产亚洲无码精品| 亚洲a一区二区| www.色日本| 久久人人爽人人爽爽久久| 欧美va在线观看| 欧美日韩亚洲一区二区三区四区| 亚洲精品乱码| 久久久久久婷婷| 亚洲一区二区三区四区的| 99热这里只有精| 久久精品中文字幕| 97久久中文字幕| 中国成人在线视频| 麻豆91小视频| 精品熟妇无码av免费久久| 在线观看91视频| 精品视频一二区| 国产精品高潮呻吟久久av野狼| 妖精视频一区二区三区免费观看| 男人添女人下部高潮视频在观看| 成人h动漫精品一区二| 欧美日韩国产精品综合| 日韩一级完整毛片| 日本在线视频www鲁啊鲁| 91九色视频在线观看| 综合在线一区| 日韩高清一二三区| 亚洲一区二区三区免费视频| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 中文字幕在线看视频国产欧美| 欧美片第一页| 天天综合狠狠精品| 麻豆高清免费国产一区| 日本精品久久久久中文| 3d动漫精品啪啪1区2区免费| 污污的网站在线看| 国产在线精品日韩| 久久精品国产清高在天天线| 中文字幕黄色网址| 欧美久久久一区| 男插女视频久久久| 久久手机视频| 美女诱惑一区二区| 国产盗摄x88av| 精品丝袜一区二区三区| 国产激情久久| 欧美黄色免费网址| 26uuu亚洲综合色| 亚洲视频中文字幕在线观看| 久久在精品线影院精品国产| 99精品中文字幕在线不卡| 鲁一鲁一鲁一鲁一澡| 国产精品理伦片| 亚洲高清精品视频| 日本不卡免费高清视频| 久久国产综合| 特级特黄刘亦菲aaa级| 色综合久久九月婷婷色综合| 色欧美激情视频在线| 99se婷婷在线视频观看| 久久福利精品| 美女福利视频在线观看| 亚洲免费av片| 国产精品日本一区二区不卡视频| 免费一级特黄毛片| 国产精品国产三级国产aⅴ原创 | 无码人妻av免费一区二区三区| 色婷婷av一区二区三区在线观看 | 日韩欧美99| 国产成人aaa| 欧美日韩 一区二区三区| 欧美激情国产高清| 久久久综合色| 给我免费观看片在线电影的| 欧美三级一区二区| 久草免费在线视频| 热久久最新地址| 国产欧美日韩不卡免费| 亚洲乱码国产乱码精品精软件| 国产精品国内视频|