首页 > 网站 > 媒体动画 > 正文

Authorware开发实例:用Authorware绘制右键二重菜单

2024-09-08 19:26:00
字体:
来源:转载
供稿:网友

authorware本身没有直接为我们提供制作弹出式二重菜单的功能,但是authorware 5 attain附带的用户自定义函数tmscontrols.u32(立即下载)可制作弹出式二重菜单。本文就为各位介绍其详细的制作方法。

实现效果

当用户在演示窗口单击鼠标右键时出现一个菜单(类似于在windows桌面上单击鼠标右键出现的菜单)。菜单中的第一重是《中国电脑教育报》的几个一级栏目,如:硬件世界、软件天地、网络时代和电脑教育(注:目前软件天地与网络时代已合为软件.net,电脑教育应为教育信息化);第二重菜单是软件天地的一些二级栏目,如:业界视窗、新手上路和编程乐园等。当用户选择某个菜单时,将跳转到相应的内容。

准备工作

启动authorware 5.0,新建一个名为“右键二重菜单”的文件。由于函数tmscontrols.u32是外部函数,所以需要进行加载。按ctrl+shift+f打开functions函数库,选择category下的“右键二重菜单.a5p”,然后单击load…出现对话框,选择tmscontrols.u32后单击打开,出现一个对话框。按住ctrl键可以连续选中所需要的三个函数:tmsadditem、tmscreatepopuplist、tmsdisplaycontrol,最后单击load即可完成对函数的加载。

右键响应的制作

在流程线上放置一个【交互图标】,取名为“右键响应”;在【交互图标】旁边放置一个【群组图标】,其type(响应类型)为:conditional;双击【群组图标】上面的“=”,出现对话框,在condition中输入rightmousedown=true,response下scope设置为perpetual,erase设置为after next entry,branch设置为return,status设置为not judged,最后单击ok完成右键的制作。

制作二重菜单

双击打开【群组图标】,在流程线上放置一个【计算图标】,取名为制作菜单。双击打开并在其中输入以下内容:

创建弹出式菜单的句柄:

popuphandle:=tmscreatepopuplist(windowhandle)

1、设置第一重菜单中的内容,其中"-"为分隔线,为了使菜单名称居中,可以在名称前加空格。

tmsadditem(popuphandle, 1, 0, "中国电脑教育报")
  tmsadditem(popuphandle, 2, 0, "-")
  tmsadditem(popuphandle, 3, 0, " 硬件世界")
  tmsadditem(popuphandle, 4, 0, " 软件天地")
  tmsadditem(popuphandle, 5, 0, " 网络时代")
  tmsadditem(popuphandle, 6, 0, " 电脑教育")
  tmsadditem(popuphandle, 7, 0,"-")
  tmsadditem(popuphandle, 8, 0," 退出")

2、设置硬件世界和电脑教育的子菜单,即第二重菜单:

tmsadditem(popuphandle, 4, 1, "业界视窗")
  tmsadditem(popuphandle, 4, 2, "新手上路")
  tmsadditem(popuphandle, 4, 3, "软件速递")
  tmsadditem(popuphandle, 4, 4, "编程乐园")
  tmsadditem(popuphandle, 4, 5, "经验技巧")
  tmsadditem(popuphandle, 6, 1, "教育前沿")
  tmsadditem(popuphandle, 6, 2, "校园实践")

当单击右键将弹出一个前边设定好的弹出式菜单,并将用户反馈(即用户所选择的菜单项)返回给变量result:

result := tmsdisplaycontrol(popuphandle,cursorx,cursory,150, 100, 6)

图1

此时,按ctrl+r运行程序会发现在演示窗口单击鼠标右键时会出现一个如图1所示的二重菜单。

二重菜单的交互响应

在流程线上再放置一个【计算图标】和【决策图标】;【决策图标】旁放置一些【显示图标】(如图2),根据名称在【显示图标】输入所需内容,双击【显示图标】上面的小矩形出现对话框,将erase contents设置为don't erase;在计算图标中输入以下内容:

图2

if result=1 then goto(iconid@"中国电脑教育报")
  if result=3 then goto(iconid@"硬件世界")
  if result="4:1" then goto(iconid@"业界视窗")
  if result="4:2" then goto(iconid@"新手上路")
  if result="4:3" then goto(iconid@"软件速递")
  if result="4:4" then goto(iconid@"编程乐园")
  if result="4:5" then goto(iconid@"经验技巧")
  if result="5" then goto(iconid@"网络时代")
  if result="6:1" then goto(iconid@"教育前沿")
  if result="6:2" then goto(iconid@"校园实践")
  if result=8 then quit(0)

最后按运行程序,当在演示窗口单击鼠标右键时出现二重菜单,选择后将会跳转到相应的内容。有兴趣的朋友对本例稍加修改后用到自己的软件中,肯定会提高软件技术含量,使你的软件增色不少!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表