2012-08-03 62 views
2

我有一個包含MovieClip城市的地圖,並且在地圖MovieClip的頂層有一個點擊功能。我試圖做到這一點,如果我點擊一個城市,矩形將被繪製。這裏是代碼:在MovieClip中繪製Rentangle內部ActionScript 3

function rpress(a) 
{ 
trace("trying"); 

    var b:MovieClip = new MovieClip(); 
    b.graphics.beginFill(0xFF0000); 
    b.graphics.drawRect(0,0,100,80); 
    b.graphics.endFill(); 
    b.x = 150; 
    b.y = 150; 
    addChild(b); 
trace("done") 
} 

跟蹤命令被執行,但沒有繪製矩形。我試過MovieClip(root).addChild..., stage.addChild..., MovieClip(parent).addChild...和其他...

你有什麼想法嗎?謝謝!

全碼:

雙擊地圖MovieClip-> 84層歡迎我們 - >之所以選擇名爲 「行爲層」 行動-FRAME層:

function rbtxt(a) 
{ 
    var _loc2 = a; 
    var _loc3 = this; 
    balon._visible = true; 
    arbtxt = ilad.split(","); 
    balon.txt.text = arbtxt[_loc2]; 
    _loc3["x" + _loc2].play(); 
    balon._x = _loc3["x" + _loc2]._x; 
    balon._y = _loc3["x" + _loc2]._y - _loc3["x" + _loc2]._height/2 + 5; 
} 
//End of the function 
function rbalon(a) 
{ 
    balon._visible = false; 
    this["x" + a].gotoAndStop(1); 
} 
//End of the function 
function rpress(a) 
{ 
trace("trying"); 

    var b:MovieClip = new MovieClip(); 
    b.graphics.beginFill(0xFF0000); 
    b.graphics.drawRect(0,0,100,80); 
    b.graphics.endFill(); 
    b.x = 150; 
    b.y = 150; 
    addChild(b); 
trace("done") 
} 

ilad = "CITY NAMES....." 
ilurl = "CITY URLS....." 
+0

爲什麼不直接使用'Sprite'? – Staven 2012-08-03 20:45:32

+0

雪碧,但如何?像var b:Sprite = new Sprite(); ?如果你意識到它不起作用......它給出「'雪碧'無法加載」錯誤。 – ciyo 2012-08-03 20:53:24

+0

你能發佈.fla或完整的代碼嗎?你的rpress()函數看起來很好,所以它一定是別的。 – BadFeelingAboutThis 2012-08-03 20:55:59

回答

1

你沒有足夠的展示代碼,所以我們只能猜測。通過查看信息,你提供的,你可以嘗試:

this["x" + a].addChild(b); 

balon.addChild(b); 

但這只是猜測......

0

雪碧訪問圖形,儘量只使用影片剪輯的諸如加載的SWF以及基於時間軸的動畫和變量等Flash庫資產之類的複雜對象

function drawRect() 
{ 
    trace("trying"); 

    //var b:MovieClip = new MovieClip(); 
    var b:Sprite = new Sprite(); 
    b.graphics.beginFill(0xFF0000); 
    b.graphics.drawRect(0,0,100,80); 
    b.graphics.endFill(); 
    b.x = 150; 
    b.y = 150; 
    addChild(b); 
    trace("done") 
} 
+0

爲了更簡約和輕便,我們可以使用Shape類。順便說一句。我不知道你爲什麼拒絕投票,因爲這是一個好點,反正它不是我,我需要150的聲望才能成爲那樣的殘酷;) – 2012-08-03 23:21:28

+0

形狀類將是最有效率的......這個並不是這個問題的答案,而是在評論中更合適。 – BadFeelingAboutThis 2012-08-07 21:19:57

+0

我不是在這裏爲他們做別人的工作,而是指向正確的方向。我將從現在開始將鏈接發佈到adobe live文檔。人們geez。 – Darcey 2012-08-08 01:06:28

1

嗨嘗試添加影片剪輯到舞臺上,然後執行這樣的繪圖camamnd

var b:MovieClip = new MovieClip(); 
    addChild(b); 
    b.graphics.beginFill(0xFF0000); 
    b.graphics.drawRect(0,0,100,80); 
    b.graphics.endFill(); 
    b.x = 150; 
    b.y = 150; 
+0

不起作用... – ciyo 2012-08-04 18:41:59

相關問題