我使用AS2,我有一個人可以動態構建的火車。用戶點擊舞臺上的一個對象並創建一個副本。當用戶單擊並拖動該複製到另一個對象時,它將捕捉到目標對象的右側,現在創建或添加數組。因此,用戶基本上可以根據汽車的數量(或者您喜歡的孩子)來搭建列車。如何重新定位mc的孩子排列並指向相同的方向?
我添加的一個功能是當用戶點擊並釋放父母,並且座標沒有變化時,整列火車將知道排隊並指向一個新的方向。所以如果它們全部排成一行並指向3點鐘位置並且用戶點擊父母,則父母將指向6點鐘位置,並且孩子將全部排隊到12點,並且所有點到六個。如果用戶不斷點擊,整列火車將繼續旋轉。
這是我與(希望這是不夠的)工作代碼:
function rotate(_index,_angle):Void
{
for(var _i in _linkArray[_index])
{
var _mcy:Number = this[_linkArray[_index][_i]]._y;
var _mcx:Number = this[_linkArray[_index][_i]]._x;
var _degree:Number = Math.atan2(_mcy,_mcx)*(180/Math.PI) + _angle;
/* if not the first element line up and rotate */
if(_i != 0)
{
this[_linkArra[_index][_i]._rotation += _degree;
}
}
}
希望有足夠的信息。
編輯
我想嘗試和澄清什麼,我想要的目的。我沒有一個例子,但要更好地解釋。在圖書館裏有一個叫做「鐵路車」的電影片段。當SWF啓動時,「鐵路車」連接到舞臺上,並且該對象現在將成爲創建無限重複副本的主人。這裏的最終目標是用戶將使用這些重複項目來構建訓練輔助系統的列車。因此,如果用戶想要開始構建該列車,他們將重複並將其拖放到另一個對象的頂部,然後將這兩個對象鏈接在一起。用戶可以做到這一點,並建立一個他們想要的火車。
當構建列車中的所有的汽車將被堆疊到每個父對象的像正確,以便:(箭頭所示的方向上,並且每個○表示列車的單個車)
ooo->
當用戶點擊第一輛整列火車應該旋轉點在另一個直接的,這裏有一個例子:
^
o
o
o
,並再次點擊前車的時候它會再次旋轉:
<-oooo
因此,如果您有一列列車全部排好隊並指向3'oclock位置,並且您希望它指向9點位置,則您將點擊前車兩次(因爲每次輪換是90度),並且整個列車將朝那個方向旋轉指向前車。
我希望我的高清的例子,但我不這樣做,所以希望這有助於:)
很難理解你想要完成什麼。也許圖表或模型會有所幫助? – BadFeelingAboutThis
嘿倫敦,沒問題。我正在開會,有點匆忙。尋找編輯。 – Mike