2009-06-05 29 views
0

我正在將AJAX製作的房間編輯器轉換爲Flash,用戶可以在其中將傢俱移動到他們想要的位置,但我是遇到一些與x,y座標有關的問題。使用Javascript/AJAX設置,我記錄了傢俱圖像的X,Y座標,並且從圖像的左上角開始工作良好。但是,現在試圖使其工作,並將相同的設置加載到Flash而不是使用AJAX,放置完全關閉。看起來,返回給我的X,Y座標是從圖像的中心而不是從左上角(如果我將某個東西拖到「房間」的左上角,則顯示X & Y是寬度和高度)。X,Y座標似乎是從對象的中間生成的,而不是閃光燈的左上角

這將是什麼原因?我覺得X,Y座標在Javascript和Flash中都是一樣的。

回答

1

我假設你正在用Flash IDE做所有這些工作,因爲如果你在運行時用純代碼加載了所有的代碼,那麼你將不得不通過指定x和y來迫使它們居中這是高度和寬度的一半。這一切都讓我相信,你已經將這些放入了用中心註冊創建的影片剪輯中。

您需要檢查您用作傢俱的位圖的x,y。確保它們在父影片剪輯的0,0處。然後你只需移動父母。如果您的位圖的寬度和高度都爲x和y值的一半,則這會將位圖居中放置在MovieClip/Sprite中間,而不是進行左上註冊。

如果您創建了一個帶有居中註冊的動畫片段,則您不必銷燬它,並使用另一個註冊製作一個新動畫片段;只需打開動畫片段並將位於內部的位圖/資產設置爲X:0,Y:0,然後從動畫片段內部離開,並且一旦在外部,就必須相應地調整它。

1

確保每個對象的註冊點位於其左上角,而不是位於其中心。

的更多信息:

+0

我怎麼會去檢查,如果對象是從一個XML文件加載? – 2009-06-05 02:06:58

0

我們有理由爲周圍的工作簡單地轉換使用對象的高度和寬度的位置。例如,說一個對象是100px乘100px。如果將其移動到左上角,座標將顯示爲50x50y。在導入時,您可以簡單地將寬度和高度的一半分別添加到X和Y.出口時只需減去一半。這當然假設登記點總是在中間。

相關問題