2013-02-07 14 views
-1

好目標變量。所以我有一個功能,我已經通過了一項參數通過它叫做對象名。不,我不知道如何做到這一點或解釋它。所以在這裏。AS3 - 使用另一個變量字符串值

public function moveObject(ObjectName):void{ 


      //objectName now holds "myName" which is an object also 

      //i would now like my variable called myNamePosition to equal 10 

      //so it would need to grab the value of objectName which is myName:Object. 
      //turn it into a string of some kind - myName:string 
      //add "Position" to the end of it so its myNamePosition 
      // make it equal to 10 

      trace(myNamePosition); 

    } 

通過的函數參數會改變,所以我實際上不能使用「myName」。而是「objectName」。

感謝

回答

1

例子:

package 
{ 
import flash.display.MovieClip; 


public class astest extends MovieClip 
{ 
    public function astest() 
    { 
     init(); 
    } 

    private var myNamePosition:int; 
    private function init():void 
    { 
     moveObject({myName:{}}) 
    } 

    public function moveObject(objectName:Object):void 
    { 
     var propName:String; 
     for(propName in objectName) 
      break; 
     trace(propName); 

     propName+="Position"; 
     trace(propName); 

     this[propName] = 10; 

     var propValue:* = this[propName]; 
     trace(propValue); 
    } 
} 
} 

輸出:

myName 
myNamePosition 
10 

難道你需要什麼?

+0

差不多。我認爲。我收到一個錯誤:ReferenceError:錯誤#1056:無法在遊戲上創建屬性myNamePosition。 錯誤來自「this [propName] = 10」 –

+0

我希望myNamePosition取值爲10. –

+0

_this [propName] _是對fla文件中類實例或變量屬性的引用。錯誤測量你沒有這樣的變量。 – fsbmain