Flash CS4 ActionScript 2.0-使用as2更改MovieClip颜色
我对flash是个新手。我刚开始使用Flash,但已经两年没用了。也就是说,我习惯于使用AS2.0,并开始在2.0中制作游戏。我正在尝试实现一个屏幕,用户可以从典型的颜色渐变中选择角色的皮肤和头发颜色。我设置了它,这样皮肤的颜色实际上会根据他们点击的内容改变颜色 然而,情况并非如此。要进入此屏幕,有一个带有角色实例的主菜单。在角色中,每个肢体都被分割成自己的电影唇。每个肢体都由一些阴影、轮廓和仅由皮肤构成的电影唇组成。在“颜色更改”屏幕上,我将每个肢体分开,并给出一个实例名。然后,在每个肢体中,我为蒙皮部分指定了一个实例名。然后我改变了皮肤的颜色,但在返回主菜单时,皮肤已恢复到其原始颜色。如果我使用按钮返回到角色外观屏幕,则皮肤将恢复到其原始颜色,而不是用户选择的颜色。 我想我该如何实现这一点,以使颜色选择保持不变 以下是我当前的代码:Flash CS4 ActionScript 2.0-使用as2更改MovieClip颜色,flash,actionscript-2,movieclip,Flash,Actionscript 2,Movieclip,我对flash是个新手。我刚开始使用Flash,但已经两年没用了。也就是说,我习惯于使用AS2.0,并开始在2.0中制作游戏。我正在尝试实现一个屏幕,用户可以从典型的颜色渐变中选择角色的皮肤和头发颜色。我设置了它,这样皮肤的颜色实际上会根据他们点击的内容改变颜色 然而,情况并非如此。要进入此屏幕,有一个带有角色实例的主菜单。在角色中,每个肢体都被分割成自己的电影唇。每个肢体都由一些阴影、轮廓和仅由皮肤构成的电影唇组成。在“颜色更改”屏幕上,我将每个肢体分开,并给出一个实例名。然后,在每个肢体中,
import flash.display.BitmapData;
function changeColor(clip, theColor) {
var myColor = new Color(clip);
myColor.setRGB(theColor);
}
mc_colorPicker._visible = true;
mc_colorPicker.colors.onPress = function() {
srcMC = mc_colorPicker.colors;
var colorBitmap:BitmapData = new BitmapData(srcMC._width, srcMC._height, true,
0x00000000);
colorBitmap.draw(srcMC);
colorValue = "0x"+colorBitmap.getPixel(srcMC._xmouse, srcMC._ymouse).toString(16);
changeColor(RULeg.skin, colorValue);
}
谢谢 我想通过阅读您所写的内容,您可以在主菜单和角色外观屏幕中使用不同的MovieClips实例 如果是这样的话,每次在两个屏幕之间切换时,您对角色所做的所有更改都会恢复:在Flash中,每次引用或读取新关键帧的电影剪辑时,都会使用新的电影剪辑。 因此,它内部所做的所有更改(颜色、内部movieclips的位置等)都会恢复到其原始状态(Flash pro库项的第一帧中的状态) 因此,为了使更改变得持久,您应该将colorValue变量(每次更改时)保存在swf中任何地方都可以访问的某个位置(类似于类中的静态变量?甚至是全局/_根变量,即使它非常丑陋^^),每次在不同的屏幕之间切换时,将该颜色重新应用于角色