Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash AS3:关于儿童和参考儿童的快速问题_Flash_Actionscript 3_Actionscript_Children - Fatal编程技术网

Flash AS3:关于儿童和参考儿童的快速问题

Flash AS3:关于儿童和参考儿童的快速问题,flash,actionscript-3,actionscript,children,Flash,Actionscript 3,Actionscript,Children,编辑:Cameron请求了完整的违规功能: function picSwitch(p=null) { if (picShown == true) { picx = 3072; picy = 2304; picTweens.removeChild(pic); picShown = false; } else { var pic:image = new image(); pic.smoothing = true; pic.width = 750; pic.

编辑:Cameron请求了完整的违规功能:

function picSwitch(p=null)
{
 if (picShown == true)
 {
  picx = 3072;
  picy = 2304;
  picTweens.removeChild(pic);
  picShown = false;
 }
 else
 {
  var pic:image = new image();
  pic.smoothing = true;

  pic.width = 750;
  pic.height = 560;

  if (pic.scaleX < pic.scaleY) 
  {
   pic.scaleY = pic.scaleX;
  } 
  else 
  {
   pic.scaleX = pic.scaleY;
  }

  picx = 1536 - (pic.width/2) + 64;
  picy = 1152 - (pic.height/2) - 12;

  picTweens.addChild(pic);

  TweenLite.to(pic, 1, {x:picx, y:picy, rotation:4, ease:Quint.easeInOut});

  picShown = true;
 }
}
好极了,它给我创造了一个电影剪辑

现在在同一函数中的if语句中

picTweens.removeChild(pic);
但当那个if语句触发时,(我已经把我的pic加载到它应该在的地方)

它告诉我:

TypeError: Error #2007: Parameter child must be non-null.
 at flash.display::DisplayObjectContainer/removeChild()
我的语法错了吗?如果没有,那么我应该检查什么呢?

很明显。当您要删除子对象时,pic变量根本不可用。您在“else”部分声明了它,它是在某个函数中声明的(我猜是在按下按钮、输入帧或任何其他事件时调用的)。因此,当再次调用函数时,这一次picshow设置为true时,pic变量不可用,并且为null

或者您确实在函数外部声明了变量,但是在函数范围内使用“var”时,它被本地覆盖

So-确保在函数外部声明pic变量,以便以后可以访问句柄:

var pic:image;
function picSwitch(...){
    // etc.
}

另外-如果有,不要在函数中重新声明pic变量,只使用一个简单的赋值(pic=blah;)。

你能完整地发布有问题的函数吗?用完整的有问题的函数编辑。Augh!>\uuuu<我就知道是那样的蠢事。非常抱歉这样浪费空间。实际上,这是我的var pic的范围:image=newimage();掌纹
var pic:image;
function picSwitch(...){
    // etc.
}