2011-05-28 88 views
0

我想創建一個像3個選項一樣的從頭開始。第一個網站發送有關哪個字段是正確的信息。然後閃光取代2個影片剪輯與'錯誤'的形象和1與'好'的形象。我已經創建了臨時平臺,但只適用於1個對象。我不知道爲什麼?閃存中的多個對象(檢測事件中的對象)

我甚至嘗試過重複的事件功能。最好的方法是獲得元素索引。但如何在事件函數中傳遞它?

基本上它只有3個黑色的瓷磚上的圖像。但爲什麼只有第一個對象有效?

我的代碼是:

function getFlashVars():Object { 
    return Object(LoaderInfo(this.loaderInfo).parameters); 
} 

var m = 0; 

function stopRys(myszka:MouseEvent):void { 
    m = myszka.currentTarget.tabIndex; 
    cover[m].removeEventListener(MouseEvent.MOUSE_MOVE, tworzMaske); 
    image[m].removeEventListener(MouseEvent.MOUSE_MOVE, tworzMaske); 
} 

function startRys(myszka:MouseEvent):void { 
    m = myszka.currentTarget.tabIndex; 
    cover[m].addEventListener(MouseEvent.MOUSE_MOVE, tworzMaske); 
    image[m].addEventListener(MouseEvent.MOUSE_MOVE, tworzMaske); 
} 

function tworzMaske(myszka:MouseEvent):void { 
    m = myszka.currentTarget.tabIndex; 
    image[m].visible = true; 
    rysuj[m].graphics.lineStyle(1); 
    rysuj[m].graphics.beginFill(0x000000); 
    rysuj[m].graphics.drawCircle(mouseX, mouseY, 50); 
    image[m].mask = rysuj[m]; 
} 

var key1 = getFlashVars().key1; 

var intWidth:Number = 200; 
var intHeight:Number = 200; 
var cover = new Array(); 
var image = new Array(); 
var rysuj = new Array(); 
var i:Number = 0; 

for (i=0; i<3; i++) { 
    cover[i] = new MovieClip(); 
    image[i] = new MovieClip(); 
    rysuj[i] = new Sprite(); 

    cover[i]._x = intWidth*i; 
    cover[i]._y = 0; 
    cover[i].tabIndex = i; 
    cover[i]._width = intWidth; 
    cover[i]._height = intHeight; 
    cover[i].graphics.beginFill(0x000000); 
    cover[i].graphics.drawRect(intWidth*i,0,intWidth,intHeight); 
    cover[i].graphics.endFill(); 

    image[i]._x = intWidth*i; 
    image[i]._y = 0; 
    image[i].tabIndex = i; 
    image[i]._width = intWidth; 
    image[i]._height = intHeight; 
    var myBitmapDataObject:przegrana = new przegrana(200, 200); 
    var myImage:Bitmap = new Bitmap(myBitmapDataObject); 
    image[i].addChild(myImage); 

    addChild(cover[i]); 
    addChild(image[i]); 
    addChild(rysuj[i]); 

    image[i].visible = false; 

    image[i].addEventListener(MouseEvent.MOUSE_DOWN, startRys); 
    cover[i].addEventListener(MouseEvent.MOUSE_DOWN, startRys); 
    image[i].addEventListener(MouseEvent.MOUSE_OUT, stopRys); 
    image[i].addEventListener(MouseEvent.MOUSE_UP, stopRys); 

} 

編輯:

現在我有一些奇怪的問題。事件只能在第一個對象上工作,就像在整個Flash動畫中一樣。

回答

0

你「不能」傳遞自定義參數甚至聽衆。要知道哪個對象派發了一個事件,你可以使用myszka.target。

+0

謝謝,我嘗試通過它作爲選項卡索引,但仍然更多的問題:(更多的話題 – Kaminari 2011-05-28 16:44:23