亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ch12.htm

?? 有關(guān)于游戲開發(fā)的教程我閱讀后感覺不錯(cuò)所以就拿出來與大家共享。
?? HTM
?? 第 1 頁 / 共 2 頁
字號(hào):
<BLOCKQUOTE>
<TT><FONT FACE="Courier">public void init() {<BR>
&nbsp;&nbsp;// Load and track the images<BR>
&nbsp;&nbsp;tracker = new MediaTracker(this);<BR>
&nbsp;&nbsp;Eyes.initResources(this, tracker, 0);<BR>
<BR>
&nbsp;&nbsp;// Load the audio clips<BR>
&nbsp;&nbsp;clip[0] = getAudioClip(getCodeBase(), &quot;Res/Crow.au&quot;);
<BR>
&nbsp;&nbsp;clip[1] = getAudioClip(getCodeBase(), &quot;Res/Hyena.au&quot;);
<BR>
&nbsp;&nbsp;clip[2] = getAudioClip(getCodeBase(), &quot;Res/Monkey.au&quot;);
<BR>
&nbsp;&nbsp;clip[3] = getAudioClip(getCodeBase(), &quot;Res/Tiger.au&quot;);
<BR>
&nbsp;&nbsp;clip[4] = getAudioClip(getCodeBase(), &quot;Res/Wolf.au&quot;);
<BR>
}</FONT></TT>
</BLOCKQUOTE>
<P>
After the audio clips are initialized in <TT><FONT FACE="Courier">init</FONT></TT>
using <TT><FONT FACE="Courier">getAudioClip</FONT></TT>, they
are ready to be played.
<P>
The eyes you see in the applet are implemented as sprites, which
you'll learn about later in today's lesson. These sprites are
created in the <TT><FONT FACE="Courier">run</FONT></TT> method,
which also creates and initializes the sprite list. Listing 12.2
contains the source code for the run method.
<HR>
<BLOCKQUOTE>
<B>Listing 12.2. The </B><TT><B><FONT FACE="Courier">WildAnimals</FONT></B></TT><B>
class's </B><TT><B><FONT FACE="Courier">run</FONT></B></TT><B>
method.<BR>
</B>
</BLOCKQUOTE>
<BLOCKQUOTE>
<TT><FONT FACE="Courier">public void run() {<BR>
&nbsp;&nbsp;try {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;tracker.waitForID(0);<BR>
&nbsp;&nbsp;}<BR>
&nbsp;&nbsp;catch (InterruptedException e) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>
&nbsp;&nbsp;}<BR>
<BR>
&nbsp;&nbsp;// Create and add the sprites<BR>
&nbsp;&nbsp;sv = new SpriteVector(new ColorBackground(this, Color.black));
<BR>
&nbsp;&nbsp;for (int i = 0; i &lt; 8; i++) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;sv.add(new Eyes(this, new Point(Math.abs(rand.nextInt()
%<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size().width), Math.abs(rand.nextInt()
% size().width)),<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i % 2, Math.abs(rand.nextInt()
% 200)));<BR>
&nbsp;&nbsp;}<BR>
<BR>
&nbsp;&nbsp;// Update everything<BR>
&nbsp;&nbsp;long t = System.currentTimeMillis();<BR>
&nbsp;&nbsp;while (Thread.currentThread() == animate) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;// Update the animations<BR>
&nbsp;&nbsp;&nbsp;&nbsp;sv.update();<BR>
&nbsp;&nbsp;&nbsp;&nbsp;repaint();<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;// Play an animal sound<BR>
&nbsp;&nbsp;&nbsp;&nbsp;if ((rand.nextInt() % 15) == 0)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clip[Math.abs(rand.nextInt()
% 5)].play();<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;try {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t += delay;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(Math.max(0, t
- System.currentTimeMillis()));<BR>
&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;catch (InterruptedException e) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&nbsp;&nbsp;}<BR>
}</FONT></TT>
</BLOCKQUOTE>
<HR>
<P>
Beyond creating the sprites for WildAnimals, the <TT><FONT FACE="Courier">run</FONT></TT>
method also handles playing the random animal sounds. This is
carried out by using the <TT><FONT FACE="Courier">nextInt</FONT></TT>
method of the <TT><FONT FACE="Courier">Random</FONT></TT> object
to get a random number between <TT><FONT FACE="Courier">-15</FONT></TT>
and <TT><FONT FACE="Courier">15</FONT></TT>. This random number
is checked to see whether it is equal to <TT><FONT FACE="Courier">0</FONT></TT>,
in which case a sound is played. This creates a 1-in-31 chance
of a sound being played each time through the update loop. There
is no magic surrounding the range of the random numbers; it was
determined by trying out different values. When a sound is to
be played, <TT><FONT FACE="Courier">nextInt</FONT></TT> is used
again to randomly select which sound to play. That's all there
is to playing the random sounds.
<P>
That covers all the unique aspects of the <TT><FONT FACE="Courier">WildAnimals</FONT></TT>
class. However, you still haven't seen how the eye sprites are
implemented. The <TT><FONT FACE="Courier">Eye</FONT></TT> class
implements a blinking eye sprite that can be either small or large.
It uses a static two-dimensional array of <TT><FONT FACE="Courier">Image</FONT></TT>
objects to store the frame animations for the blinking eye in
each size. Like all derived <TT><FONT FACE="Courier">Sprite</FONT></TT>
classes you've seen, the images are initialized in the <TT><FONT FACE="Courier">initResources</FONT></TT>
method:
<BLOCKQUOTE>
<TT><FONT FACE="Courier">public static void initResources(Applet
app, MediaTracker tracker, int id) {<BR>
&nbsp;&nbsp;for (int i = 0; i &lt; 4; i++) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;image[0][i] = app.getImage(app.getCodeBase(),
&quot;Res/SmEye&quot; + i + &quot;.gif&quot;);<BR>
&nbsp;&nbsp;&nbsp;&nbsp;tracker.addImage(image[0][i], id);<BR>
&nbsp;&nbsp;&nbsp;&nbsp;image[1][i] = app.getImage(app.getCodeBase(),
&quot;Res/LgEye&quot; + i + &quot;.gif&quot;);<BR>
&nbsp;&nbsp;&nbsp;&nbsp;tracker.addImage(image[1][i], id);<BR>
&nbsp;&nbsp;}<BR>
}</FONT></TT>
</BLOCKQUOTE>
<P>
Figure 12.2 shows what the animation images for the eye look like.
<P>
<A HREF="f12-2.gif" ><B>Figure 12.2 : </B><I>The images used by the Eye class.</I></A>
<P>
The <TT><FONT FACE="Courier">Eye</FONT></TT> class contains two
member variables, <TT><FONT FACE="Courier">blinkDelay</FONT></TT>
and <TT><FONT FACE="Courier">blinkTrigger</FONT></TT>, for managing
the rate at which it blinks:
<BLOCKQUOTE>
<TT><FONT FACE="Courier">protected int blinkDelay,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;blinkTrigger;</FONT></TT>
</BLOCKQUOTE>
<P>
<TT><FONT FACE="Courier">blinkDelay</FONT></TT> determines how
long the eye waits until it blinks again, and <TT><FONT FACE="Courier">blinkTrigger</FONT></TT>
is the counter used to carry out the wait. They are both initialized
to the blink delay parameter passed into the constructor of <TT><FONT FACE="Courier">Eye</FONT></TT>:
<BLOCKQUOTE>
<TT><FONT FACE="Courier">public Eyes(Component comp, Point pos,
int i, int bd) {<BR>
&nbsp;&nbsp;super(comp, image[i], 0, 1, 2, pos, new Point(0, 0),
0, Sprite.BA_WRAP);<BR>
&nbsp;&nbsp;blinkTrigger = blinkDelay = bd;<BR>
}</FONT></TT>
</BLOCKQUOTE>
<P>
The only overridden method in <TT><FONT FACE="Courier">Eye</FONT></TT>
is <TT><FONT FACE="Courier">incFrame</FONT></TT>, which handles
incrementing the animation frame:
<BLOCKQUOTE>
<TT><FONT FACE="Courier">protected void incFrame() {<BR>
&nbsp;&nbsp;if ((frameDelay &gt; 0) &amp;&amp; (--frameTrigger
&lt;= 0) &amp;&amp;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;(--blinkTrigger &lt;= 0)) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;// Reset the frame trigger<BR>
&nbsp;&nbsp;&nbsp;&nbsp;frameTrigger = frameDelay;<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;// Increment the frame<BR>
&nbsp;&nbsp;&nbsp;&nbsp;frame += frameInc;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;if (frame &gt;= 4) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frame = 3;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frameInc = -1;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;else if (frame &lt;= 0) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frame = 0;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frameInc = 1;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;blinkTrigger = blinkDelay;
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;}<BR>
&nbsp;&nbsp;}<BR>
}</FONT></TT>
</BLOCKQUOTE>
<P>
It is necessary to override <TT><FONT FACE="Courier">incFrame</FONT></TT>
so that you can add the blinking functionality. This is done by
decrementing <TT><FONT FACE="Courier">blinkTrigger</FONT></TT>
and seeing whether it has reached zero. If so, it's time to blink!
Notice that the blink is still dependent on the frame delay, which
is very important. This is important because you don't want an
added feature, such as blinking, to interrupt a basic function
of the sprite, such as the frame delay.
<P>
The <TT><FONT FACE="Courier">incFrame</FONT></TT> method does
one other thing worth pointing out. If you think about it, a blink
must consist of going through the frame animations forward (to
close the eye) and then backward (to open the eye again). The
standard implementation of <TT><FONT FACE="Courier">incFrame</FONT></TT>
in <TT><FONT FACE="Courier">Sprite</FONT></TT>, which you saw
last week, always goes in a constant direction-that is, forward
or backward as determined by the sign of the <TT><FONT FACE="Courier">frameInc</FONT></TT>
member variable. In <TT><FONT FACE="Courier">Eye</FONT></TT>'s
<TT><FONT FACE="Courier">incFrame</FONT></TT>, you want the frame
animations to go forward and then backward without having to fool
with <TT><FONT FACE="Courier">frameInc</FONT></TT>. The <TT><FONT FACE="Courier">if-else</FONT></TT>
clause in <TT><FONT FACE="Courier">incFrame</FONT></TT> solves
this problem beautifully.
<P>
That finishes up the WildAnimals sample applet. It proves that
sound in Java is not only fun, but it is also easy to implement!
<H2><A NAME="Summary"><B><FONT SIZE=5 COLOR=#FF0000>Summary</FONT></B></A>
</H2>
<P>
Today you learned all about how sound is used in Java. You started
off by learning how Java supports sound through the <TT><FONT FACE="Courier">AudioClip</FONT></TT>
class and a few methods in the <TT><FONT FACE="Courier">Applet</FONT></TT>
class. You then progressed to building a complete applet using
sound to create somewhat of a virtual wilderness at night. It
showed you how easy it is to add sound to Java applets. It also
was a good example of how the sprite classes can be used in new
and creative ways.
<P>
You now have all the background necessary to add sound to any
Java applet you write, including games. Speaking of games, it's
almost time for you to write another one. But that will have to
wait until tomorrow!
<H2><A NAME="QA"><B><FONT SIZE=5 COLOR=#FF0000>Q&amp;A</FONT></B></A>
<BR>
</H2>

<TABLE>
<TR VALIGN=TOP><TD WIDTH=50><B>Q</B></TD><TD><B>Do I have to do anything special to mix sounds in Java?</B>
</TD></TR>
<TR VALIGN=TOP><TD WIDTH=50><B>A</B></TD><TD>No. The Java sound support automatically handles mixing sounds that are being played at the same time. This might seem trivial, but it is actually a very nice feature.
</TD></TR>
<TR VALIGN=TOP><TD WIDTH=50><B>Q</B></TD><TD><B>How do I play MIDI music in Java?</B>
</TD></TR>
<TR VALIGN=TOP><TD WIDTH=50><B>A</B></TD><TD>Right now, you can't. The current version of Java (1.0) doesn't provide any support for MIDI, but hopefully it will appear in a later release. Sun has promised more extensive multimedia features in the near 
future. For now, you can record music as an audio clip and then loop it; more on this tomorrow.
</TD></TR>
<TR VALIGN=TOP><TD WIDTH=50><B>Q</B></TD><TD><B>In the WildAnimals applet, how can I make the eyes blink faster?</B>
</TD></TR>
<TR VALIGN=TOP><TD WIDTH=50><B>A</B></TD><TD>Decrease the blink delay parameter passed into the constructor. More specifically, decrease the number used in the modulus operation after the call to <TT><FONT FACE="Courier">nextInt</FONT></TT>.
</TD></TR>
<TR VALIGN=TOP><TD WIDTH=50><B>Q</B></TD><TD><B>How can I add more animals to the WildAnimals applet?</B>
</TD></TR>
<TR VALIGN=TOP><TD WIDTH=50><B>A</B></TD><TD>The first step is to record or find more animal sounds and copy them to the <TT><FONT FACE="Courier">Res</FONT></TT> directory. You then need to increase the size of the <TT><FONT FACE="Courier">clip</FONT></TT> 
array of <TT><FONT FACE="Courier">AudioClip</FONT></TT> objects and load the new sounds in <TT><FONT FACE="Courier">init</FONT></TT> using the <TT><FONT FACE="Courier">getAudioClip</FONT></TT> method. Finally, in the call to <TT><FONT 
FACE="Courier">play</FONT></TT>  in the <TT><FONT FACE="Courier">run</FONT></TT> method, increase the number used to index into the <TT><FONT FACE="Courier">clip</FONT></TT> array (it is currently <TT><FONT FACE="Courier">5</FONT></TT>).
</TD></TR>
</TABLE>
<P>
<H2><A NAME="Workshop"><B><FONT SIZE=5 COLOR=#FF0000>Workshop</FONT></B></A>
</H2>
<P>
The Workshop section provides questions and exercises to help
you get a better feel for the material you learned today. Try
to answer the questions and at least think about the exercises
before moving on to tomorrow's lesson. You'll find the answers
to the questions in appendix A, &quot;Quiz Answers.&quot;
<H3><A NAME="Quiz"><B>Quiz</B></A></H3>
<OL>
<LI>Are any other sound formats supported by Java besides the
AU format?
<LI>Why should you use the <TT><FONT FACE="Courier">getCodeBase</FONT></TT>
method to get a base URL for a sound rather than the <TT><FONT FACE="Courier">getDocumentBase</FONT></TT>
method?
<LI>When would you need to use an <TT><FONT FACE="Courier">AudioClip</FONT></TT>
object rather than the <TT><FONT FACE="Courier">play</FONT></TT>
method in the <TT><FONT FACE="Courier">Applet</FONT></TT> class?
<LI>How do you stop a looped sound after it has started playing?
</OL>
<H3><A NAME="Exercises"><B>Exercises</B></A></H3>
<OL>
<LI>Draw or find an image containing some animals and use it as
the background. Hint: Use the <TT><FONT FACE="Courier">ImageBackground</FONT></TT>
class instead of the <TT><FONT FACE="Courier">ColorBackground</FONT></TT>
class when creating the <TT><FONT FACE="Courier">SpriteVector</FONT></TT>.
<LI>Try out different values for the blink delay of the eyes.
<LI>Add more animal sounds.
<LI>Modify the <TT><FONT FACE="Courier">Eye</FONT></TT> class
so that the eyes look like the animals are walking around.
</OL>
<P>
<HR WIDTH="100%"></P>

<CENTER><P><A HREF="ch11.htm"><IMG SRC="pc.gif" BORDER=0 HEIGHT=88 WIDTH=140></A><A HREF="index.htm"><IMG SRC="hb.gif" BORDER=0 HEIGHT=88 WIDTH=140></A><A HREF="#CONTENTS"><IMG SRC="cc.gif" BORDER=0 HEIGHT=88 WIDTH=140></A><A HREF="ch13.htm"><IMG 
SRC="nc.gif" BORDER=0 HEIGHT=88 WIDTH=140></A></P></CENTER>

<P>
<HR WIDTH="100%"></P>

</BODY>
</HTML>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色丁香久久婷婷综合丁香| 99re成人在线| 国产一区二区三区黄视频 | 2021中文字幕一区亚洲| 国产精品网友自拍| 综合久久综合久久| 午夜精品在线视频一区| 国产乱码精品1区2区3区| 成人做爰69片免费看网站| eeuss影院一区二区三区 | 欧美色综合久久| 在线播放91灌醉迷j高跟美女| 精品国偷自产国产一区| 亚洲最大色网站| 国产一区二区在线看| 日本韩国一区二区三区视频| 日韩一区二区精品| 最新不卡av在线| 国产激情一区二区三区四区| 色婷婷激情一区二区三区| 欧美电影免费观看高清完整版在 | 婷婷中文字幕一区三区| 91毛片在线观看| 国产精品欧美一级免费| 国产在线不卡视频| 欧美日韩色综合| 亚洲超碰97人人做人人爱| 93久久精品日日躁夜夜躁欧美| 26uuu国产日韩综合| 麻豆精品新av中文字幕| 欧美一区二区三区免费在线看| 中文字幕在线不卡一区| 丰满少妇久久久久久久| 日韩欧美国产一二三区| 日本在线不卡视频一二三区| 欧美一区二区三区在线视频| 日韩精彩视频在线观看| 欧美日韩亚洲高清一区二区| 亚洲一区免费在线观看| 91免费观看在线| 亚洲欧美日韩成人高清在线一区| 91亚洲精品一区二区乱码| 亚洲免费观看高清完整版在线| 成人久久18免费网站麻豆| 国产欧美一区二区三区网站 | 色香色香欲天天天影视综合网| 一区二区三区视频在线看| 日韩一区二区中文字幕| 国产成人精品免费在线| 亚洲免费av网站| 国产精品美女久久久久久| 99国内精品久久| 男女激情视频一区| 中文字幕在线观看一区| 日韩欧美一区在线| 欧美午夜精品久久久久久超碰 | 午夜伊人狠狠久久| 国产色婷婷亚洲99精品小说| 在线观看不卡一区| 成人福利视频网站| 韩国欧美国产一区| 美女国产一区二区| 亚洲码国产岛国毛片在线| 精品久久久久久无| 日韩午夜在线影院| 日韩免费一区二区| 色婷婷国产精品久久包臀| 国产一区二区三区四| 美洲天堂一区二卡三卡四卡视频| 亚洲精品国产成人久久av盗摄| 国产亚洲一区二区三区四区| 91精品国产全国免费观看| 欧美日韩一区视频| 欧美一级片在线看| 久久久噜噜噜久久中文字幕色伊伊 | 91色.com| 欧美三级视频在线| 欧美一区三区四区| 久久亚洲春色中文字幕久久久| 国产欧美精品一区二区色综合| 日本一区二区三区四区在线视频| 国产精品免费av| 亚洲福利一二三区| 国产一区二区三区最好精华液| 懂色av中文一区二区三区| 91久久国产最好的精华液| 欧美色精品在线视频| 精品国产一区二区三区不卡| 亚洲女同一区二区| 韩国一区二区在线观看| 欧美自拍偷拍一区| 国产精品国产三级国产普通话99| 日本免费在线视频不卡一不卡二| 成人免费视频一区二区| 精品久久99ma| 婷婷综合另类小说色区| av电影在线观看完整版一区二区| 欧美日产国产精品| 亚洲国产成人高清精品| 日本韩国一区二区| 亚洲五月六月丁香激情| 色综合久久久久综合体桃花网| 国产区在线观看成人精品 | 不卡的av中国片| 6080午夜不卡| 亚洲人成伊人成综合网小说| 一区二区欧美视频| 亚洲国产一二三| 欧美色图一区二区三区| 国产精品美女久久久久aⅴ | 毛片av中文字幕一区二区| 国产在线精品不卡| av在线一区二区| 精品国产精品一区二区夜夜嗨| 亚洲柠檬福利资源导航| 国内不卡的二区三区中文字幕| 欧美日韩中文字幕一区| 精品视频一区二区三区免费| 国产精品妹子av| 国产成人在线看| 欧美日韩一级二级| 韩国成人福利片在线播放| 精品视频资源站| 亚洲一区二区三区在线看| 91丨porny丨蝌蚪视频| 欧美美女bb生活片| 亚洲国产精品影院| 日韩欧美国产小视频| 久久99深爱久久99精品| 亚洲精品在线网站| 午夜伦理一区二区| 日韩精品中午字幕| 成人性生交大片免费看中文网站| 亚洲最大成人网4388xx| 欧美日本一区二区| 国产真实乱对白精彩久久| 国产清纯白嫩初高生在线观看91| 国产一区二区视频在线| 欧美成人官网二区| 欧美一区二区三区四区在线观看| 丝袜诱惑制服诱惑色一区在线观看| 91精品欧美综合在线观看最新| 韩国v欧美v日本v亚洲v| 亚洲黄网站在线观看| 日韩精品一区二区三区视频播放 | 国产精品电影院| 久久久久99精品一区| 色综合天天在线| 美女脱光内衣内裤视频久久网站| 精品国产a毛片| 91激情五月电影| 极品少妇一区二区三区精品视频| 亚洲精品乱码久久久久| 亚洲一区二区三区四区中文字幕| 制服丝袜亚洲网站| 欧美区一区二区三区| 91老司机福利 在线| 欧美麻豆精品久久久久久| 北岛玲一区二区三区四区| 极品少妇xxxx精品少妇| 午夜av一区二区三区| 日韩精品午夜视频| 美女脱光内衣内裤视频久久影院| 国产中文一区二区三区| 久久99久久99| 国产乱子轮精品视频| 韩国三级在线一区| 一区二区三区四区在线免费观看| 欧美激情一区二区三区| 秋霞电影网一区二区| 九一九一国产精品| 成人午夜免费视频| 欧美日韩一级黄| 一区二区在线观看不卡| 亚洲国产va精品久久久不卡综合| 午夜精品久久久久久久| 免费看日韩a级影片| 国产精品自产自拍| 欧美影院一区二区| 精品国产乱码久久久久久1区2区| 久久久国产精品午夜一区ai换脸 | 日本vs亚洲vs韩国一区三区二区| 亚洲高清不卡在线| 日韩av高清在线观看| 欧美精品视频www在线观看| 久久精品亚洲麻豆av一区二区| 国产精品黄色在线观看| 日韩国产精品大片| 欧美日韩精品一区二区三区四区 | 日韩亚洲欧美在线观看| 亚洲一区欧美一区| 色老汉av一区二区三区| 国产欧美日韩亚州综合| 国产91高潮流白浆在线麻豆| 日韩欧美国产不卡| 国产一区二区影院| av一区二区久久| 日韩码欧中文字| 欧美在线一二三| 国产一区二区三区香蕉|