Ball 元件為一球型的特殊動畫元件 Ball 元件為一可置放於畫布中的圓形動畫元件,當它被觸碰、拖拉、與其他動畫元件 (ImageSprite 或 Ball)互動時或與畫布邊緣接觸時,它可根據不同事件執行對應動作。 Ball 元件也可依照其屬性自行移動,例如要讓一個 Ball 元件每 500 毫秒往畫布上緣移動4 個像素,您可以設置 Speed 屬性設為 4,Interval 屬性為 500,Heading 屬性為 90(度)和 Enabled 屬性為真,您可以調整這些屬性來改變球的行為。 Ball 元件和 Imagesprite 之間的不同就是 Imagesprite 可以透過上傳圖檔來改變其外觀,但Ball 元件只能調顏色(PaintColor)和大小(Radius)。 屬性 Radius 球的半徑。 Ball.Radius : 取得球現在的半徑。 Set Ball.Radius : 設定球的半徑。 PaintColor 球的顏色。 Ball.PaintColor : 取得球現在的顏色。 Set Ball.PaintColor : 設定球的顏色。 Enabled 本項需設定為真,球才可移動。 Ball.Eabled : 取得 Ball 現在是否可使用(boolean) Set Ball.Eabled : 設定 Ball 為可/不可使用 Interval 球的移動頻率,單位為毫秒。 Ball.Interval : 取得球現在的移動頻率。 Set Ball.Interval : 設定球的移動頻率。 Visible 本項需設定為真,球才能顯示在螢幕上。 Ball.Visible :取得球現在是否可被看見(boolean) Set Ball.Visible:設定球為可/不可被看見 Heading 球的移動方向。 Ball.Heading : 取得球現在的移動方向。 Set Ball.Heading : 設定球的移動方向。 X 球的 X 座標。 Ball.X : 取得球現在的 X 座標。 Set Ball.X: 設定球的 X 座標。 Y 球的 Y 座標。 Ball.Y : 取得球現在的 Y 座標。 Set Ball.Y: 設定球的 Y 座標。 Z 球的 Z 座標。 Ball.Z : 取得球現在的 Z 座標。 Set Ball.Z: 設定球的 Z 座標。 Speed 球每單位時間之移動距離,單位為像素。 Ball.Speed :取得球每單位時間之移動距離 Set Ball.Speed:設定球每單位時間之移動距離 | Dragged(number startX, number startY, number prevX, number prevY, number currentX, number currentY) when Ball.Dragged : 球被拖移時呼叫本事件,參數說明請參閱 Canvas 元件。 Flung(number x, number y, number speed, number heading, number xvel, number yvel) When Ball.Flung : 當使用者手指滑過 Ball 時,回傳(x,y)座標代表使用者所起始的位置。 "speed"代表手指在畫布上移動的速度,"heading"代表逆時針旋轉的角度,從 0 開始為水平,(xvel, yvel)這組值代表X與Y的速度分量。 EdgeReached(number edge) when Ball.EdgeReached : 當球與螢幕邊緣接觸時呼叫本事件,參數 edge 代表球接觸的位置,如下所示: • north = 1,螢幕上(北)緣 • northeast = 2,螢幕右上(東北)角 • east = 3,螢幕右(東)緣 •southeast = 4,螢幕右下(東南)角 •south = -1,螢幕下(南)緣 •southwest = -2,螢幕左下(西南)角 • west = -3,螢幕左(西)緣 • northwest = -4,螢幕左上(西北)角 請注意相反的方向是彼此互為相反數 NoLongerCollidingWith(component other) when Ball.NoLongerCollidingWith : 當兩個動畫元件不再碰撞時呼叫本事件。 Touched(number x, number y) when Ball.Touched : 當球被點擊時呼叫本事件。 TouchDown(number x, number y) When Ball.TouchDown : 當使用者點擊 Ball 時,手指放置在 Ball上,並讓手指留在那裏,回傳(x,y)座標代表使用者所點擊的位置。 TouchUp(number x, number y) When Ball.Up : 當使用者點擊 Ball ,手指離開 Ball 時回傳(x,y)座標代表使用者手指離開的位置。 方法 Bounce(number edge) Ball.Bounce : 使球彈跳,就好像真的撞到牆或角落一樣。 參數和 EdgeReached 事件的參數相同,因此我們可以利用 EdgeReached 事件讓球每次碰到畫布邊緣都會彈跳,讓球栩栩如真地自由彈跳。 CollidingWith(component other) Ball.CollidingWith : 代表球是否和指定元件發生碰撞。 MoveIntoBounds() Ball.MoveIntoBounds : 如果球跑出界了,可利用本方法將它抓回界內。 MoveTo(number x,number y) Ball.MoveTo : 讓球移動到指定點座標。 PointTowards(component target) Ball.PointTowards : 讓球轉向對準指定的目標。新的 heading 即為兩個元件中心所構成直線之指向。 |