主题:  怎样用 Lingo 控制 sprite 的 color ?

A 疯子

职务:普通成员
等级:1
金币:0.0
发贴:1
注册:2001/8/11 9:41:05
#12001/8/11 12:36:17

是不是可以用个变量 temp = sprite(spriteNumber).color 取得 sprite 的颜色?
反过来,是不是用 temp = color(#rgb,r,g,b) sprite(spriteNumber).color = temp 可以设置 sprite的颜色?
  我这么做了,但不行。下面是 Lingo 脚本

cr=33
cg=66
cb=55
set newcolor to color(#rgb,cr,cg,cb)
put newcolor
put sprite("res").Color
sprite("res").Color = newColor
put sprite("res").Color
newcolor.colortype = #paletteIndex
put newcolor
sprite("res").Color = newColor
put sprite("res").Color

其结果如下,

-- rgb( 33, 66, 55 )
-- paletteIndex( 255 )
-- rgb( 33, 66, 55 )
-- paletteIndex( 172 )
-- paletteIndex( 172 )

可见 sprite res 的 color 值已经改了,但不知为什么,屏幕上 sprite res 的颜色并没有变化。

  哪位大虾知道是怎么回事请说说明白!



疯子

职务:普通成员
等级:1
金币:0.0
发贴:12
注册:2001/8/10 19:23:52
#22001/8/12 9:24:43
这个问题已经解决一半了。直接用 sprite(spriteNumber).color = rgb(r,g,b) 就可以设置 sprite 的颜色。然后用 updatestage 命令就可以使 sprite 显示出改变后的颜色。如:

r=33
g=66
b=55
sprite("res").Color = rgb(r,g,b)
updatestage

  不知道能不能用个变量 temp = sprite(spriteNumber).color 取得 sprite 的颜色,然后再做些处理,再用 sprite(spriteNumber).color = temp 来控制 sprite 的颜色。这个还没有来得及试,电脑就出问题了。