evalは完全になくなりましたねー。
うーん、evalでどこまでの文を回したいのかわからないので本当に例えばですけど
こういうことがやりたいんでしょうかね…?
var My_size = {xsize:"100", ysize:"100", zsize:"100"}; var MCname = new Array("name1","name2"); var MCmez = "_x";//とりあえずx for(var fname in MCname){ this[MCname[fname]][MCmez] = My_size["xsize"]; }
メゾットもアクション演算子でいけるはずです。
だからもしかしたら
var My_size = {xsize:"100", ysize:"100", zsize:"100"}; var MCname = new Array("name1","name2"); var MCmez = "x";//とりあえずx for(var fname in MCname){ this[MCname[fname]]["_"+MCmez] = My_size[MCmez + "size"]; }
これでもいけるかもしれません。
試してみましたがちょっと挙動おかしかったですけど^^;
意図を外してたらすみません。
どうやら、eval 関数が、AS3 からなくなってしまったようなのです
var inname = "btn01"; this[inname]._x = 500;
とかアクセス演算子でいけませんか?
これも参考になります
今回やりたいのは、 _x の部分を可変にしたいのです
if (kubun == "x") {
this[inname]._x = 500;
}
if (kubun == "y") {
this[inname]._y = 500;
}
みたいなことをしたくて、この kubun が大量にあると
if が大量に必要なのど、プロパティーやメソッドを
ずらずら書くのが面倒なので、
一発で処理できないかと思っての質問でした
んー、調べるかぎり、eval がなくなって
代替がなくなったのかなぁ?
evalは完全になくなりましたねー。
うーん、evalでどこまでの文を回したいのかわからないので本当に例えばですけど
こういうことがやりたいんでしょうかね…?
var My_size = {xsize:"100", ysize:"100", zsize:"100"}; var MCname = new Array("name1","name2"); var MCmez = "_x";//とりあえずx for(var fname in MCname){ this[MCname[fname]][MCmez] = My_size["xsize"]; }
メゾットもアクション演算子でいけるはずです。
だからもしかしたら
var My_size = {xsize:"100", ysize:"100", zsize:"100"}; var MCname = new Array("name1","name2"); var MCmez = "x";//とりあえずx for(var fname in MCname){ this[MCname[fname]]["_"+MCmez] = My_size[MCmez + "size"]; }
これでもいけるかもしれません。
試してみましたがちょっと挙動おかしかったですけど^^;
意図を外してたらすみません。
試してたら、ちょっと返信が遅くなりました
package
{
import flash.display.*;
import flash.events.*;
public class S7 extends Sprite {
public function S7():void {
var mfnc = "abc";
this[mfnc]();
var mfnc = "xyz";
this[mfnc]();
}
private function abc() {
trace("111");
}
private function xyz() {
trace("222");
}
}
}
ドキュメントクラスをこうやって書いてみたら成功しました
どうやら、最期に () をつけると、ちゃんと関数として認識してくれるみたいです
実行すると、出力に
111
222
と表示されます
とても、参考になりました
ありがとうございました!!
#インデントが崩れる?
試してたら、ちょっと返信が遅くなりました
package
{
import flash.display.*;
import flash.events.*;
public class S7 extends Sprite {
public function S7():void {
var mfnc = "abc";
this[mfnc]();
var mfnc = "xyz";
this[mfnc]();
}
private function abc() {
trace("111");
}
private function xyz() {
trace("222");
}
}
}
ドキュメントクラスをこうやって書いてみたら成功しました
どうやら、最期に () をつけると、ちゃんと関数として認識してくれるみたいです
実行すると、出力に
111
222
と表示されます
とても、参考になりました
ありがとうございました!!
#インデントが崩れる?