我正在使用flash编辑自定义日历应用程序。此应用程序的目的是让您选择自己的图像,并从中创建一个日历。您基本上可以拖放您选择的图像,并应用框架/边框或拖放装饰。 这是在您选择的装饰/图像上绘制边框/框架的代码片段。
tempListener.onLoadInit = function(target_mc:MovieClip)
{
var mcName = target_mc._name.substring(0, target_mc._name.indexOf("@", 0));
if(mcName == "frame_Image")
{
target_mc.onPress = function()
{
if(_root.selectedImage != null)
{
var index = this._name.substring(this._name.indexOf("@",0)+1, this._name.length);
var objPath = nodesFrames.childNodes[index-1].attributes.image;
if(_root.selectedImage._name.split("@")[0] == "image")
{
var mask = _root.selectedImage[_root.selectedImage._parent._name + "_" + _root.selectedImage._name + "_maskMc"];
frameImageWidth = mask._width;
frameImageHeight = mask._height;
frameImageXScale = -1;
frameImageYScale = -1;
}
else
{
frameImageXScale = _root.selectedImage._xscale;
frameImageYScale = _root.selectedImage._yscale;
_root.selectedImage._xscale = 100;
_root.selectedImage._yscale = 100;
frameImageWidth = _root.selectedImage._width;
frameImageHeight = _root.selectedImage._height;
}
if(_root.selectedImage["frame"])
{}
else
{
_root.selectedImage.createEmptyMovieClip("frame", _root.selectedImage.getNextHighestDepth());
}
var image_mcl1:MovieClipLoader = new MovieClipLoader();
image_mcl1.addListener(_root.mclFrameListener);
image_mcl1.loadClip("Images/" + objPath, _root.selectedImage["frame"]);
}
}
}
我需要以某种方式将所选择的帧图像应用到整个背景 - 而不仅仅是装饰或图像。我该怎么做?
提前感谢您的意见。如果问题没有意义,请告诉我,我会附上一些可以帮助您了解背景的图片。
答案 0 :(得分:3)
您可以使用蒙版剪辑创建新的位图,然后创建平铺背景。这是as2版本:
this.beginBitmapFill(tile);
在这里它解释了如何做到这一点: http://www.kirupa.com/developer/flash8/tiledbackground_flash8.htm
唯一的区别是不是加载位图,而是可以从蒙版剪辑中创建它。
我希望它足够清楚,其他方式让我知道。
答案 1 :(得分:2)
在Flash中没有内置的方法来设置背景图像,你必须自己实现逻辑。
因此,例如,如果您希望图像填充整个背景,则可能需要手动拉伸或平铺,甚至可能是onResize。
答案 2 :(得分:1)
我写AS2已经很久了,但是......你试过创建一个位于最低层的空MovieClip吗?然后,您可以允许所选帧图像成为该MC的子项。