Actionscript3.0- Game 鍵盤,組合鍵問題解決法

不論你在網路上搜尋那一篇談到as3.0鍵盤觸發的文章,作法都是大同小異,而且重點是 "無法產生組合鍵"
底下將描述如何 產生組合鍵邏輯

//請注意 底下程式碼已經簡化過 許多參數未提及,請參考邏輯觀念
var ddd:Array=new Array();
ddd=[0,0,0,0];
//看到陣列也許,許多網友已經知道要如何做了,沒錯我們就是要利用陣列
//產生的數列組合去選擇要做那一個action

stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown);

stage.addEventListener(KeyboardEvent.KEY_UP, reportKeyUp);
//分為兩個部份DOWN負責紀錄按下,陣列紀錄為1
function reportKeyDown(event:KeyboardEvent):void {
   
    //objKeyboard.pressed=true;
    //objKeyboard.keyCode=event.keyCode;
    if (event.keyCode==37) {
        ddd[0]=1;
    }
    if (event.keyCode==39) {
        ddd[1]=1;
    }
    if (event.keyCode==38) {
        ddd[2]=1;
    }
    if (event.keyCode==40) {
        ddd[3]=1;
    }

}
//UP負責紀錄按下,陣列紀錄為0
function reportKeyUp(evt:KeyboardEvent):void {
    //objKeyboard.pressed=false;
    //objKeyboard.keyCode=null;
    if (evt.keyCode==37) {
        ddd[0]=0;
    }
    if (evt.keyCode==39) {
        ddd[1]=0;
    }
    if (evt.keyCode==38) {
        ddd[2]=0;
    }
    if (evt.keyCode==40) {
        ddd[3]=0;
    }
}

var com_ddd:String=String(ddd[0]+""+ddd[1]+ddd[2]+ddd[3]);
//將字串組合塞到switch做選擇
switch (Number(com_ddd)) {
        case 1010 :
            trace("左上"); yspeed -= power*1.3;xspeed -= power*1.3;
            break;
        case 0110 :
            trace("右上"); yspeed -= power*1.3;xspeed += power*1.3;
            break;
        case 1001 :
            trace("左下"); yspeed += power*1.3;xspeed -= power*1.3;
            break;
        case 0101 :
            trace("右下"); yspeed += power*1.3;xspeed += power*1.3;
            break;
        case 0010 :
            trace("上"); yspeed -= power*1.3;
            break;
        case 0001 :
            trace("下"); yspeed += power*1.3;
            break;
        case 1000 :
            trace("左"); xspeed -= power*1.3;
            break;
        case 0100 :
            trace("右"); xspeed += power*1.3;
            break;
}

Actionscript3.0- Game 鍵盤觸發事件

鍵盤觸發事件 , 我們以遊戲做為例子 分別是控制角色上下左右

底下分成兩部份,先介紹as2.0早期寫法 ,再為各位介紹as3.0 有3種鍵盤寫法!
( as2.0已經不推薦使用囉 )


不論那一種AS3.0寫法 以下都只能做一個事件方向的偵測 ,
兩個方向量無法同時被觸發, 意思就是當然按下 左 & 上時 它只會觸發其一,這解決方法在下一節討論



早期AS2.0寫法
//在onEnterFrame status :
   if (Key.isDown(Key.LEFT)) {

        xspeed -= power;
    }


    if (Key.isDown(Key.RIGHT)) {
        xspeed += power;
    }

   

    if (Key.isDown(Key.UP)) {
        yspeed -= power;
    }


    if (Key.isDown(Key.DOWN)) {
        yspeed -= power;
    }

     xspeed *= friction; //磨擦力
     yspeed *= friction;

    _y += yspeed;
    _x += xspeed;


AS3.0鍵盤事件寫法 , 都已改為事件監聽方法, 監聽key是否DOWN 或UP

3.0鍵盤寫法1:

stage.addEventListener(Event.ENTER_FRAME, report_loop);


//場景進入立刻 ENTER_FRAME(跟onEnterFrame同道理) 不停的跑report_loop 函數


stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown);


//一開始 "場景" 監聽鍵盤是否被按下或放開事件





//該report_loop不停的被觸發 接收 keyDown 所得到的 xspeed 與 yspeed 值 來做磨擦力與物件位移

function report_loop(event:Event):void {
    xspeed*=friction;
    yspeed*=friction;
    mc.y += yspeed;
    mc.x += xspeed;
}






//當事件觸發 鍵盤按下 就觸發以下條件

function reportKeyDown(event:KeyboardEvent):void {



    if (event.keyCode==Keyboard.RIGHT) {
        xspeed+=power;
    }


    if (event.keyCode==Keyboard.LEFT) {
        xspeed-=power;
    }



    if (event.keyCode==Keyboard.UP) {
        yspeed-=power;
    }



    if (event.keyCode==Keyboard.DOWN) {
        yspeed+=power;
    }

}//keyDown






3.0鍵盤寫法2:


stage.addEventListener(Event.ENTER_FRAME, report_loop);
stage.addEventListener(KeyboardEvent.KEY_DOWN, reportKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, reportKeyUp);
function reportKeyDown(event:KeyboardEvent):void {
    objKeyboard.pressed=true;
    objKeyboard.keyCode=event.keyCode;
}
function reportKeyUp(evt:KeyboardEvent): void{
 objKeyboard.pressed = false;
 objKeyboard.keyCode = null;
}


//一樣分為KEY DOWN與UP,

//不同的是,當DOWN觸發的事件內容,透過自定參數來判斷是否按下


function reportKeyUp(evt:KeyboardEvent): void{
 objKeyboard.pressed = false;
 objKeyboard.keyCode = null;
}


var power:Number=0.8;
var yspeed:Number=0;
var xspeed:Number=0;
var friction:Number=0.9;
var objKeyboard:Object;
objKeyboard={pressed:true,keyCode:null};


function report_loop(event:Event):void {
    xspeed*=friction;     yspeed*=friction;     mc.y+=yspeed;     mc.x+=xspeed;     if (objKeyboard.pressed) {  //自定參數判斷是否按下         switch (objKeyboard.keyCode) { //利用 switch 判斷key值             case 37 :                 xspeed += power;                 break;             case 39 :                 xspeed -= power;                 break;             case 38 :                 yspeed += power;                 break;             case 40 :                 yspeed -= power;                 break;         }     } }







3.0鍵盤寫法3:

//以下寫法大家想必都非常熟悉 ,很像 AS2.0 寫法
 

    if (objKeyboard.keyCode==37) {

        xspeed+=power;
    }
    if (objKeyboard.keyCode==39) {
        xspeed-=power;
    }
    if (objKeyboard.keyCode==38) {
        yspeed+=power;
    }
    if (objKeyboard.keyCode==40) {
        yspeed-=power;
    }

Actionscript - flash 呼叫 javascript 廣告縮放大小

如果我們需要從flash裡控制html網頁裡的div元素,可以用Flash呼叫Javascript的控制div隱藏或出現的function ,做法如下:



註':請注意測試時 需要把檔案放到server上進行瀏覽!



在Flash裡的button物件或movie clip鍵入:

getURL("javaScript:hideItem('div01'); javaScript:showItem('div02');");

//使用getURL 呼叫





另外在html裡裡輸入:



<script type="text/javascript">

<!--

function hideItem(div02) {hiddenID = document.getElementById(div02); hiddenID.style.display = "none";}

function showItem(div01) {shownID = document.getElementById(div01); shownID.style.display = "block";}

//-->

</script>



<div id="div01" style="display:block;">

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="150" height="100">

  <param name="movie" value="div01.swf">

  <param name="quality" value="high">

  <embed src="div01.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="150" height="100"></embed>

</object>

</div>



<div id="div02" style="display:none;>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="550" height="400">

  <param name="movie" value="div02.swf">

  <param name="quality" value="high">

  <embed src="div02.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="400"></embed>

</object>

</div>





觀看效果:http://rss2.rulingcom.com/DEMO24_JOHN/flash_js



範例下載

  • 留言者: 千
  • Email: squaresquare2001@yahoo.com.tw
  • 網址:
  • 日期: 2010-08-25 10:41:48
我是個flash新手..我有問題發問...

我套flash的模版做了一個網頁...而背景圖是連結外部的swf..然

後當我置入DW裡去..F12預覽時..發理背景圖的SWF無法顯示..只

顯示了原本的模版...請問要如何解決




  • 留言者: luannr0k5266
  • Email:
  • 網址:
  • 日期: 2013-06-25 03:41:10
%%RNDCHINESE

桃園易達嚴選汽車賣場~0918-137119~.

保證實車拍攝,絕無造假不讓您白跑一趟。

外縣市朋友來電預約,補貼您車馬費。

提供火車站、高鐵站、機場接送服務,用心讓您看的見。

來源絕對正常,里程保證、車況保證、保固及配合原廠鑑定。

請給我一個機會結交您這位朋友讓我為您服務,

本賣場車流動速度很快,請一定要先來電詢問唷。預約就送精美小禮物唷。

http://tw.myblog.yahoo.com/a87163500



e0en373t2vco2nc5

Actionscript - mailto 探討

以下都是as2.0寫法

這是基本型態
on (release) {
getURL("mailto:自己的電子信
箱");
}

加主旨
on (release) {
getURL("mailto:你想顯示文字<自己的電子信箱>?subject=你要的主旨");
}

加內文寫法
on
(release) {
getURL("mailto:你想顯示文字<自己的電子信箱>?subject=你要的主旨&
amp;
body=你要的內容");
}

需要斷行時請加  %0D%0A

on
(release) {
getURL("mailto:你想顯示文字<自己的電子信箱>?subject=你要的
主旨&body=你要的內容%0D%0A你
要的內容第二行%0D%0A你要的內容第三行");

  • 留言者: naomihsu
  • Email:
  • 網址:
  • 日期: 2010-12-18 05:56:18
那如果是as3.0呢?

ActionScript3.0 - addChild()

addChild 是呼叫 元件庫 裡元件的方法,或者可以說用as new出來的物件 要增加到場景上,就得靠addChild



1.打開元件庫 將 建立好的movieclip 對其按右鍵 "屬性" ---> 選擇  "匯給actionscript 使用"

                                                                              |

                                                                              |

                                                                              ----> 在 類別的欄位填上  Ball



  註:或是你在對物件設為元件時,也可以順便設定此項目



2.var ball_mc:Ball = new Ball(); // new 一個Ball 方法



  addChild( ball_mc ) ;     //光是new 還不夠, new 出只是一個語法 還要透過addChild 把實體物件增加到場景中



  在這裡注意 , addChild()前面不加任何東西是省略了root , 如果你想addChild 到別的movielcip



  就要改成:



  root.Sample_mc.addChild() //這裡以Sample_mc 做舉例



  接著便可以對它操控



  ball_mc.x=100;

  ball_mc.y=200;





3.當然你也可以使用迴圈 讓它一次大量產生



  var i:Number;

  for(i=1;i<20;i++){

  var ball_mc:Ball = new Ball();



  addChild( ball_mc ) ;

  ball_mc.x=100;

  ball_mc.y=200;

  }

                                                  

Actionscript 3.0 - 1120: 存取未定義的屬性 1065 , 1061呼叫未定義

1120: 存取未定義的屬性



這是AS3.0常出現的錯誤, 表示你所使用的方法 在as2.0是正確

只是因為 as3.0 嚴謹模式下 要求嚴刻的寫法 才會造成

(如果不想出現這個東西 麻煩請到 發怖設定 actionscript3.0 旁邊的"設定"

將嚴 謹模式取消
)



例子1:



你只寫 root.x1=2;  //就會產生以上錯誤訊息



(將 嚴謹模式勾掉之後就不會出現錯誤訊息)



或是將式子寫的嚴謹一些



var x1:Number;

root.x1=2;



例子2:



root.A_mc.x=1;



嚴謹寫法改為:

root[A_mc].x=1;

ReferenceError: Error #1065: 變數   未定義



語法裡呼叫變數  找不到或是命稱錯誤
譬如你在語法裡呼叫  

A_mc.addEventListener
卻出現以上訊息 表示你場景裡找不到 A_mc 這物件名稱 或是命名錯誤






1061 :呼叫可能未定義屬性





即使你在as2.0 是使用這樣的情況
_root.gotoAndStop()

在as3.0 改成
root.gotoAndStop() // 依然還是會發生錯誤



嚴謹下請改成
MovieClip(root).gotoAndStop();

  • 留言者:
  • Email:
  • 網址:
  • 日期: 2011-01-31 00:48:24
不好意思,請問一下,假設同一個檔案,程式上寫說gotoAndPlay

("編號","場景");A電腦可以執行而B電腦會發生錯誤...是那裡出

問題呢?




  • 留言者:
  • Email:
  • 網址:
  • 日期: 2012-05-31 22:23:22
又刄偁



不錯,看了就推,這是美德!

網址:http://www.callmeshop.com/investment.php

商機處處有,等您來發掘。

乽勗

ActionScript - eval( ) this[ ] 觀念

說到 eval 這是 flash4 早期版本就有的東西
因為 早期 flash 5 不能使用 eval 所以被this[ ] 方法取代

現在還會用的人 有兩種情況 很早就使用flash , 再來就是java用習慣了

我舉個例子:

_root.createEmptyMovieClip("nn"+i,
i); //以nn+i 命名建立一個movieclip
 var pp = eval("nn"+i); // nn+i 這一串東西用
pp 取代
pp._alpha=50; //意思 現在的pp 就等於  nn(字串)+i(變數)
但某些時候我們又一定
要用到 eval
for (var i = 1; i <= 3; i++) {
 setProperty(square+i+_mc, _rotation, 5);
}

//setProperty
意思 對 square+i+_mc 物件 的 _rotation(旋轉度) 設為5
//但變數擺在方法裡 以上的寫法是絕對行不通 會產生錯誤
//所
以這時候 eval 就來了  將命稱與變數包起來用


for (var i = 1; i <= 3;
i++) {
     setProperty(eval("square"+i+"_mc"), _rotation, 5);
}

當然了 沒人規定 沒有eval 就活不下去了
以我的寫法:
for (var i = 1; i <= 3; i++) {
 this["square"+i+"_mc"]._rotation = -5;
}
this["square"+i+"_mc"] //開頭以[]將變數包起來用
                       //是很重要的用法 一定要學起來

Actionscript3.0 - Slider(滑動桿,滑桿)

Slider 滑桿 在 Actionscript3.0 , 有內建的 Slider bar 可使用 ,

以下介紹 內建 Slider bar , 與 作者我自製的 Slider



----內建 Slider bar --------



import fl.controls.Slider;

import fl.events.SliderEvent;



//instantiate slider

var s:Slider = new Slider();

//position slider

s.move(50,331);

// control if slider updates instantly or after mouse is released

s.liveDragging = true;

//set size of slider

s.setSize(100,0);

//set maximum value

s.maximum = 100;

//set mininum value

s.minimum = 0;

//set tick position interval, you do not have to set this

s.tickInterval = 10;

// this is a listener that broadcasts evertime an event changes

s.addEventListener(SliderEvent.CHANGE, Change_size);

//add slider to stage

addChild(s);

//gets called on change

function Change_size(e:SliderEvent):void {

    //trace("Slider value is now: " + e.target.value);

    ALERTER.text = e.target.value;

    logo_mc.scaleX=e.target.value/30;

    logo_mc.scaleY=e.target.value/30;

}



----自製 Slider -------------------------------------------------

//設定bar初始位置

bar.x=bar_bg.x;

bar.y=bar_bg.y;

//按紐事件分為兩部份DOWN與UP ,在此注意 UP是由stage 事件觸發

bar.addEventListener(MouseEvent.MOUSE_DOWN,drag);

stage.addEventListener(MouseEvent.MOUSE_UP,stop_drag);



//當 Mouse按下bar或放開時 就觸發以下 loop

function loop(e:Event){

//以下設定 是在設定 bar 限制在bar條範圍移動

    bar.y=bar_bg.y;

    if(bar.x<=bar_bg.x)bar.x=bar_bg.x;

    if(bar.x>=bar_bg.x+bar_bg.width)bar.x=bar_bg.x+bar_bg.width

   

    //trace((bar.x-bar_bg.x)/1.24);

//將移動距離換算成%比 或是依情況自行修改間距

    logo.scaleX=(bar.x-bar_bg.x)/8;

    logo.scaleY=(bar.x-bar_bg.x)/8;

}

//bar被按下時開始拖拉

function drag(e:MouseEvent){

bar.startDrag();

addEventListener(Event.ENTER_FRAME,loop);

}

//bar即使在bar以外地方放開 一樣解除拖拉

function stop_drag(e:MouseEvent):void{

bar.stopDrag();

addEventListener(Event.ENTER_FRAME,loop);

}



範例下載 (自行將檔案副檔名改為rar)


  • 留言者: yo
  • Email: ooifp205@hotmail.com
  • 網址:
  • 日期: 2010-08-31 11:24:46
我想要下載範例可是下不下來QQ




  • 留言者: HOKO
  • Email: jjy5130@yahoo.com.tw
  • 網址:
  • 日期: 2012-05-11 00:34:40
我也想要這個範例檔

可是無法下載

請問可以寄到我信箱嗎?




  • 留言者: kristoh7k8ok
  • Email:
  • 網址: http://aaashops.com
  • 日期: 2013-04-27 03:42:16
不錯,看了就推,這是美德!

精美禮品送完即止

訂購 aaashops.com

-唖吋叿唉件

Actionscript - 物件跟隨滑鼠移動

物件跟隨滑鼠移動
那麼我們先來討問一下 數學邏輯的問題

1.首先假設 滑鼠移動 右下角  物件要跟隨滑鼠到右下角


在數學上的意義是:


  物件的座標  要與  滑鼠的座標 相同  ,物件才有可能移到滑鼠的位置
  不管是那一個方位
我們只重視座標


2.物件要移動到跟滑鼠一樣座標  就是算出其 x 與 y的差距

  你的滑鼠與 物件在 x方向 跟
y方向到底差了多少距離

  就是我們要移動的距離

  但實際上我們是 平移 或是垂直移動嗎 ? 都不是 ,我們是隨著滑鼠

直線移動過去

  相信你學過 物理 要算出斜邊 需要藉由 x 與 y方向同時組合
  產生一組方向量
當然了對flash來說 不用顧慮那麼多
  管它的 反正就是把 _x _y 量給它就是了


3. 
(_xmouse-ball._x) x的差距  與 (_ymouse-ball._y) y的差距

//請畫一個球 命名為ball
onEnterFrame=function(){
ball._x+=(_xmouse-ball._x);
ball._y+=(_ymouse-ball._y);
}


上的式子為as2.0原式, 意思就是 滑鼠到那 球就跟到那
因為 球跟滑鼠的變動量一算出變量 就把變量直接給球 造成球粘著滑鼠


們希望 漸漸的靠近 (漸漸的意思就是慢慢靠近 越來越慢)

因此我們把 (_xmouse-ball._x)每一次得到的距離都
除以某一個數
假設是4  , (_xmouse-ball._x)/4  讓每一次都以距離的1/4前進做累加

onEnterFrame=function(){
ball._x+=(_xmouse-ball._x)/4;
ball._y+=(_ymouse-ball._y)/4;
}


有任何問題歡迎來信與我討論

  • 留言者: Rolfuson
  • Email:
  • 網址:
  • 日期: 2010-11-18 00:14:34
您好~

這個方法我知道...

但是遇到這個情況:

http://rolfuson.why3s.cc/askHow.htm

的時候不知道也適不適用...

原因是因為在 xscale 和 yscale 調整時

x 和 y 的座標會變

這樣就不能定位了...




  • 留言者: Wei
  • Email:
  • 網址:
  • 日期: 2010-12-01 11:19:11
我想用3.0做出物件跟隨滑鼠移動的效果

請問有3.0的語法可以供參考嗎??




  • 留言者: Wei
  • Email:
  • 網址:
  • 日期: 2010-12-07 14:14:15
哈囉~不好意思又來打擾了..

我把語法修改後變成以下:



Stage.addEventListener(EVENT.ENTER_FRAME,

MouseMove){

ball.x+=(mouseX-ball.x)/4;

ball.y+=(mouseY-ball.y)/4;

}



結果還是有小錯誤..

不知道是不是我誤解板大的意思?!




  • 留言者: SHIRO
  • Email:
  • 網址: http://blog.xuite.net/jpshiro/way
  • 日期: 2010-12-08 19:36:31
您好~~請教一下, 如果想要當它x移動到某個值的時候就不再繼續

移動, 應該怎麼寫呢??

感謝您的技術分享!!




  • 留言者: Wei
  • Email:
  • 網址:
  • 日期: 2010-12-16 18:35:41
非常感謝大大!

已經能夠動了!!!



沒錯~對於語法感覺好像似懂非懂的學習著...

我會多讓自己磨練磨練!

感謝大大賜教XD




  • 留言者: versus11qq
  • Email: qjgkkj@yahoo.com.tw
  • 網址:
  • 日期: 2010-12-31 09:21:51
謝謝,受教嘍。

HI, 來你這逛逛喔,歡迎來我家參觀喔!醉愛名牌-名牌網購介紹~我的部落格是http://tw.myblog.yahoo.com/qwwopp-365289 歡迎參觀



gd

Actionscript3.0-碰撞偵測

在flash actionscript3.0中,碰撞方法有四種:
假若有兩物件,B1,B2

1.Object.hitTestObject(Target)
---------------------------------------------------------------------------------------
if(B1.hitTestObject(B2)){ //TestObject與TestPoint不同點在於一個是碰到物件外框,一個是物件與座標的偵測
trace("碰撞")
}else{trace("沒碰到")}

2.Object.hitTestPoint(Target)
---------------------------------------------------------------------------------------
if(B1.hitTestPoint(B2.x,B2.y,true)){  //請注意 Point部份要輸入碰撞的座標 這裡輸入B2座標
trace(" 碰撞")
}else{trace("沒碰到")}


3.自定義class,以上兩種也許都無法提供你的需求,當你想做物件精密碰撞時
   http://justfly.idv.tw/2009/05/25/Just_639.html <--可以至justBlog下載as2.0或3.0方法

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

if(HitTest.complexHitTestObject(hit_mc1, hit_mc2 , 5)){

trace(" 碰撞")

}else{

trace("沒碰到")

}



4.計算兩物件距離

  如果你高中數學還記得的話,在圓相交接觸的計算中,有計算到兩個圓是否接觸

  沒錯,用的就是計算兩圓心距離是否小於兩物件半逕,說到此相信你已知道該如

  做,以距離來延伸做變化.

  • 留言者: Z0912256341
  • Email:
  • 網址:
  • 日期: 2010-08-21 23:33:05
您好我是使用設定一個方塊

然後用阿法直把它變成0

那我這種碰撞方式用第一種OK嗎?

我的是2.0版本 真不好意思第一個問題忘記說了

麻煩您了




  • 留言者: seal771006
  • Email:
  • 網址:
  • 日期: 2010-09-17 16:45:09
大大您好!

有沒有元件座標隨著影格變動???

本人在碰撞偵測遇到困難...




  • 留言者:
  • Email:
  • 網址: http://tw.myblog.yahoo.com/taisan-dalofu/
  • 日期: 2012-11-07 21:25:17
兝乑兵



還行喔。

2013年生肖運勢 - 2013生肖運勢 鼠

今年屬鼠的朋友們,會較易有疲勞精神不濟的狀況,適當的放鬆身心平心靜氣,自然煩惱驟減,若不放心也可以藉由命理上的諮詢來更掌握今年的狀況哦!祝福各位新年愉快!詳細資訊請點進小房子喔!



丸厌




  • 留言者: diegoedmomed
  • Email:
  • 網址: http://wen807695.idv.tw/boardlist.asp
  • 日期: 2012-11-09 01:53:11
充呔勮

冈倢僕



謝謝,受教嘍。





有體重或便秘問題嗎?





您還在找不當的產品使用嗎?



可三餐正常飲食,不用節食或斷食的好方法喔!





輕鬆的管理您的困擾。





快上服務網站諮詢或下單喔~~





服務網站→http://wen807695.idv.tw/about.asp









刼厢

唈佑




  • 留言者: rosaliy2nd57
  • Email:
  • 網址: http://aaashops.com
  • 日期: 2013-01-13 16:02:14
仛伮刽吗儎

還不錯,加油喔,一起努力!

精美禮品送完即止

訂購網址 aaashops.com

Line帳戶 aaashops.com

請點小房子或是網址進入

偝刷勮乽侌