0

我試着做發現的ActionScript:變量未從另一個類的功能

trace(classname.functionname.variablename); 
//or 
trace(classname.functionname().variablename); 

沒有工作..任何想法,從classname.as獲得變量,這是一個函數裏面? 順便說一句我試着使功能靜態,仍然沒有工作 任何想法?

+0

請提供更多的代碼訪問它。要訪問類之外的變量,您需要將它們設置爲公共屬性。我懷疑你想訪問函數體內部的變量,因爲它們在函數調用之前不會存在。 – 2013-04-06 13:54:42

回答

1

沒有辦法,因爲在函數內部定義的那些變量只在函數執行時才存在,並且在存在return或函數體的結尾時消失。爲了從函數中獲得任何想要的值,可以在函數外創建一個類變量,在該函數內爲其指定一個值,然後從其他地址指定該值。

class test { 
public static var foo:Number; 
function bar():void { 
    // ... some code 
    foo=baz*2.54; 
    // ... more code 
} 
} 
class elsewhere { 
    ... 
    trace(test.foo); 
    ... 
} 
+0

我認爲這是一個簡單的方法..無論如何謝謝:)我會用艱難的方式:P – 2013-04-06 14:46:47

0

在函數內創建的變量只能在該函數的範圍內使用。 如果變量是類成員變量(在類上聲明爲public);

public class x { 
public var varName:String=""; 
} 

,你將能夠訪問他們作爲

classInstanceRef.varName 

不用說,你需要從該類的實例來實例化。

除非你的變量聲明爲static的類

public static varName:String=""; 

,並在這種情況下,你可以使用

className.varName; 
+0

你的意思是與ClassInstanceRef – 2013-04-07 21:42:12

相關問題