2013-03-15 63 views
0

我將對象傳遞給類並在對象中進行一些更改,但實際對象保持不變。通過引用在actionscript中不工作

例如:

public class Xclass 
{ 
    public var counter:int=1; 
} 

private function mymethod(x:Xclass):void 
{ 
    x.counter = 10; 
} 

之後來到櫃檯的這種方法的價值出來仍然沒有1 10.

有沒有在我的代碼任何問題。或者是否有任何其他方式通過引用傳遞對象。

+0

我一直在使用AS3一年,我不知道這可能發生。 – Panzercrisis 2013-03-15 12:55:42

+5

還有其他問題,因爲這應該是最確定的。自己嘗試:https://gist.github.com/creynders/5169757 – Creynders 2013-03-15 13:06:05

+0

發佈更多的代碼,你如何初始化你傳遞給輸出點的變量。 – Vesper 2013-03-15 13:59:29

回答

0

它在AS3做工精細,拿在這段代碼波紋管一看:

主類:

package 
{ 
    import flash.display.Sprite; 

    public class TesteCake extends Sprite 
    { 
     public function TesteCake() 
     { 
      var xclass:XClass = new XClass(); 
      trace(xclass.getCounter()); 


      changeCounterXClass(xclass); 
      trace(xclass.getCounter()); 
     } 

     private function changeCounterXClass(xclass:XClass):void{ 
      xclass.setCounter(10); 
     } 
    } 

} 

這是XClass.as(這個類是在其他。至於文件)

package 
    { 
     public final class XClass 
     { 
      private var counter:int = 1; 


      public function setCounter(value:int):void{ 
       counter = value; 
      } 


      public function getCounter():int{ 
       return counter; 
      } 
     } 
    } 

我希望這可以幫助你!