iT邦幫忙

0

Actionscript 3.0 變數傳送問題!?

  • 分享至 

  • twitterImage

請問各位大大

小弟做了一個轉向的砲台
遇到一個問題
我的砲彈要跟砲台轉同一方向
但由於砲彈的actionscript是寫在砲彈元件內, 而不是根目錄
所以不知到該怎將砲台的轉向參數傳給砲彈內的actionscript使用
請問這點該怎傳送!?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

6
wordsmith
iT邦高手 1 級 ‧ 2012-01-30 12:15:13
最佳解答

不管元件的位置在哪裡,只要透過事件來傳送砲台的方向即可。

假設砲台有個方向public變數Cannon.direction,可以面向left或right。

再假設砲彈的元件Cannonball是一個獨立的swf檔,從外部載入的,所以應該來用Loader物件來載入Cannonball。

<pre class="c" name="code">var loader:Loader = new Loader();
loader.load("cannonball.swf");

載入Cannonball之後,用LoaderInfo來監聽Event.COMPLETE事件。

<pre class="c" name="code">loader.contentLoaderInfo.addEventListener(Event.COMPLETE, initCannonball);

function initCannonball(e:Event):void
{
    //取得載入的砲彈
     var cannonball = e.target.content;
     //設定子彈的方向
     cannonball.setDirection(Connon.direction);

}

大概的原理就是這樣。

不過如果說你的砲彈不是獨立的swf檔,而是放在Libray中,由flash幫你用Actionscript先放置到影片中,那就更容易了。

<pre class="c" name="code">public class CannonBall extends Spirte
{
     private _direction:String;  
    public function CannonBall(direction:String)
    {
           //將砲台的方向指給砲彈。這裡方便說明是用字串,實際上可能是遊 
           _direction = direction;
     }
}

//生成砲彈的時候直接把方向給它
var cannonball = new CannonBall(Connon.direction);

我要發表回答

立即登入回答