2012-08-28 194 views
1

我必須創建一個帶有標籤導航器視圖的移動柔性應用程序。其中一個視圖必須滿足以下條件:選擇視圖時,圖像將出現一秒鐘,然後消失半秒鐘,然後重新出現在視圖屏幕上的隨機位置。這將重複,直到選擇另一個視圖。如何在移動靈活視圖的屏幕上隨機移動圖像?

我是Mobile Flex的新手,我需要你的幫助。

非常感謝您。

最好的問候, HBLE

回答

0
  1. 使用enterFrame事件或Timer來隱藏/顯示圖像。
  2. 設置圖像x和y屬性在特定位置
  3. 使用的Math.random()來顯示在圖像中的區間[0,1]

重要的是產生隨機數: 當選項卡處於活動狀態調用init(); 當更改爲其他選項卡時,請不要忘記停止計時器並刪除事件偵聽器。 (出於性能的考慮,避免內存泄漏)

示例代碼:

var isVisible:Boolean = false; 

function init():void 
{ 
    // we show/hide with a delay of 1 second 
    var t:timer = new Timer(1000); 
    t.addEventListener(TimerEvent.Timer, onTimer); 
    t.start(); 
} 

function onTimer(event:TimerEvent):void 
{ 
    if(isVisible) 
    { 
     hideImage(); 
    } 
    else 
    { 
     showAndMoveImage(); 
    } 

    isVisible = !isVisible; 
} 

function hideImage():void 
{ 
    myImage.visible = false; 
} 


function showAndMoveImage():void 
{ 
    // we reposition image in screen, assume image size is smaller then screen 
    myImage.x = Math.random() * (stage.width - myImage.width); 
    myImage.y = Math.random() * (stage.height - myImage.height); 

    myImage.visible = true; 
} 
+0

我不認爲在Flex中代碼WIL工作,沒有一個時間表。你需要一個適當的類。 –

+0

我嘗試了您的代碼@Adrian Pirvulescu,它適用於我的Flex移動應用程序。但是,它必須進行修改以適應我的代碼。 此外,您的代碼在顯示圖像時遇到問題。有時,在我看來,圖像超出屏幕框架(從視圖中消失3-4秒)。 –

+0

@AmyBlankenship將此代碼放入您的班級,它將起作用。此外,如果你有一個MXML文件,你可以在