Actionscript 3 在函数中使用addChild将子级添加到先前添加的实例中
我写了一个简单的函数“adone”来向stage添加东西,今天我决定让它也向其他对象添加child,但是我所做的测试函数“ad2”工作不正常。你有什么建议Actionscript 3 在函数中使用addChild将子级添加到先前添加的实例中,actionscript-3,flash,class,oop,adobe,Actionscript 3,Flash,Class,Oop,Adobe,我写了一个简单的函数“adone”来向stage添加东西,今天我决定让它也向其他对象添加child,但是我所做的测试函数“ad2”工作不正常。你有什么建议 package { import flash.display.MovieClip; public class main extends MovieClip { public var ui:Array = new Array; public var splz:Array = new Array; public va
package {
import flash.display.MovieClip;
public class main extends MovieClip {
public var ui:Array = new Array;
public var splz:Array = new Array;
public var pows:powsys = adone("powsz",powsys,ui,400,240);
public var s1:powsyspsl = ad2("s1",powsyspsl,splz,100,100,"powsz");
public function main() {
}
public function adone(nm,tp,lst,ex=0,ey=0) {
nm = new tp();
addChild(nm);
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
public function ad2(nm,tp,lst,ex=0,ey=0,par=null) {
nm = new tp();
par.addChild(nm);
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
}
}
您正在设置第一个参数“powsz”
,但您没有使用此参数,您只是使用nm=new tp()来更改它代码>当您的adone()
函数工作时,它看起来工作正常
在这里
public var s1:powsyspsl = ad2("s1",powsyspsl,splz,100,100,"powsz");
您没有犯与“adone()”中相同的错误,因此它仍然是一个字符串变量,您试图在这里向字符串变量“powsz”添加一个子变量?我想你应该把它修好
par.addChild(nm);
但是如果你不想解决问题,但是你想让你的代码不能正常工作,你可以试试这个
public function ad2(nm,tp,lst,ex=0,ey=0,par=null) {
nm = new tp();
par = new tp();
par.addChild(nm);
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
所有这些东西看起来像个笑话!您的问题无法通过这种方式解决,您必须修复整个代码和逻辑。。你用了很多不必要的东西和错误的方法来做你想要的
您正在设置第一个参数“powsz”
,但您没有使用此参数,您只是使用nm=new tp()来更改它代码>当您的adone()
函数工作时,它看起来工作正常
在这里
public var s1:powsyspsl = ad2("s1",powsyspsl,splz,100,100,"powsz");
您没有犯与“adone()”中相同的错误,因此它仍然是一个字符串变量,您试图在这里向字符串变量“powsz”添加一个子变量?我想你应该把它修好
par.addChild(nm);
但是如果你不想解决问题,但是你想让你的代码不能正常工作,你可以试试这个
public function ad2(nm,tp,lst,ex=0,ey=0,par=null) {
nm = new tp();
par = new tp();
par.addChild(nm);
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
所有这些东西看起来像个笑话!您的问题无法通过这种方式解决,您必须修复整个代码和逻辑。。你用了很多不必要的东西和错误的方法来做你想要的
您正在设置第一个参数“powsz”
,但您没有使用此参数,您只是使用nm=new tp()来更改它代码>当您的adone()
函数工作时,它看起来工作正常
在这里
public var s1:powsyspsl = ad2("s1",powsyspsl,splz,100,100,"powsz");
您没有犯与“adone()”中相同的错误,因此它仍然是一个字符串变量,您试图在这里向字符串变量“powsz”添加一个子变量?我想你应该把它修好
par.addChild(nm);
但是如果你不想解决问题,但是你想让你的代码不能正常工作,你可以试试这个
public function ad2(nm,tp,lst,ex=0,ey=0,par=null) {
nm = new tp();
par = new tp();
par.addChild(nm);
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
所有这些东西看起来像个笑话!您的问题无法通过这种方式解决,您必须修复整个代码和逻辑。。你用了很多不必要的东西和错误的方法来做你想要的
您正在设置第一个参数“powsz”
,但您没有使用此参数,您只是使用nm=new tp()来更改它代码>当您的adone()
函数工作时,它看起来工作正常
在这里
public var s1:powsyspsl = ad2("s1",powsyspsl,splz,100,100,"powsz");
您没有犯与“adone()”中相同的错误,因此它仍然是一个字符串变量,您试图在这里向字符串变量“powsz”添加一个子变量?我想你应该把它修好
par.addChild(nm);
但是如果你不想解决问题,但是你想让你的代码不能正常工作,你可以试试这个
public function ad2(nm,tp,lst,ex=0,ey=0,par=null) {
nm = new tp();
par = new tp();
par.addChild(nm);
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
所有这些东西看起来像个笑话!您的问题无法通过这种方式解决,您必须修复整个代码和逻辑。。你使用了很多不必要的东西和错误的方法来制作你想要的东西…将代码更改为:
package {
import flash.display.MovieClip;
public class main extends MovieClip {
public var ui:Array = new Array ;
public var splz:Array = new Array ;
public var pows:powsys = adone("pows",powsys,ui,400,240);
public var s1:powsyspsl = adone("s1",powsyspsl,splz,100,100,pows);
public function main() {
}
public function adone(nm,tp,lst,ex=0,ey=0,par=null) {
nm = new tp ;
if (par) {
par.addChild(nm);
} else {
addChild(nm);
}
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
}
}
“par”var在跟踪中两次都返回null。这意味着将第二个对象添加到阶段,而不是第一个对象。将代码更改为:
package {
import flash.display.MovieClip;
public class main extends MovieClip {
public var ui:Array = new Array ;
public var splz:Array = new Array ;
public var pows:powsys = adone("pows",powsys,ui,400,240);
public var s1:powsyspsl = adone("s1",powsyspsl,splz,100,100,pows);
public function main() {
}
public function adone(nm,tp,lst,ex=0,ey=0,par=null) {
nm = new tp ;
if (par) {
par.addChild(nm);
} else {
addChild(nm);
}
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
}
}
“par”var在跟踪中两次都返回null。这意味着将第二个对象添加到阶段,而不是第一个对象。将代码更改为:
package {
import flash.display.MovieClip;
public class main extends MovieClip {
public var ui:Array = new Array ;
public var splz:Array = new Array ;
public var pows:powsys = adone("pows",powsys,ui,400,240);
public var s1:powsyspsl = adone("s1",powsyspsl,splz,100,100,pows);
public function main() {
}
public function adone(nm,tp,lst,ex=0,ey=0,par=null) {
nm = new tp ;
if (par) {
par.addChild(nm);
} else {
addChild(nm);
}
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
}
}
“par”var在跟踪中两次都返回null。这意味着将第二个对象添加到阶段,而不是第一个对象。将代码更改为:
package {
import flash.display.MovieClip;
public class main extends MovieClip {
public var ui:Array = new Array ;
public var splz:Array = new Array ;
public var pows:powsys = adone("pows",powsys,ui,400,240);
public var s1:powsyspsl = adone("s1",powsyspsl,splz,100,100,pows);
public function main() {
}
public function adone(nm,tp,lst,ex=0,ey=0,par=null) {
nm = new tp ;
if (par) {
par.addChild(nm);
} else {
addChild(nm);
}
lst.push(nm);
nm.x = ex;
nm.y = ey;
}
}
}
“par”var在跟踪中两次都返回null。这意味着第二个对象被添加到阶段,而不是第一个对象。未测试
package {
import flash.display.MovieClip;
public class main extends MovieClip {
public var ui:Array = new Array;
public var splz:Array = new Array;
public var pows:powsys = adone(powsys,ui,400,240);
public var s1:powsyspsl = adone(powsyspsl,ui,400,240,pows);
public function main() {
}
public function adone(tp,lst,ex=0,ey=0,par=null):Object {
var nm = new tp();
if (par) {
par.addChild(nm);
} else {
addChild(nm);
}
lst.push(nm);
nm.x = ex;
nm.y = ey;
return nm;
}
}
}
未经测试
package {
import flash.display.MovieClip;
public class main extends MovieClip {
public var ui:Array = new Array;
public var splz:Array = new Array;
public var pows:powsys = adone(powsys,ui,400,240);
public var s1:powsyspsl = adone(powsyspsl,ui,400,240,pows);
public function main() {
}
public function adone(tp,lst,ex=0,ey=0,par=null):Object {
var nm = new tp();
if (par) {
par.addChild(nm);
} else {
addChild(nm);
}
lst.push(nm);
nm.x = ex;
nm.y = ey;
return nm;
}
}
}
未经测试
package {
import flash.display.MovieClip;
public class main extends MovieClip {
public var ui:Array = new Array;
public var splz:Array = new Array;
public var pows:powsys = adone(powsys,ui,400,240);
public var s1:powsyspsl = adone(powsyspsl,ui,400,240,pows);
public function main() {
}
public function adone(tp,lst,ex=0,ey=0,par=null):Object {
var nm = new tp();
if (par) {
par.addChild(nm);
} else {
addChild(nm);
}
lst.push(nm);
nm.x = ex;
nm.y = ey;
return nm;
}
}
}
未经测试
package {
import flash.display.MovieClip;
public class main extends MovieClip {
public var ui:Array = new Array;
public var splz:Array = new Array;
public var pows:powsys = adone(powsys,ui,400,240);
public var s1:powsyspsl = adone(powsyspsl,ui,400,240,pows);
public function main() {
}
public function adone(tp,lst,ex=0,ey=0,par=null):Object {
var nm = new tp();
if (par) {
par.addChild(nm);
} else {
addChild(nm);
}
lst.push(nm);
nm.x = ex;
nm.y = ey;
return nm;
}
}
}
是的,我的目的是找出正确的方法来做这样的事情。事实上,我会删除第二个函数,只要我弄清楚这些函数是如何工作的,并用一个函数完成它们首先,我做了“public var pows:powsys=adone(“pows”,powsys,ui,400240)”,但它给了我错误,我觉得我想把child添加到一个变量中,而不是对象本身。----现在你认为最好的方法是什么?哦,我忘了提到我将添加一个“if”部分,使父选项成为可选的。你应该使用这个“powsyspsl”在“ad2(nm,tp,lst,ex=0,ey=0,par=null)”函数的“par”部分。另外,您的ad2中不需要“par=new tp();”,因此它还没有做任何事情..我教过在使用它之前有必要(某种程度上)创建一个类的新实例。对不起,我的意思是“powsys”而不是“powsyspsl”==>ad2(nm,tp,lst,ex=0,ey=0,toHERE)是的,我的意图是找出正确的方法来做这样的事情。事实上,我会删除第二个函数,只要我弄清楚这些函数是如何工作的,并用一个函数完成它们首先,我做了“public var pows:powsys=adone(“pows”,powsys,ui,400240)”,但它给了我错误,我觉得我想把child添加到一个变量中,而不是对象本身。----现在你认为最好的方法是什么?哦,我忘了提到我将添加一个“if”部分,使父选项成为可选的。你应该使用这个“powsyspsl”在“ad2(nm,tp,lst,ex=0,ey=0,par=null)”函数的“par”部分。另外,您的ad2中不需要“par=new tp();”,因此它还没有做任何事情..我教过在使用它之前有必要(某种程度上)创建一个类的新实例。对不起,我的意思是“powsys”而不是“powsyspsl”==>ad2(nm,tp,lst,ex=0,ey=0,toHERE)是的,我的意图是找出正确的方法来做这样的事情。事实上,我会删除第二个函数,只要我弄清楚这些函数是如何工作的,并用一个函数完成它们首先,我做了“public-var-pows:powsys=adone”(“p