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 CS4 ActionScript 2.0-使用as2更改MovieClip颜色_Flash_Actionscript 2_Movieclip - Fatal编程技术网

Flash CS4 ActionScript 2.0-使用as2更改MovieClip颜色

Flash CS4 ActionScript 2.0-使用as2更改MovieClip颜色,flash,actionscript-2,movieclip,Flash,Actionscript 2,Movieclip,我对flash是个新手。我刚开始使用Flash,但已经两年没用了。也就是说,我习惯于使用AS2.0,并开始在2.0中制作游戏。我正在尝试实现一个屏幕,用户可以从典型的颜色渐变中选择角色的皮肤和头发颜色。我设置了它,这样皮肤的颜色实际上会根据他们点击的内容改变颜色 然而,情况并非如此。要进入此屏幕,有一个带有角色实例的主菜单。在角色中,每个肢体都被分割成自己的电影唇。每个肢体都由一些阴影、轮廓和仅由皮肤构成的电影唇组成。在“颜色更改”屏幕上,我将每个肢体分开,并给出一个实例名。然后,在每个肢体中,

我对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中任何地方都可以访问的某个位置(类似于类中的静态变量?甚至是全局/_根变量,即使它非常丑陋^^),每次在不同的屏幕之间切换时,将该颜色重新应用于角色