主题:  一个按扭的控制问题,望帮忙解决。

amystar

职务:普通成员
等级:1
金币:1.0
发贴:248
#12002/4/15 9:51:36
我的按扭有三态,就是当鼠标移上、按下和一般状态。
我在所有的按钮中三态都是用如下程序控制的:
global pauseflag

property pSprite

on beginsprite me
pSprite=sprite(me.spritenum)
end

on mouseUp
cursor 0
Tochar = sprite(psprite).member.name.length - 1
sprite(psprite).member = member(sprite(psprite).member.name.char[1..Tochar])
if getprop(the markerlist,marker(0)) <> "end" then
if the framelabel =0 then
go marker(1)+1
else
go marker(0)+1
end if
pauseflag = false
end if
end

on mousedown
sprite(psprite).member = member(sprite(psprite).member.name & "1")
end

on mouseenter me
cursor 280
sprite(12).locH = sprite(psprite).locH
if the moviename.char[2] = 1 then
sprite(12).locV = sprite(psprite).locV+22
else
sprite(12).locV = sprite(psprite).locV-22
end if

sprite(12).member = member(sprite(psprite).member.name & "_t")

end

on mouseleave
cursor -1
sprite(12).member = member("rect")
end

on mousewithin
cursor 280
end

可是却发现当按下某一按钮,并拖动鼠标到另一按钮上时,会报:
cast member not found.

请指点哪里出了错?我该如何解决?
本人程序不好,虽然这些都是我写的,却是仿照一位同行的脚本。
因此,对于其中
property pSprite

on beginsprite me
pSprite=sprite(me.spritenum)
end
这段程序不太了解。
还望指点一二。



night_5d

职务:普通成员
等级:2
金币:1.0
发贴:275
#22002/4/15 10:08:23
具体的你可以设置断点察看一下变量的值,
property 表示定义一个属性,是这个精灵专有的。
第二句实际上是将这个精灵赋予一个变量,但后面使用的sprite(psprite)不知道行不行,我从不这么使,因为psprite本身已经代表了这个精灵了,可以试试将psprite的值改为me.spritenum.


[img]http://61.144.28.245/hjc/web/non-cgi//usravatars/paladin.gif[/img]
I thirst for freedom

hanshan

职务:普通成员
等级:1
金币:0.0
发贴:85
#32002/4/15 12:22:05
你可以自己编一个。不要看别人的,因为他有他的思想。



zhysea

职务:普通成员
等级:1
金币:0.0
发贴:76
#42002/4/15 15:33:07
是不是按住鼠标不放然后拖动后报错,如果是是因为你没有给在按钮外释放鼠标写上处理程序,把on mouseUpOutside加进你的程序



amystar

职务:普通成员
等级:1
金币:1.0
发贴:248
#52002/4/15 16:40:44
正是正是!
那我应该写什么呢?
我在mouseenter中用一个sprite(12)来显示文字,在mousedown中用me.spritenum来显示另一张图片,是不是在这两个都要在mouseupoutside中加入呢?

我已试过,不行。



night_5d

职务:普通成员
等级:2
金币:1.0
发贴:275
#62002/4/15 20:06:51
请将你的问题说具体些,其实编程最重要的是考虑清除各种可能出现的情况,照你所说的是不是问题出在按钮在没接收mousedown不能直接接收mouseup事件,可以设断点,看看到底是谁can't find castmember.


[img]http://61.144.28.245/hjc/web/non-cgi//usravatars/paladin.gif[/img]
I thirst for freedom