|
主题: 请高手帮我看一下代码,很短的
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
|
#12003/1/9 14:54:42
k = 2; Num = 1; //----------------------------------------- Color1 = new Color(mc1.shape1); Color2 = new Color(mc1.shape2); //----------------------------------------- previewColor = new Color(previewBox); previewColor.setRGB(0x000000); //----------------------------------------- this.onEnterFrame = function() { previewColor.setRGB(0xff9900); for (i=1; i<=k; i++) { this["mc"+Num]["shape"+i].onRelease = function() { if (this.hitTest(_root._xmouse,_root._ymouse, true)) { this["Color"+i].setRGB(0xff9900); } }; } }; //---------------------------------------------- 哪位好心人帮我看看错在哪里。我的初衷是想动态创建color对象&&动态设置mc颜色。
改了一下,有笔误。
编辑历史:[这消息被Aw3000编辑过(编辑时间2003-01-09 15:39:32)] [这消息被Aw3000编辑过(编辑时间2003-01-09 15:40:31)]
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#22003/1/9 15:27:06
是不是改的别人的?怎么一些地方看起来不对呀 btn=undefined shirtNum=undefined "shirt"疑为"mc"
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
|
#32003/1/9 15:36:58
sorry.笔误。
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#42003/1/9 16:01:56
"color"+i不在this["mc"+Num]["shape"+i]里面,而在外面。 如果你这个效果外面没有再套mc,把this["color"+i]改成_root["color"+i] _root._xmouse,_root._ymouse,改成this._xmouse,this._ymouse 既然release事件发生,肯定已经hittest了,所以这个判断是多余的。
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
|
#52003/1/9 16:22:27
k = 2; Num = 1; //----------------------------------------- Color1 = new Color(mc1.shape1); Color2 = new Color(mc1.shape2); //----------------------------------------- this.onEnterFrame = function() { for (i=1; i<=k; i++) { _root["mc"+Num]["shape"+i].onRelease = function() { _root["Color"+i].setRGB(MyColor); }; } }; //mycolor为自定义的颜色值。
janlay:谢谢。我按照你的方法修改了,如上。可是还是不能给shape1 & shape2上色。另外。我可不可以这样写(想动态创建color对象):
k = 2; Num = 1; //----------------------------------------- this.onEnterFrame = function() { for (i=1; i<=k; i++) { _root["Color"+i]=new Color(_root["mc"+Num]["shape"+i]) _root["mc"+Num]["shape"+i].onRelease = function() { _root["Color"+i].setRGB(MyColor); }; } };
|
 s22
职务:版主
等级:4
金币:10.0
发贴:1634
|
#62003/1/10 8:47:11
k = 2; Num = 1; //----------------------------------------- this.onEnterFrame = function() { for (i=1; i<=k; i++) { _root["mc"+Num]["shape"+i].onRelease = function() { my_color=new color(this._parent); my_color.setRGB("0x99ccff"); }; } ======= test };
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
|
#72003/1/10 10:25:18
s22: 谢谢你的指导,现在可以给mc上色了,不过还有问题以下问题: 1,不能区分shape1,shape2; 按钮按下时shape1,shape2被同时上色,这是不希望的,希望的是被单独上色。 2,setRGB的颜色值会有很多个,所以在这里我用了一个变量MyColor,然后通过别的按钮给这个变量赋值。问题是,我如何区分shape1,shap2被按下时MyColor的值? 我原先的想法是这样的,通过为每个shape创建一个颜色对象,然后当按下相应的shape时,再为该shpae上色,同时,把这个颜色值赋给新的变量用于其他用处,比如发送给程序接受等。 //上述的shape指的是mc实例。
|
 s22
职务:版主
等级:4
金币:10.0
发贴:1634
|
#82003/1/10 13:51:09
k = 2; Num = 1; //----------------------------------------- this.onEnterFrame = function() { for (i=1; i<=k; i++) { _root["mc"+Num]["shape"+i].onRelease = function() { my_color=new color(this);//把这里改为THIS my_color.setRGB("0x99ccff"); }; } ======= test 我不知道你说的mycolor到底怎么应用。 我想这应该已经不是什么问题 你可以应用my_color.setRGB(_root.mycolor)你自己设置mycolor吧。
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
|
#92003/1/10 15:50:02
非常感谢。运行得很好。
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
|
#102003/1/12 14:50:24
k = 4; Num = 1; //-------------------------- _level0.McBOX.onEnterFrame = function() { for (i=1; i<=k; i++) { _level0.McBOX["mc"+Num]["shape"+i].onRelease = function() { TempColor = new color(this); TempColor.setRGB(_level0.CurColor); Mycolor = _level0.CurColor; trace("_level0.mc.shape:"+i); trace("_level0.CurColor:"+_level0.CurColor); trace("MyColor:"+MyColor); }; } }; //end 我的shape共有4个。为何总是trace出来的总是shape 5,我如何做才能让鼠标点在shape1上trace出shape1,而点在shape 2上时trace出shape 2 ?如此类推。另外,我该怎么做才能把鼠标点在相应的shape上的颜色(_level0.CurColor)储存起来?我想要的结果就是shape1对应一个颜色,shape2对应另一个颜色。恳请帮忙 :)
编辑历史:[这消息被Aw3000编辑过(编辑时间2003-01-12 14:57:22)]
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
|
#112003/1/13 10:41:36
janlay,s22帮我看一看
|
 s22
职务:版主
等级:4
金币:10.0
发贴:1634
|
#122003/1/13 13:07:06
k = 4; Num = 1; //-------------------------- for (i=1; i<=k; i++) { _level0.McBOX["mc"+Num]["shape"+i].onRelease = function() { TempColor = new color(this); this.num=i; this.savecolor=_level0.curcolor//保存颜色 TempColor.setRGB(_level0.CurColor); Mycolor = _level0.CurColor; trace(this._name+"的编号是"+this.i) trace(this._name+"的颜色是"+this.color) trace("_level0.CurColor:"+_level0.CurColor); trace("MyColor:"+MyColor); }; }
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
|
#132003/1/13 14:04:59
trace出的结果: ---------------------------------------------- shape1的编号是 shape1的颜色是 _level0.CurColor:0x000000 MyColor:0x000000 ----------------------------------------------- 怎么编号和颜色是空的?
另外,我表达的意思可能有误,很抱歉。我更正一下: 我想通过这个函数完成的功能是,设置shape1,2,3,4~~i 的颜色,同时,把这些颜色值保存起来。然后通过其他的程序纪录到数据库中。这样的话,我就可以把这些纪录通过程序再读进来。所以,我想保存的是这样的结果:shape1对应color1,shape2 对应 color 2,如此类推。
这个很难么?
|
 Aw3000
职务:普通成员
等级:1
金币:0.0
发贴:79
|
#142003/1/13 15:31:24
相关文件: 点这儿打开附上源文件,各路高手帮我看看。
|
 s22
职务:版主
等级:4
金币:10.0
发贴:1634
|
#152003/1/13 17:00:06
SORRY~笔误 k = 4; Num = 1; //-------------------------- for (i=1; i<=k; i++) { _level0.McBOX["mc"+Num]["shape"+i].onRelease = function() { TempColor = new color(this); this.num=i; this.savecolor=_level0.curcolor//保存颜色 TempColor.setRGB(_level0.CurColor); Mycolor = _level0.CurColor; trace(this._name+"的编号是"+this.num) trace(this._name+"的颜色是"+this.savecolor) trace("_level0.CurColor:"+_level0.CurColor); trace("MyColor:"+MyColor); }; }
|