主题:  弹出菜单的一种解决方案,可在任意位置

bluebox

职务:普通成员
等级:1
金币:1.0
发贴:290
注册:2001/7/27 21:42:33
#12001/10/2 2:27:35
property pSpriteList, pMemberList, pPressed

on getPropertyDescriptionList me
list = [:]
addProp list, #pSpriteList, [#comment: "Sprite List",#format: #list, #default: []]
return list
end

on beginSprite me
pMemberList = [:]
repeat with i in pSpriteList
addProp pMemberList, i, sprite(i).member.name
end repeat
hidePopup(me)
end

on mouseDown me
pPressed = TRUE
end

on mouseUp me
liftUp(me)
end

on mouseUpOutSide me
liftUp(me)
end

on liftUp me
pPressed = FALSE
hidePopup(me)
select(me)
end

on showPopup me
repeat with i in pSpriteList
sprite(i).member = member pMemberList.getProp(i)
end repeat
end

on hidePopup me
repeat with i = 1 to pSpriteList.count
sprite(pSpriteList[i]).memberNum = 0
end repeat
end

on exitFrame me
if pPressed then
showPopup(me)
s = the rollover
if (pSpriteList.getOne(s)) then
sprite(s).member = member (pMemberList.getProp(s)&&"vehicle")
end if
end if
end

on select me
s = the rollover
if (pSpriteList.getOne(s)) then
go to frame pSpriteList.getOne(s)
end if
end

然后做几个要弹出的选项,就可以了。

on select me
s = the rollover
if (pSpriteList.getOne(s)) then
go to frame pSpriteList.getOne(s)
end if
end
这部分是控制跳转的,可以直接到帧,或者电影或者marker

编辑历史:[这消息被bluebox编辑过(编辑时间2001-10-02 02:29:20)]
[这消息被东影默编辑过(编辑时间2001-10-02 22:05:04)]


南山东篱摄螂

职务:普通成员
等级:4
金币:10.0
发贴:1840
注册:2000/10/22 10:31:19
#22001/10/2 22:08:35
谢谢 bluebox 提供的原代码。
也欢迎其它朋友多多提供原代,最好是自己创作。

作为鼓励我给这个帖子打分



xiaodong

职务:普通成员
等级:1
金币:0.0
发贴:94
注册:2001/6/13 16:55:51
#32001/10/3 10:07:44
不好意思,小弟才疏学浅,刚才试了半天也没出来,能否再解释一下怎么用呀!

另注:addProp list, #pSpriteList, [#comment: "Sprite List",#format: #list, #default: &#;]好像有点错吧,pSpriteList是指什么?



bluebox

职务:普通成员
等级:1
金币:1.0
发贴:290
注册:2001/7/27 21:42:33
#42001/10/6 2:04:36
比如说有几个按钮,menu为主按钮,menu1、menu2为点击时弹出的按钮,menu1、menu2分别在sprite 1和sprite 2,将上述原代码加在menu上,会出现一个弹出菜单项,让你输入要控制的sprite的list,比如[1,2]
pspritelist就是这个意思,不知道这样解释你是否明白?这种效果就是menu为主按钮,当mouseup时,会出现menu1 and menu2,mouseenter时,所处按钮会转变角色,其中有一个"hilite"意思就是mouseenter进入时,角色变为menu1 hilite(此为要变换的角色名称),ok?



晓珍

职务:普通成员
等级:1
金币:0.0
发贴:117
注册:2001/10/25 9:56:18
#52001/10/26 17:22:15
我一直想实现这个功能可至今在这个问题上站不起来。不知bluebox是否愿意帮我?

如我想做个含有“打开、新建、保存、删除、退出”功能的下拉菜单。
是不是先把“打开、新建、保存、删除、退出”各做出一个按键后再写代码(怎样写?)实现?还是把“打开、新建、保存、删除、退出”写成一个文本里再写代码实现?后者我试过不行的,总之我不知怎样实现这个下拉菜单。



nest

职务:普通成员
等级:1
金币:0.0
发贴:1
注册:2001/10/29 15:39:18
#62001/10/30 9:38:40
bulebox能否做一个例子让大家共享一下。