欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

關于FLASH留言板的詳細教程_Flash教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:AS3中的PNG編碼—用FLASH生成PNG
注:耗子英語水平一般,可能有寫地方翻譯(或許稱不上翻譯)的驢唇不對馬嘴,但是希望大家能從這篇文章中學到一點東西:)呵呵。有紕漏的地方希望大家指正。關

基于網頁的留言板,我們已經見得很多,一個完整的留言板包括三個部分:
1. 顯示留言的頁面(顯示朋友們給我的留言)
2. 填寫留言的頁面 (向后臺提交信息)
3. 數據庫(用于保存后臺信息)
關于如何制作基于網頁的留言板,不去多作解釋,可以參考相關資料。
就目前而言,FLASH是不可以直接操作象ACCESS, SQL, Mysql 等數據庫的,他只能依靠ASP ,PHP ,JSP等其他的語言來實現數據的提交和查詢。同時,FLASH還可以和XML對接,實現一些數據的操作。

FLASH和ASP的交互
無論是ASP,PHP還是JSP等其他語言,原理大都一樣,本人對ASP熟悉一點,所以以下只講解FLASH與ASP的對聯;
查看FLASH的幫助文件,可以找到好幾種的交互方法,
本人使用最多的還是:
loadVariablesNum(url:String, level:Number, [method:String]) : Void
loadVariablesNum(參數1,參數2,參數3),參數1為變量所處位置的絕對或相對 URL,參數2為一個整數,指定 Flash Player 中接收這些變量的級別
參數3為發送變量的 HTTP 方法,常用的有"get"和"POST",推薦使用"POST"方法。
例1:新建一個flash文件,拖一個可輸入的文本框組件,取實例名為name_txt,再拖入一個按鈕組件到場景中,取實例名為send_btn,在第一幀上寫

_root.send_btn.onRelease=function()
{
if(_root.name_txt.text!="")
{
myname=_root.name_txt.text;
loadVariablesNum("write.asp",0,"POST");
}
}

那么,測試影片后,在文本框中,輸入一個不為空的字符后,點擊發送按鈕后,輸入的內容,將被提交到同一個文件夾中的名為"write.asp"中去!
write.asp通過Request.Form("myname")的方法,就可以得到提交過來的數據,這里就簡單的實現了 FLASH向ASP提交數據。
接下來看看FLASH如何從ASP讀數據:
例2:新建一個flash文件,拖一個動態文本框組件到場景中,取實例名為read_txt,在第一幀上寫

loadVariablesNum("read.asp",0,"POST");
_root.read_txt.text=myname;

理論上測試后,read_txt文本框會顯示read.asp提交過來的myname中的值,但是有時候不能夠保持實時性,經常得不到數據,相信也有許多朋友
會碰到同樣的問題,這里講兩個小技巧。

技巧一:
首先可以在FLASH初一個變量為 active_old=0; 在ASP中Response.Write("active_new=1")
那么FLASH里可以寫上:

active_old=0;
_root.onEnterFrame=function()
{
loadVariablesNum("read.asp",0,"POST");
_root.active_old=active_new;
_root.read_txt.text=myname;
if(_root.active_old==1)
{
delete _root["onEnterFrame"];
}

}

此段代碼表示,開始FLASH會不斷地訪問read.asp,read.asp會把變量active_new傳遞給FLASH中的_root.active_old,當_root.active_old改變后,
將停止事件。

技巧二:
使用loadVariablesNum("read.asp?temp=" random(10000),0,"POST");的方式,在每次訪問時會得到最新的數據,不會再使用緩存中的信息。

關于ASP中的代碼如何書寫,不再多作解釋,重點講解FLASH如何準確和及時得到數據庫里的數據,達到我們期望的功能。

[備注]
我們常會碰到,中文提交到數據庫后,數據顯示出來為亂碼,主要是由于編碼的原因,只要在ASP中寫上 codePage=”936”%>

FLASH和XML的交互

應該來說,用XML和FLASH來交換數據,還是不錯的選擇,首先,XML可以根據我們的需要,很清楚地定義其結構,FLASH也可以很輕易去解釋信息。

例3:

myxml=new XML(); //創建一個XML新對象
myxml.ignoreWhite=true; //空白忽略
myxml.load(“music.xml”); //加載同目錄下的music.xml文件
myxml.onLoad=function(success)
{
if(success)
{
ReadXML();
trace(“加載成功”);
}else
{
trace(“加載失敗”);
}
}

以上的代碼就能夠檢測xml是不是加載到FLASH中去了。
以下是個簡單的XML文件

name=”song1” url=”mp3/01.mp3” />
name=”song2” url=”mp3/02.mp3” />
name=”song3” url=”mp3/03.mp3” />

XML加載進來后,我們需要做的是去解析和提取數據,為我們所用。
以上ReadXML()函數就用來讀數據。

Function ReadXML()
{
myArray=myxml.firstChild.childNodes; //把myxml的第一個子結點所有的數據以數組的方式給myArray
totalNumber= myArray.length; //
for( i=0; i< totalNumber ; i )
{
arr_1= myArray[i].attributes.name;
arr_2=myArray[i].attributes.url;
}
}

現在,我們可以得到的結果是,在數組arr_1中保存了所有歌曲的名字,在數組arr_2中保存了所有歌曲的路徑,我們就可以使用loadSound()等方法制作一個自己的播放器了!


XML與ASP

Xml和ASP各有各的優勢,xml數據結構很清楚,但是沒有ASP靈活,而且還可以查詢和修改數據庫,所以想一想,假如用ASP來動態生成xml,那么我們就可以兩全其美了!
這里需要一點ASP知識!
以下一段實現ASP生成指定的XML。

response.ContentType="text/xml"
if request.QueryString("Page")<>"" then
Page=Cint(request.QueryString("Page"))
else
Page=1
end if
pgsz=5
%>
DataBaseName="Manage/Message/Message.mdb"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(DataBaseName)
set rs=server.CreateObject("Adodb.recordset")
rs.open "Select * from Message order by addtime desc",conn,1,1
if not rs.eof then
rs.pagesize=pgsz
Rs.Absolutepage=Page
%>
" Pagecount="" PageSize="" Recordcount="">

i=0
do while not rs.eof and i
%>
" Sex="" Email="" Time="--" Homepage="" Title="" Content="" Reply=""/>

i=i 1
rs.movenext
loop
%>

end if
rs.close
set rs=nothing
Conn.Close
set Conn=Nothing
%>


[備注]
我們常會碰到,XML中假如有中文,將會成亂碼,所以只要在flash中寫上
System.useCodePage=true,就OK了!

以上只是些基礎知識,下面具體講解留言板的制作和要害:

效果地址:http://www.u-lee.com/bbs.htm
是我的第一個版本的留言板
留言板主要包括以下功能:游戲,留言(提交留言),播放音樂(mp3),治理功能(刪除留言)
使用到的技術:AS,ASP,XML, database
需要解決的技術問題:
1.留言內容的分頁顯示,
2,使用List組件顯示歌曲列表,列表使用XML動態更新,
3,使用ScrollPan組件存放留言內容,當有新的留言內容產生時,自動調整位置,最新留言置頂,
4,加載聲音文件,如何實現播放完一首歌曲后,自動換到下一首,
5,刪除留言自動調整頁面。

原理是把所有的數據用ASP提取出來,然后由FLASH來判定,使用split方法,把數據存到數組里去,需要時,再去取,這樣有一個弱點,就是使用起來,分頁時,會把不需要的數據也調用了進來,不是很科學!
接下來講的是改進后的版本。原理是用ASP動態生成XML,當分頁時,點下一頁時,繼續訪問ASP,從新生成第二頁的XML,都由FLASH訪問XML,來加載數據,由ASP訪問數據庫,讀和寫數據。
V2.0 版本中FLASH原文件共有3個,leave.swf 只是個容器,把write.swf和leave.swf 加載到里面去。
write.swf為提交數據,read.swf 為讀數據.
leave.swf :
兩個按鈕 , 一個 查看留言 btn1 一個我要留言.btn2

btn1: _parent.mess.loadMovie("read.swf");
btn2: _parent.mess.loadMovie("write.swf");

其中還有, 上一頁 和下一頁 以及一個下拉條
主要代碼:

xiala.onEnterFrame = function() { //下拉的位置,控制著留言內容mess的位置
if (ggg == 1) {
mess._y = 28;
} else {
y = xiala.btn._y;
yy = y/dist1;
mess._y = b_2*yy 30;
}
};
write.swf

(圖片見word文檔)

主要代碼:

System.useCodepage = true; //支持中文編碼
this_mc._visible = false; // this_mc 為一個填寫錯誤提示的影片剪輯
this_sex = "先生"; //默認sex為先生
function clean() { // 點取消按鈕時,清空所有數據
this_name.text = "";
this_homepage.text = "";
this_email.text = "";
this_title.text = "";
this_content.text = "";
}
function emailcheck(str) { //檢測email填寫是否正確,判定是否有@ 和 點
at = false;
dot = false;
for (i=0; i
if (str.charAt(i) == ’@’) {
at = true;
}
if (str.charAt(i) == ’.’) {
dot = true;
}
}
return (at && dot);
}
clean_btn.onRelease = function() {
clean();
};
send_btn.onRelease = function() { //提交按狃代碼
if (this_name.text == "") {
this_mc._visible = true;
this_mc.tishi.text = "姓名不能為空!";
} else if (emailcheck(this_email.text) == false) {
this_mc._visible = true;
this_mc.tishi.text = "請正確填寫郵件!";
} else if (this_title.text == "") {
this_mc._visible = true;
this_mc.tishi.text = "主題不能為空!";
} else if (this_content.text == "") {
this_mc._visible = true;
this_mc.tishi.text = "內容不能為空!";
} else {
myName = this_name.text;
myHomepage = this_homepage.text;
if (myHomepage == "") {
myHomepage = "http://www.u-lee.com";
}
myEmail = this_email.text;
myTitle = this_title.text;
myContent = this_content.text;
mySex = this_sex;
trace(myName);
trace(myHomepage);
trace(myEmail);
trace(myTitle);
trace(myContent);
trace(mySex);
loadVariablesNum("write.asp", 0, "POST"); // 假如填寫的數據全部合格,將提交數據到write.asp
_parent.page_num = 1;
_parent.prev_btn._visible = false;
_parent.txt._visible = true;
_parent.xiala._visible = true;
_parent.next_btn._visible = true;
_parent.btn2.gotoAndStop(1);
_parent.btn1.gotoAndStop(2);
_parent.ggg = 0;
_parent.mess.unloadMovie();
_parent.mess.loadMovie("read.swf"); //提交后,自動轉入顯示留言的頁面
}
};
listenerObject_1 = new Object(); // 偵聽事件,假如選擇了"先生"則this_sex = "先生";
listenerObject_1.click = function(eventObject) {
this_sex = "先生";
};
listenerObject_2 = new Object();
listenerObject_2.click = function(eventObject) { // 偵聽事件,假如選擇了"先生"則this_sex = "女士";
this_sex = "女士";
};
sex_1.addEventListener("click", listenerObject_1);
sex_2.addEventListener("click", listenerObject_2);
stop();
read.swf

以上是一個空影片剪接,用于放置留言信息, 想想假如我想每頁顯示5個,那么 我需要復制5個這樣的影片,放到場景中, 再把從xml中的提取出來的數據注入到每個影片中的 1-5個 動態文本框中去.
如何讀數據,上面已經講過了, 現在 只要把數據賦給動態文本框中就可以了. 需要注重的是,我們選用的是自定義的文本框,首先確保他是多行的并且是自動換行的,所以我們考慮的是,文本框的高度必須根據內容的多少來顯示。以下代碼就可以實現:

scroll_1 = this.message_load_mc["message_mc" i].content_txt.maxscroll; //取得內容的最大滾動量
this.message_load_mc["message_mc" i].content_txt._height = scroll_1*18;
//一行文本,假如是12號字大約是18px,那么*18后,就可以得到content_txt._height 了
回復同樣也是這樣另外,低色的高度也要根據上面內容來確定。
this.message_load_mc["message_mc" i].back_2._y= this.message_load_mc["message_mc" i].back_1._y this.message_load_mc["message_mc" i].back_1._height 2
//得到back_2._y 坐標。

完整的代碼:

stop();
System.useCodepage = true;
//現在是第幾頁,由_root里的this_nowpage來傳給它,在場景中定義
this_nowpage = _parent.page_num;
temp = 0;
read_xml = new XML();
read_xml.ignoreWhite = true;
read_xml.load("DataSource.asp?Page=" this_nowpage "&" Math.random(10000));
// 刷新DataSource.asp,保證不使用緩存里的數據
read_xml.onLoad = function(success) {
if (success) {
trace("OK");
parseXML();
} else {
trace("加載失敗");
}
};
function parseXML() {
name_arr = new Array();
sex_arr = new Array();
email_arr = new Array();
time_arr = new Array();
homepage_arr = new Array();
title_arr = new Array();
content_arr = new Array();
reply_arr = new Array();
total_arr = new Array();
total_arr = read_xml.firstChild.firstChild.childNodes;
//---------總記錄數-------
totalRecord = read_xml.firstChild.firstChild.attributes.Recordcount;
//---------總頁數---------
totalPage = read_xml.firstChild.firstChild.attributes.Pagecount;
_parent.total_1 = totalPage;
//---------當前頁數--------
now_Page = read_xml.firstChild.firstChild.attributes.CurPage;
//---------每頁顯示記錄數-------
page_size = read_xml.firstChild.firstChild.attributes.PageSize;
trace(totalRecord);
trace(totalPage);
trace(now_Page);
for (i=0; i
name_arr[i] = total_arr[i].attributes.Name;
sex_arr[i] = total_arr[i].attributes.Sex;
email_arr[i] = total_arr[i].attributes.Email;
time_arr[i] = total_arr[i].attributes.Time;
homepage_arr[i] = total_arr[i].attributes.Homepage;
title_arr[i] = total_arr[i].attributes.Title;
content_arr[i] = total_arr[i].attributes.Content;
reply_arr[i] = total_arr[i].attributes.Reply;
}
showmessage();
}
function showmessage() {
_parent.txt._visible = true;
_parent.txt.total_txt.text = "一共有" totalRecord "記錄";
_parent.txt.nowpage_txt.text = this_nowpage "/" totalPage;
for (i=0; i
this.message_load_mc.attachMovie("message_mc", "message_mc" i, i);
this.message_load_mc["message_mc" i].name_txt.text = name_arr[i] "(" sex_arr[i] ")";
this.message_load_mc["message_mc" i].title_txt.text = title_arr[i];
this.message_load_mc["message_mc" i].content_txt.text = content_arr[i];
this.message_load_mc["message_mc" i].reply_txt.text = reply_arr[i];
trace(this.message_load_mc["message_mc" i].reply_txt.text);
this.message_load_mc["message_mc" i].time_txt.text = time_arr[0];
this.message_load_mc["message_mc" i].back_2._y = this.message_load_mc["message_mc" i].back_1._y this.message_load_mc["message_mc" i].back_1._height 2;
scroll_1 = this.message_load_mc["message_mc" i].content_txt.maxscroll;
this.message_load_mc["message_mc" i].content_txt._height = scroll_1*18;
this.message_load_mc["message_mc" i].back_2._height = this.message_load_mc["message_mc" i].content_txt._height 15;
scroll_2 = this.message_load_mc["message_mc" i].reply_txt.maxscroll;
this.message_load_mc["message_mc" i].reply_txt._height = scroll_2*18;
if (this.message_load_mc["message_mc" i].reply_txt.text == "") {
this.message_load_mc["message_mc" i].back_3._height = 30;
} else {
this.message_load_mc["message_mc" i].back_3._height= this.message_load_mc["message_mc" i].reply_txt._height 10;
}
this.message_load_mc["message_mc" i].back_3._y= this.message_load_mc["message_mc" i].back_2._y this.message_load_mc["message_mc" i].back_2._height 2;
this.message_load_mc["message_mc" i].txt_1._y= this.message_load_mc["message_mc" i].back_3._y 5;
this.message_load_mc["message_mc" i].reply_txt._y= this.message_load_mc["message_mc" i].txt_1._y;
this.message_load_mc["message_mc" i]._x = 0;
this.message_load_mc["message_mc" i]._y = temp;
temp = temp this.message_load_mc["message_mc" i]._height 15;
this.message_load_mc["message_mc" i].btn1.onRelease = function() {
homepage_num = Number(this._parent._name.slice(10));
str_1 = homepage_arr[homepage_num];
getURL(str_1, "_blank");
};
this.message_load_mc["message_mc" i].btn2.onRelease = function() {
email_num = Number(this._parent._name.slice(10));
str_2 = email_arr[email_num];
getURL("mailto:" str_2);
trace(str_2);
};
}
trace(" " this._height);
_parent.b_2 = -1*this._height 250;
}

以上的所有的操作,測試時需要在ASP環境下。
以上假如有不確當的術語,請諒解!
感謝您閱讀我的心得!謝謝!
可以把“FLASH留言板原文件” 中的內容全拷到ASP環境下
如 /web/index.html 就可以了
文件夾中提供了后臺治理系統供大家學習和測試flash.rar

分享:Flash中MP3導入及同步歌詞的方法
了解音樂的幾種常見格式:1、mp3(mpeg-1audiolayer3):能夠以高音質、低采樣率對數字音頻文件進行壓縮。換句話說,音頻文件(主要是大型文件,比如WAV文件

來源:閃吧//所屬分類:Flash教程/更新時間:2008-03-05
相關Flash教程
天堂av8在线| 久久久av毛片精品| 欧美三级欧美成人高清www| 久久资源免费视频| 中文字幕一区二区三区最新| 91大神福利视频| 日韩精品一区二区三区中文在线 | 亚洲精品中文字幕乱码三区| 欧美激情精品久久久| 亚洲国产精品综合| 欧美成人一二三区| 亚洲自拍电影| 久久久www成人免费无遮挡大片| 中文字幕一精品亚洲无线一区 | 亚洲视频自拍| 国产成人激情av| 亚洲美女av网站| 在线看视频不卡| 国产成人精品a视频一区| 九九亚洲精品| 亚洲欧洲国产专区| 性欧美xxxx视频在线观看| 黄色片在线免费| 亚洲av无码一区二区乱子伦| 日韩福利视频导航| 欧美大片在线观看一区二区| 日本电影一区二区三区| 青娱乐在线视频免费观看| 另类ts人妖一区二区三区| 欧美极品另类videosde| 久久久久这里只有精品| 狠狠操狠狠干视频| 超碰aⅴ人人做人人爽欧美| 久久精品日韩欧美| 日韩欧美久久一区| 午夜免费电影一区在线观看| 日韩xxxxxxxxx| 香蕉视频国产精品| 欧美视频二区36p| 96国产粉嫩美女| 中文字幕xxx| 超碰成人在线观看| **欧美大码日韩| 国产精品mp4| www.男人天堂| 欧一区二区三区| 国产精品视频在线看| 欧洲精品毛片网站| 国产 xxxx| 日韩中文字幕在线一区| 国产精品久久毛片a| 欧美一级片免费在线| 永久免费看片在线观看| 欧美伊人亚洲伊人色综合动图| av一区二区不卡| 欧美激情精品久久久久久大尺度| 激情网站五月天| 国产又粗又黄视频| 激情综合亚洲精品| 中文字幕欧美精品日韩中文字幕| 亚洲午夜无码av毛片久久| a在线观看视频| 国产一区美女在线| 久久av.com| 欧美美女性视频| 日韩深夜福利网站| 中文字幕在线观看一区| 国产欧美精品一区二区三区-老狼| 六月婷婷七月丁香| 国产影视一区| 色先锋aa成人| 欧美午夜精品久久久久久蜜| 人妻 日韩精品 中文字幕| 久久国产主播| 国产亚洲免费的视频看| 成人性免费视频| 亚洲精品一区二区三区区别| 成人精品视频一区二区三区尤物| 欧美成人精品激情在线观看| 久久久久久国产精品日本| 亚洲精品国产九九九| 亚洲欧美日韩中文字幕一区二区三区| 91免费在线看片| 香蕉久久久久久久| 正在播放一区二区三区| 11024精品一区二区三区日韩| 久久国内精品自在自线400部| 中文字幕少妇一区二区三区| 亚洲a级黄色片| 一区二区亚洲视频| 欧美视频中文字幕在线| 日本一区二区高清视频| 久久这里只有精品9| 开心九九激情九九欧美日韩精美视频电影 | 91亚洲免费视频| 91蜜桃臀久久一区二区| 亚洲曰韩产成在线| 蜜桃传媒一区二区| 久久精品偷拍视频| 国产一区中文字幕| 久久久久久久久久亚洲| 香蕉视频污视频| 日韩理论电影中文字幕| 欧美午夜精品久久久| 在线观看成人av| 蜜桃91麻豆精品一二三区| 国产欧美一区二区精品性色超碰| 91精品在线一区| 国产成人无码精品亚洲| 久久精品人人| 欧美大片在线影院| 色一情一交一乱一区二区三区| 欧美一区二区| 亚洲国产欧美一区| 91视频免费版污| 国产精品日本一区二区三区在线| 亚洲一二三四久久| 亚洲欧洲日韩综合二区| 欧美特黄一级视频| 久久蜜桃av一区二区天堂 | 精品一区二区男人吃奶| 欧美特级限制片免费在线观看| 永久免费在线看片视频| 欧美大片免费| 亚洲国产精品视频| 成人手机视频在线| 亚洲一区二区三区四区| 一片黄亚洲嫩模| 亚洲人成网站在线观看播放| 污污视频在线免费看| 尤物视频一区二区| 亚洲最新在线| 日韩成人亚洲| 亚洲欧洲成人自拍| 亚洲女人毛片| 天天摸天天干天天操| 亚洲精品日韩专区silk| 国产在线欧美日韩| 国产精品一级视频| 国产精品毛片高清在线完整版| 国产高清一区视频| 亚洲天堂视频在线播放| 成人午夜在线视频| 国产精品18久久久久久首页狼| 免费中文字幕视频| 国产激情一区二区三区桃花岛亚洲| 国产精品1234| 亚洲色成人www永久网站| 成人97人人超碰人人99| 99精品在线直播| 久久精品无码av| 99综合电影在线视频| 爱情岛论坛亚洲入口| 中文字幕免费播放| 国产精品视频一二三区| 性欧美精品一区二区三区在线播放 | 黄色三级视频片| 婷婷精品在线| 亚洲第一区第二区| 日韩av一二三四| 深爱激情综合网| 亚洲人成毛片在线播放| 国产女人18毛片水真多18| 欧美深夜福利| 久久频这里精品99香蕉| 三级全黄做爰视频| 丝袜亚洲另类欧美综合| 日本精品视频网站| 日韩欧美大片在线观看| 91影院在线观看| 欧美二区三区| 91精品韩国| 欧美系列一区二区| 欧美日韩在线观看不卡| 日韩电影一区| 中文字幕九色91在线| 99re6热在线精品视频| 狂野欧美一区| 国产在线久久久| 国产精品一区二区免费视频| 成人免费一区二区三区视频 | 国产一区二区三区在线视频| 久久午夜精品视频| 亚洲黄色一区| 欧美资源在线观看| 最新中文字幕第一页| 亚洲免费观看高清完整版在线观看熊| 国产精品videossex国产高清 | 亚洲精品久久久一区二区三区 | 日韩中文字幕网站| 久久久久久蜜桃| 国产成+人+日韩+欧美+亚洲| 久久久久久草| 亚洲国产成人在线观看| 亚洲影视在线播放| 国产视频九色蝌蚪| 欧美猛男做受videos| 最近2019中文字幕mv免费看| 69av.com| 国产夜色精品一区二区av| 亚洲婷婷在线| 91福利在线免费观看| 成人亚洲免费视频| 国产精品亚洲欧美| 91精品在线观| 国产免费不卡| 欧美一区二区三区免费视频| 自拍视频一区二区| 极品尤物av久久免费看| 欧美精彩一区二区三区| 国产一区一区| 亚洲福利视频网| 一级黄色片网址| 国产麻豆视频一区| 日本不卡一区二区三区视频| 蜜桃精品一区二区三区| 亚洲天堂久久av| 黄色小说在线观看视频| 国产精品视频看| 妞干网在线观看视频| 狠狠色狠狠色综合婷婷tag| 精品少妇v888av| 国产精品51麻豆cm传媒 | 成人欧美一区二区三区黑人麻豆| 欧美一级在线看| 午夜日韩av| 成人国产精品色哟哟| 国产精品高清乱码在线观看| 精品日产卡一卡二卡麻豆| 蜜桃无码一区二区三区| av一区二区三区黑人| 永久免费网站视频在线观看| 欧美日韩中文一区二区| 91成人福利在线| 一区二区三区黄| 色88888久久久久久影院野外| 中文字幕1区2区| 国产一区二区三区在线观看精品| 久久久婷婷一区二区三区不卡| 四虎国产精品永久在线国在线| 亚洲欧美国产视频| 天堂网一区二区三区| 亚洲国产成人av网| 亚洲欧美在线精品| 蜜桃视频一区二区| 图片区小说区区亚洲五月| 国产麻豆精品久久| 国产91精品青草社区| 欧美在线精品一区二区三区| 日韩精品中午字幕| 黄色一级视频免费| 一区二区三区久久久| 特黄特黄一级片| 国产精品亚洲专一区二区三区| 最新欧美日韩亚洲| 色天天久久综合婷婷女18| 国产精品欧美激情在线播放| 欧美三区四区| 一区二区成人av| 亚洲精品久久久久久久蜜桃| 色一情一乱一乱一91av| 精品无码在线观看| 国产精品麻豆欧美日韩ww| 夫妻免费无码v看片| 亚洲三级观看| 久久精品国产精品国产精品污 | 国产精品久久久久久久9999| 亚洲精品.com| 亚洲欧美日韩精品久久| 神马久久久久久久| 欧美日韩国产精品自在自线| 欧美性受xxxx黑人| ●精品国产综合乱码久久久久 | 成人精品一区二区三区电影| 中文字幕国产精品久久| 国产毛片aaa| 日本高清成人免费播放| 久久国产柳州莫菁门| 亚洲视频你懂的| 美女露出粉嫩尿囗让男人桶| 91视频一区二区三区| 免费 成 人 黄 色| 日韩精品一卡二卡三卡四卡无卡| 日本高清一区| 日韩精品不卡一区二区| 亚洲一区制服诱惑| 日韩极品少妇| 国产欧美精品一区二区三区介绍 | 2019精品视频| 精品裸体bbb| 国产一区二区三区三区在线观看 | 亚洲精品白浆高清久久久久久| 中文字幕激情小说| 欧美精品v国产精品v日韩精品| 黄色一级片在线免费观看| 色婷婷综合久久久中文字幕| 性欧美13一14内谢| 国产精品美女视频| 欧美精品 - 色网| 91亚洲精品久久久蜜桃| 午夜精品中文字幕| 99久久精品免费看| 亚洲美女性囗交| 99久久er热在这里只有精品15| 国内外免费激情视频| 国产成a人无v码亚洲福利| 可以免费在线看黄的网站| 精品综合久久久久久8888| 成人黄色av片| 精久久久久久久久久久| 免费在线观看的av网站| 久久国产精品亚洲77777| 一二三在线视频| 全国精品久久少妇| 国产一区二区片| 久久成人免费网站| 99精品人妻少妇一区二区| 国产一二精品视频| 国产又大又黄又粗的视频| www.视频一区| 中日韩av在线播放| 久久久久国产成人精品亚洲午夜| 中文写幕一区二区三区免费观成熟| 久久久亚洲综合| 日本精品一二三区| 亚洲色图20p| 黄色aaa视频| 精品国产91久久久| 久久久久久久久久久网 | 亚洲一区二区91| 欧美性受xxxx| 久久国产精品系列| 欧美日韩国产影片| 999视频在线| 精品国产伦一区二区三区观看方式| 一区二区三区在线免费观看视频| 亚洲国产女人aaa毛片在线| 亚洲av无码乱码国产麻豆 | 国产成人精品综合| 加勒比中文字幕精品| 亚洲综合中文字幕在线| 亚洲欧洲日韩| 大地资源第二页在线观看高清版| 免费在线看一区| 538在线视频观看| 欧美激情在线一区二区三区| 巨胸大乳www视频免费观看| 欧美色videos| 欧产日产国产v| 日韩欧美中文一区二区| 精品国产九九九| 欧美黄色成人网| 国产精品一区二区三区美女| 91在线精品观看| 欧美视频在线观看| 欧美高清中文字幕| 国产馆精品极品| 一级黄色片在线免费观看| 中文字幕一区在线观看视频| 一级肉体全黄裸片| 欧美日韩一区二区在线观看视频| 波多野结衣人妻| 在线观看日韩www视频免费| 日本综合视频| 国产精品久久91| 国产精品久久久久久| 青青视频免费在线| jlzzjlzz亚洲日本少妇| 亚洲精品国产成人av在线| 欧美日韩一区二区在线| 日韩精品一区二区亚洲av观看| 一区二区欧美激情| 国产精品一区二区三区av| 亚洲www视频| 国产精品v日韩精品v欧美精品网站| 热久久最新地址| 国产在线视频一区二区| 亚洲成a人片在线www| 一区二区三区日韩欧美| av资源在线免费观看| 欧美一a一片一级一片| 国产一区二区小视频| 欧美黑人一区二区三区| 神马影视一区二区| 一区二区三区四区视频在线观看| 国产精品一区二区在线播放| a级一a一级在线观看| 欧美日韩中文字幕在线视频| 波多野结衣mp4| 久久精品视频va| 国产suv精品一区| 日韩欧美一区二区视频在线播放| 日韩高清中文字幕一区| 婷婷激情5月天| 亚洲第一狼人社区| 中国一级片黄色一级片黄| 欧美夫妻性视频| 日韩av二区| 中文字幕av久久| 久久久久久9999|