图像重叠 - 动作脚本 3 / adobe flash / adobe animate

Image Overlapping - action script 3 / adobe flash / adobe animate

我正在开发一个项目,它在 运行 时间加载另一个 png(png2) 图像(放置在较早的位置)

我已经这样做了,它工作正常,问题是一段时间后 png1 透明到背景,甚至 png2 放在 png1 和背景中间,下面我附上了问题的截图和代码。

import flash.net.URLLoader;
import flash.net.URLRequest;

var fl_TimerInstance: Timer = new Timer(1000);
fl_TimerInstance.addEventListener(TimerEvent.TIMER, fl_TimerHandler);
fl_TimerInstance.start();

var fl_SecondsElapsed: Number = 1;

function fl_TimerHandler(event: TimerEvent): void {

    var imageLoader: Loader = new Loader();
    var image: URLRequest = new URLRequest("C:\Users\Public\Pictures\pic.png"); //png1 = pic.png
    imageLoader.load(image);
    Zerolocation.addChild(imageLoader);

}

屏幕截图:

错误前 - https://drive.google.com/file/d/19a0t2jEGfDoX2voQ96rap4XpvDlGMWBd/view?usp=sharing

错误 - https://drive.google.com/file/d/1a--EIEXz2Qzt5SBfl8Y8SxDIAG3DkYZf/view?usp=sharing

时间轴 - https://drive.google.com/file/d/1s2uPSpOYAcfEJqdNqD4QpDGla8Gvs5LC/view?usp=sharing

如果有人能告诉我这有什么问题,我将不胜感激。

每次加载新文件时都需要更换 png1。最好检查文件是否仍然相同,以免每秒一次又一次地下载它。 png2不显示的原因正是因为png2前面的透明层太多了。我记得有 24 张带有 alpha 通道的图片相互叠加导致我丢失了一些本来可以看到的背景。为了解决你的问题,我说你在你的 png2 层前面添加一个 Sprite 容器,然后你可以清除该容器的所有子级以删除过时的 imageLoaders,然后添加你新下载的图片.与此一致的东西:

// Zerolocation has a child named "runtimePic" to place loaded pics
var didWeLoad:Boolean=true;
function fl_TimerHandler(event: TimerEvent): void {
  if (!didWeLoad) return; // why downloading more while we haven't finished?
  var imageLoader: Loader = new Loader();
  var image: URLRequest = new URLRequest("C:\Users\Public\Pictures\pic.png"); //png1 = pic.png
  imageLoader.load(image);
  imageLoader.addEventListener(Event.COMPLETE,loaded);
  didWeLoad=false;
}
function loaded(e:Event):void {
  didWeLoad=true; // allowing more downloading
  e.target.removeEventListener(Event.COMPLETE,loaded); // clean up, or else you'll leak memory
  // remove old pic(s)
  Zerolocation.runtimePic.removeChildren();
  // and now add new pic
  Zerolocation.runtimePic.addChild(e.target);
}

请注意,此代码不处理下载错误。