as 屬性

//抄於互聯網

AS創建文本框
_root.createTextField("mytext", 1, 50, 50, 100,20);
mytext.multilance=false;//設置單行;
mytext.text="這是文本框"//文本賦值
然後是刪除這個創建的文本框:
mytext.removeTextField();//刪除!

如果大家要創建一個換行的文本框,就需要加上:
mytext.wordWrap =true //指示文本字段自動換行
mytext.autoSize=true //指定文本字段的自動對齊和大小調整

TextField 類的方法摘要

TextField.addListener() 註冊一個對象,以便在調用 onChanged 和 onScroller 事件處理函數時接收通知。

TextField.getFontList() 返回播放器的主機系統上字體名稱的數組。

TextField.getDepth() 返回文本字段的深度。

TextField.getNewTextFormat() 獲取分配給新插入文本的默認文本格式。

TextField.getTextFormat() 返回包含文本字段中一些或全部文本的格式信息的 TextFormat
對象。

TextField.removeListener() 刪除偵聽器對象。

TextField.removeTextField() 刪除使用 MovieClip.createTextField() 創建的文本字段。

TextField.replaceSel() 替換當前的所選內容。

TextField.setNewTextFormat() 爲由用戶或方法插入的文本設置 TextFormat 對象。

TextField.setTextFormat() 爲文本字段中指定範圍內的文本設置一個 TextFormat 對象。

TextField 類的屬性摘要

TextField._alpha 文本字段實例的透明度值。

TextField.autoSize 控制文本字段的自動對齊和大小調整。

TextField.background 指示文本字段是否具有背景填充。

TextField.backgroundColor 指示背景填充的顏色。

TextField.border 指示文本字段是否具有邊框。

TextField.borderColor 指示邊框的顏色。

TextField.bottomScroll 文本字段中最下面的可見行。只讀。

TextField.embedFonts 指示文本字段是使用嵌入字體輪廓還是使用設備字體。

TextField._height 文本字段實例的高度,以像素爲單位。它隻影響文本字段的邊框,不影響邊框的粗細和文本字體大小。

TextField._highquality 指示 SWF 文件的呈現品質。

TextField.hscroll 指示文本字段的水平滾動值。

TextField.html 指示文本字段的當前最大滾動位置。

TextField.htmlText 包含文本字段內容的 HTML 表示形式。

TextField.length 文本字段中的字符數。只讀。

TextField.maxChars 文本字段最多可容納的字符數。

TextField.maxhscroll TextField.hscroll 的最大值。只讀。

TextField.maxscroll TextField.scroll 的最大值。只讀。

TextField.menu 將 ContextMenu 對象與文本字段關聯。

TextField.mouseWheelEnabled 指示當鼠標指針停在文本字段上且用戶滾動鼠標滾輪時,Flash Player 是否應自動滾動多行文本字段。

TextField.multiline 指示文本字段是否包含多行。

TextField._name 文本字段實例的實例名稱。

TextField._parent 對此實例的父級實例的引用;其類型爲 Button 或 MovieClip。

TextField.password 指示文本字段是否隱藏輸入字符。

TextField._quality 指示 SWF 文件的呈現品質。

TextField.restrict 用戶可輸入文本字段的字符集。

TextField._rotation 文本字段實例的旋轉度數。

TextField.scroll 指示文本字段的當前滾動位置。

TextField.selectable 指示文本字段是否可選。

TextField._soundbuftime 在聲音進入流之前,必須預先緩衝的聲音的時間量。

TextField.tabEnabled 指示影片剪輯是否包括在 Tab 鍵的自動排序中。

TextField.tabIndex 指示對象的 Tab 鍵順序。

TextField._target 指定文本字段實例的目標路徑。只讀。

TextField.text 文本字段中的當前文本。

TextField.textColor 文本字段中當前文本的顏色。

TextField.textHeight 文本字段邊框的高度。

TextField.textWidth 文本字段邊框的寬度。

TextField.type 指示文本字段是輸入文本字段還是動態文本字段。

TextField._url 創建文本字段實例的 SWF 文件的 URL。只讀。

TextField.variable 與文本字段關聯的變量名。

TextField._visible 確定文本字段實例是隱藏還是可見的布爾值。

TextField._width 文本字段實例的寬度,以像素爲單位。它隻影響文本字段的邊框,不影響邊框的粗細和文本字體大小。

TextField.wordWrap 指示文本字段是否自動換行。

TextField._x 文本字段實例的 x 座標

TextField._xmouse 指針相對於文本字段實例的 x 座標。只讀。

TextField._xscale 指定水平縮放文本字段實例的百分比的值。

TextField._y 文本字段實例的 y 座標。

TextField._ymouse 指針相對於文本字段實例的 y 座標。只讀。

TextField._yscale 指定垂直縮放文本字段實例的百分比的值。

TextField 類的事件處理函數摘要
事件處理函數

TextField.onChanged
在文本字段更改時調用。

TextField.onKillFocus
在文本字段失去焦點時調用。

TextField.onScroller
在文本字段滾動屬性之一發生更改時調用。

TextField.onSetFocus
在文本字段接收焦點時調用。

TextField 類的偵聽器摘要

TextField.onChanged
在文本字段更改時獲得通知。

TextField.onScroller
在文本字段的 scroll 或 maxscroll 屬性更改時獲得通知。
attachSound的部分常用語句
aa=new Sound();//創建一個新音樂
aa.attachSound("jgw");//將庫中標識符爲jgw的音樂導出播放(標識符在庫中鏈接菜單中命名)
aa.start(0,10000);//音樂播放秒偏移量爲0,播放10000次
aa.stop();//停止播放aa這個聲音

如果你不想看到Flash的About和設置菜單,把下面的代碼放到第一幀就行了:
_root.createTextField("danger", 999, 0, 0, Stage.width, Stage.height);
好了,現在換了一個新菜單.
注:這個適合用在沒有交互的動畫上,如果你需要使用按鈕就去掉.
(這個好像是轉載自Dengjie的Blog)

限制flash只能在服務器上觀看
在第一幀中加入如下代碼:
fscommand ("allowscale", "0");
url = "http://www.webjx.com";;//'" target="_blank" >http://goday.gtma.cn"; //這個換成你的域名
if (_url.substring(0, 20)<>url) { //那個0(h),20(n)就是指從第一個字符開始向後數到第20個字符(包括“://”和“.”符號),這個請自行根據上面的url=後面的http://www.webjx.com來更改
gotoAndPlay (2);
} else {
gotoAndPlay (3);
}
第二幀加入:
stop ();
第三幀加入:
stop ();
然後把正式內容放在第三幀就好了,第二幀放入出錯內容
當然有人說用播放就可以跳過,這裏是給出一個思路,你可以用loadmove等等等等等等等等的方法來加載於否正式影片

用ShareObject在本地保存數據(下面帖子有篇文章將較詳細講解)
例(本地保存數據,要想遠程保存數據,也可以,跟下邊的例子差不多,只不過要安裝 flashcom 需要$ 蠻貴的)
function test(){
this.userinfo_so=SharedObject.getLocal("test/userinfo","/");
if(this.userinfo_so.data.info == null){
this.userinfo_so.data.info=new Object();
this.userinfo_so.data.info.username=new Array();
this.userinfo_so.data.info.email=new Array();
}
this.setUserinfo=setUserinfo;
this.getUserinfo=getUserinfo;
this.delUserinfo=delUserinfo;
}
function setUserinfo (username,email)
{
with(this.userinfo_so.data){
uLength=info.username.length;
eLength=info.email.length;
info.username[uLength]=username;
info.email[eLength]=email;
}
var status=this.userinfo_so.flush();
}
function delUserinfo(){
this.userinfo_so.data.info=null;
this.userinfo_so.flush();
}
function getUserinfo (){
for(var i=0;i<this.userinfo_so.data.info.username.length;i++){
trace(i+":"+this.userinfo_so.data.info.username);
}
}
var gg_so=new test();
gg_so.setUserinfo("webjxcom","[email protected]");
gg_so.getUserinfo();

外部載入文本
動態文本框必須放在MC裏面
system.useCodepage = true;
loadVariables ("1.txt",mc)
文本里的最前面是:動態文本框的變量名=你的內容易

判斷用戶名和密碼是否正確,以及根據不同用戶名進入不同幀數
用戶名的文本框爲myname,密碼框爲mypass
on (release) {
if (myname == "用戶名1" && mypass == "密碼1") {
gotoAndPlay (85);
} else if (myname == "用戶名2" && mypass != "密碼2") {
gotoAndPlay (82);
} else if (myname != "用戶名3" && mypass == "密碼3") {
gotoAndPlay (83);
} else if (myname != "用戶名4" && mypass != "密碼4") {
gotoAndPlay (84);
}
}

FLASH無手指按鈕的製作
只需要在第一幀加上:
buttonname.useHandCursor=0
buttonname是你按鈕的實例名(不是庫裏面的名字,屬性面板裏面的實例名)

FLASH實現設爲首頁、加入收藏、打開一個制定的新窗口
設爲首頁:
on (release) {
getURL("javascript :void(document.links[0].style.behavior='url(#default#homepage)');void document.links[0].setHomePage('http://www.webjx.com/&;#39;);", "_self", "POST");
}

加入收藏夾:
on (release) {
getURL("javascript :void window.external.AddFavorite('http://www.webjx.com&;#39;,'網頁教學網');", "_self", "POST");
}

在Flash中打開一個定製的瀏覽器新窗口
Get URL ("java script:window.open("new.htm","newwin","width=320,height=320");")

Loading製作資料(Loading的製作都是使用這些AS,那些樣子不同的Loading只是表現手法不一樣,AS都是大同小異的,自己看看就明白了)
建一個MC.做一個載入條動畫爲100禎.拖入主場景中命名實例名爲Bar,在載入條下面用文字工具拖一個動態文本框,在右下角加入變量名Percent

第一禎加入禎標籤loop,並打開動作面板,輸入下面代碼:

bt=int((_root.getBytesTotal())/1000);
l=int((_root.getBytesLoaded())/1000);
p=int((l/bt)*100);
Percent=p+"%";//Percent爲動態文本變量名.即顯示百分比
_root.Bar.gotoAndStop(p);//Bar爲載入條的實例名

在第二禎加入

if(p==100){
stopAllSounds();
gotoAndPlay("main");
}else{
gotoAndPlay("loop");
}

動畫開始的那一禎加上禎標籤main或者這裏可以改爲跳到下一個場景名或某一禎也可以
loading 製作中的主要AS:
x=Math.floor((_framesloaded/_totalframes)*100);//_framesloaded 表示已下栽的幀數_totalframes 總的幀數
setProperty("_root.load",_xscale,x);// _xscale橫向縮放百分比的值
jindu="影片已下載"+_root.x+"%/n 請耐心等待";

第二幀:
輸入如下AS:if(x<100){
gotoAndPlay(1);
}else{ jindu=" 下載完畢!";
}

用鼠標畫線
onMouseDown=function () {
lineStyle(2,0*000000,100)
lineTo(_xmouse,_ymouse)
}

onMouseMove = function() {
if (a) {
lineStyle(2,0x000000,100);//指定線條的粗度爲2,顏色爲黑色,透明度爲100;
lineTo(_xmouse, _ymouse); //畫線至鼠標所在位置;
}
updateAfterEvent(); //強制刷新;Flash 強制進行顯示刷新工作。該語句不依賴於時間幀的觸發。
};
onMouseDown = function() {
a = true; //鼠標按下,給a變量賦值true,即執行上面的if後面括號內的語句,開始畫線;
moveTo(_xmouse, _ymouse);//重新定位開始點;
};
onMouseUp = function() {
a = false; //鼠標鬆開,給a變量賦值false,不執行上面的if後面括號內的語句,停止畫線;
};

幾個需要掌握的AS
1、var a = Math.abs(-7); // 求絕對值(這裏是求-7的)

2、function myFunction(myNum) {
var newNum = myNum+5;
return newNum;
}
trace(myFunction(8));
//定義 調用並輸出函數值

3、多數情況下,需要用到鼠標光標在主場景中的位置,所以可以使用_root._xmouse和_root._ymouse表示。
onClipEvent (enterFrame) {
_x = _root._xmouse;
_y = _root._ymouse;
}//讓影片剪輯和鼠標保持相同座標

4、將矩形影片剪輯作爲遮罩圖形
在矩形影片剪輯的動作面板中添加如下ActionScript:
onClipEvent (load) {
xs = _width;
ys = _height;
}
onClipEvent (enterFrame) {
_xscale = 100*(_root._xmouse-_x)/(xs/2);
_yscale = 100*(_root._ymouse-_y)/(ys/2);
}
在load事件中,用變量xs和ys取得影片剪輯初始狀態下的寬度和高度值。在enterFrame事件中,計算鼠標位置與矩形影片剪輯中心 的距離,算出它與矩形寬度和高度值的比值,然後作爲_xscale和_yscale的值。該動畫實現移動鼠標位置以改變遮罩效果

5、Array對象(動作面板的“對象”/“核心”目錄)即數組,它用來記錄成組的相關或相似變量。創建一個空的數組:
myArray = new Array();
如下所示的ActionScript創建一個確定值的數組並在輸出窗口中顯示每個元素的值:
weekDay = new Array("SUN", "MON", "TUE", "WED", "TUR", "FRI", "SAT");
for (var i = 0; i<7; i++) {
trace(weekDay);
}

數組中還可以嵌套數組,即構成多維數組,如下所示:
polyArray = new Array();
for (var i = 0; i<3; i++) {
polyArray = new Array(i*3+1, i*3+2, i*3+3, i*3+4);
trace(polyArray[0]+" "+polyArray[1]+" "+polyArray[2]+" "+polyArray[3]);
}
輸出窗口中將顯示:
1 2 3 4
4 5 6 7
7 8 9 10

判斷本機Flash播放器版本並進行下載
ss=System.capabilities.version;
if(substring(ss,5,1)<>"7"){getURL("http://www.webjx.com";,_blank);}//'" target="_blank" >http://www.webjx.com",_blank);}//那個7就是版本號

用奇偶判斷來做一個按鈕的聲音開關
第一幀加入(第一幀空幀):
t=0 //給t賦初值

第二幀加入:
stop(); //停止在第二幀
ms=new Sound //新建一個聲音對象ms
ms.attachSound("sound") //空聲音對象從庫中調用連接名爲sound的聲音
ms.start() //ms開始播放
ms.onSoundComplete=function () { //當ms這個聲音播放完後執行以下AS
ms.start //重複播放ms
}

第二幀上面的控制按鈕加入
on (release) { //當鼠標鬆開的時候執行下面AS
t=t+1 //t的值等於本身的值加1
if (t%2==1) { //如果T取摸2等於1
ms.stop() //則ms停止播放
b=ms.position/1000 //b的值等於現在ms聲音停止的位置
} else { //否則
ms.start(b) //ms從剛剛停止的地方(b)開始播放
}
}

實現倒放(可以自行聯想作出許多不間斷縮放效果,如動態按鈕等,曾經我寫過一篇這樣的教程):
給放在場景中比如有40楨的MC添加如下語句

onClipEvnt(load){
gotoAndStop(40);//影片載入時就跳轉到40楨並停止
}

onClipEvent(enterFrame){
prevFrame();//不斷的播放前一楨,
}

一些簡單的AS和一些程序思路,掌握最好:
***********************************************************
1.複製MC並隨機設定子MC的相關屬性:
duplicateMovieClip("mc","mc"+i,10+i);
setProperty("mc"+i,_x,random(400) );//x座標
setProperty("mc"+i,_y,random(300) );//y座標
setProperty("mc"+i,_alpha,random(100) );//透明度屬性
i++;
if(i>200){//設定複製的個數;
i=1;
}
***********************************************************
2.文字的逐個出現(打字效果)
Frame1: text="引號內是要出現的字";
ll = text.length;// 表示text文本的字符數;
i = 1;//用於控制輸出的變量;

Frame4:
if (i<ll+1) {
text1 = text.substring(0,i);//從第0個字符開始抽取顯示,抽取長度爲i;
i++;
}
Frame5:
gotoAndPlay(4);
************************************************************
3.冒泡法排序:
for(i;i<n;i++){ //外層循環;
for(j=n;j<=i+1;j--){//內層循環;
if(a[j]<a[j-1]){
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;//交換位置;
}
***********************************************************
4.插入法排序(算法複雜性比冒泡法要小):
for(i=2;i<=n;i++){
j=i;
if(a[j]<a[j-1]){
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
j--; }
}**********************************************************
5.一個按鈕控制聲音的播放與停止:
on(release)
{a=a+1;
if(a%2==1){//奇偶判斷;
mysound.stop();
_root.b=int(ji.position/1000);//記錄下停止時播放的位置;
}
else{ mysound.start(_root.b);//從上一次停止的位置開始繼續播放;
}
}
**********************************************************
6.MC以恆定速度旋轉

onClipEvent (enterFrame) {
_rotation +=6;//設定每次的旋轉角度值;
}
**********************************************************

和WEB結合設計中用層來遮住FLASH
1.在flash的parameters里加入 <param name="wmode" value="transparent">
2.<body οnblur=self.focus()>

遮住場景以外的部分
Stage.scaleMode = "exactFit";

-------------------------------------------

ding8285斑竹13樓加入,感激中!希望大家都來補足!
判斷輸入是否爲數字的函數:


on(release){
if(Number(pass)==NaN){//判斷輸入是否爲數字
pass="";
}

檢查E-MAIL的函數:

function checkemail(email) {
var str = new String(email);
var arr_email = str.split("@");
if ((arr_email.length != 2) || (arr_email[1].indexOf(".")<1)) {
return (false);
} else {
return (true);
}
}

延時函數:

function showTime(second, option) {
//延時函數
this.createEmptyMovieClip("t_mc", 9999);
t = getTimer();
f = false;
if ((getTimer()-t)>(second*1000)) {
option();
}
}
function go() {
//加入效果
jpg2._y = jpg2._y+77;
jpg2._alpha = jpg2._alpha-15;
}
fscommand("fullscreen", "true");
createEmptyMovieClip("jpg1", 1);
createEmptyMovieClip("jpg2", 2);
jpg1.loadMovie("1.jpg");
jpg2.loadMovie("2.jpg");
i = 0;
while (i<=100) {
showTime(0.1, go);
i = i+20;
}

FLASH中的保留小數的函

int(你的數*10)/10;
這樣是保留一位
乘上100就是兩位。以此類推


FLASH腳本實現關機

flash5:
fscommand ("exec","rundll"+chr(9)+"user.exe,exitwindows");

鼠標雙擊問題!

lsn_DbClick = new Object();
lsn_key = new Object();
lsn_DbClick.onMouseDown = function() {
clickTime = getTimer();
if (clickTime-lastClickTime<=300) {
trace("雙擊了鼠標");
}
lastClickTime = clickTime;
};
Mouse.addListener(lsn_DbClick);
time = getTimer()-down_time;
if (time<300) {
//雙擊後的代碼部分
}
down_time = getTimer();
怎樣在從另一個swf中獲取變量

loadMovieNum("vars.swf", 1["POST"]);
_root.onEnterFrame = function() {
trace(_level1.myvab);
};
//當加載完畢後,輸出就有值了...

鼠標右鍵及滾輪的代碼

if Key.isDown(2){},(左鍵的代碼是1)

左鍵:Key.isToggled(1)
右鍵:Key.isToggled(2)
滾輪:Key.isToggled(4)
滾輪1:Key.isToggled(4) PC機上用
滾輪2:Key.isToggled(3) MAC機上用
未知:Key.isToggled(3)
this.onEnterFrame = function() {
if (Key.isDown(2)){
trace("asdfjsdjkf");
}
}

實現TAB功能

獲得焦點
使用Selection.setfocus()函數
舉個例子:
例如你在主影片中有N個文本框,變量分別爲text1,text2.....你想使影片一播放就把焦點落到第一個
文本框你就在第一FRAME 加AS如下:
Selection.setfocus("_root.text1");

我們可以舉一反三

實現TAB功能 二

把這個N個文本框做組成一個數組
numarray=new array("_root.text1","_root.text2",....................."_root.textn");
首先獲得鼠標焦點
x=Selection.getfocus();/* x 獲得鼠標焦點的一個字符串
for(i=0;i<=n;i++)
{
if(numarray==x){
num=i; /*獲得當前焦點在數組中的位置
}
然後編寫TAB鍵功能
on (keyPress "<TAB>") {
if (num==n){num=0;}
else{num++;}

Selection.setfocus(numarray[num]);

}

按鈕能像window那樣用Tab鍵來轉換選擇
用button.onKillFoucus

*兩點間畫直線
*畫螺旋線
*畫正方形、圓、橢圓
*拋物線
*正弦、餘弦線

使用方法:加到幀中就可

// 畫直線
// / x1, y1: 起點座標
// x2, y2: 終點座標
// k是層次
Movieclip.prototype.drawline = function(x1, y1, x2, y2, k) {
this.linestyle(1);
this.moveTo(x1, y1);
this.lineTo(x2, y2);
};
// 從(0,0)到(100,100)畫一條線
_root.createEmptyMovieClip("mc", 10);
mc.drawline(0, 0, 100, 100);
// 畫螺旋線
// w、h爲寬和高
// f控制線的長短,用弧度表示
Movieclip.prototype.drawhelix = function(w, h, f) {
for (var i = 0; i<f; i += 0.05) {
this.lineTo(x=Math.sin(i)*i*w, y=Math.cos(i)*i*h);
this.linestyle(1);
}
};
// 以(100,100)爲中心畫螺旋線
_root.createEmptyMovieClip("luo", 1);
with (luo) {
drawhelix(5, 5, 13);
_x += 100;
_y += 100;
}
// 多功能函數,可畫圓,橢圓,正多邊形等
// n爲邊數
Movieclip.prototype.drawmany = function(w, h, n) {
f = 2*Math.PI;
for (var i = 0; i<=f/n*(n+1); i += f/n) {
this.lineTo(x=Math.sin(i)*w, y=Math.cos(i)*h);
this.linestyle(1);
}
};
// 畫一正五邊形
_root.createEmptyMovieClip("duobian", 2);
with (duobian) {
drawmany(50, 50, 5);
_x += 250;
_y += 100;
// 5爲多邊形的邊數,6.3爲2pai
}
// 畫一橢圓
_root.createEmptyMovieClip("tuo", 3);
with (tuo) {
drawmany(25, 50, 100);
_x += 400;
_y += 100;
}
// 圓
_root.createEmptyMovieClip("yuan", 4);
with (yuan) {
drawmany(50, 50, 100);
_x += 400;
_y += 300;
}
// 拋物線
Movieclip.prototype.drawparabola = function(l, r, k) {
for (var i = -l; i<=r; i += 1) {
this.lineTo(x=i, y=k*i*i);
this.linestyle(1);
}
};
// 調用
_root.createEmptyMovieClip("parabola", 100);
with (parabola) {
drawparabola(50, 50, 0.05);
_x += 200;
_y += 200;
// 頂點座標
}
// 正弦線,餘弦類似
Movieclip.prototype.drawsin = function(n, k) {
for (var i = 0; i<=90*n; i += 1) {
this.lineTo(x=i, y=k*Math.sin(i*Math.PI/180));
this.linestyle(1);
}
};
_root.createEmptyMovieClip("sin", 101);
with (sin) {
drawsin(4, 50);
_x += 200;
_y += 200;
// 頂點座標
}
Movieclip.prototype.drawwave = function(w, h) {
for (var i = 0; i<=6.3; i += 0.01) {
this.lineTo(x=w/Math.cos(i), y=h*Math.sin(i)/Math.cos(i));
this.linestyle(1);
}
};
_root.createEmptyMovieClip("wave", 105);
with (wave) {
drawwave(100, 100);
_x += 200;
_y += 200;
// 頂點座標
}

一個動態文本設置alpha函數。

function setAlpha(obj,alpha){
var rgb="0x"+(255*(100-alpha)/100).toString(16);
rgb=rgb<<16|rgb<<8|rgb;
obj.backgroundColor|=rgb;
obj.borderColor|=rgb;
obj.textColor|=rgb; }

一個遍歷level0中所有MC的instance name的函數。(可以修改一下用在其他範疇)

function readAllMC(){
this.MCitem ;
for(what in _level0){
if(typeof(_level0[what])=="movieclip"){
this.MCitem[what] = _level0[what];
}
}
}

設置MovieClip顏色:

MovieClip.prototype.setColor = function(c_color)
{
var mycolor = new Color(this);
mycolor.setRGB(c_color);
};
//調用:
yourMovieClip.setColor(0xff0000);

怎樣設as,拒絕影片被人用loadMovie導入

以下as一定要設在最上層楨動作第一行有效
_root._name = "nn";
this.onEnterFrame = function() {
if (this._name != "nn" || _root.getDepth() != -16384) {
this.unloadMovie();
}
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章