基于lingo实现多媒体中图文的滚动控制

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:cppgreate
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在利用Director软件制作多媒体时,系统所提供的控件相对单一,针对一些个性化的设计需求,就需要借助Lingo语言来实现。该文通过对Lingo语言的应用,实现了对多媒体中图文界面的滚动控制。
  关键词:多媒体;Director;Lingo语言;滚动控制
  中图分类号:TP391.72文献标识码:A文章编号:1009-3044(2012)20-4983-03
  在众多多媒体制作软件中,Director不仅可以方便、快捷地将图像、声音、文字、视频,甚至3D影像动态集成在一起,而且可以通过自带的Lingo语言实现对声音、视频、文本、动画等的交互控制。在一般的多媒体制作中,对于多图像或超长文本对象的显示控制存在功能单一、界面视觉效果平淡的缺陷,不符合个性化多媒体设计的需求。该文结合教学实践,借助于Lingo语言,通过对自定义滚动条各元素施加脚本代码,实现了对多图超长文本界面的滚动控制。
   1 Lingo语言概述
  Lingo语言是Director自带的模块化、面向对象的程序设计语言,是Director实现交互功能的重要工具语言,可以实现对声音、视频、文本、动画等的交互控制。
  Lingo语言最基本的一点在于它是基于事件(event)的,当某个事件发生的时候,才会执行相应的动作。而在什么时候需要采取什么样的事件,这又是和Lingo脚本的类型有关的。
  Lingo的脚本类型通常分为frame脚本、sprite脚本、cast脚本和movie脚本,区分这些脚本类型的方法就是看这些脚本写在什么位置上。一般来讲,frame脚本写在帧上,Sprite脚本写在Sprite上,Cast脚本写在Cast上,而Movie脚本写在电影中,不依靠任何其他帧和角色。
   2多媒体中的图文滚动控制实现
  2.1问题的提出
  在利用Director制作多媒体课件时,时常会遇到某个界面插入选定图片,或者某个界面插入文字。一般情况是,在某个界面插入文字时只需要插入提纲性的文字即可。但是,在具体教学中,有可能需要使用大篇幅的文字来阐述说明一个问题,这时可通过“Text- Framing- Scrolling”的设置,以滚动文本的形式在特定区域内显示。
  这里,可以看到,实现后的文本形式并不符合个性化多媒体设计的需求,利用系统提供的方式不能实现同一界面既插入图片又插入文本,而且界面生硬,功能实现比较单一。我们需要实现的则是既有图片又有文字的界面,而当全部图文长度超出显示框区域时,又需要图文仅仅只在显示框区域显示,这就需要对图文进行滚动控制。
  2.2图文界面的设计
  上述需求在界面上的实现,我们采用遮罩的方式。首先,制作一个与背景相一致的界面,以遮挡图文超出显示区域部分;其次,将遮罩界面上显示图文的区域镂空,制作成透明区域,以显示图文;然后,设计制作出个性化滚动条,以控制图文的滚动显示。
  在Director中导入精灵元素,并将精灵放置到剪辑室的通道中,此时应注意剪辑室中各个精灵所在通道的顺序,如图1所示。
  针对界面上的元素实现对图文的滚动控制,主要是通过上下按钮、滚动浮标精灵来实现。
  1)初始化上下按钮
  property pButton--按钮精灵
  property pButtonLocv --按钮精灵原始位置
  property pMode--按钮是向上还是向下
  property pDown--按钮是否按下
  2)初始化滚动浮标
  
  property pButtonSpriteNum --浮标通道号
  property pHeight--浮标的高度
  property pBili--移动比例
  global pHow--实际比例
  property pposition--鼠标按下的状态
  3)初始化图文精灵
  property pSprites--图文精灵列表
  property pSpritesLocv --图文精灵原始位置
  property pLength--图文移动的距离
  2.3图文界面滚动的控制实现
  2.3.1鼠标对滚动浮标的拖动实现
  实现代码:
  on exitframe me
  if pposition then
  sprite(me.spritenum).locv = the mouseV
  pHow=float(the mouseV- sprite(pBarNumber).rect.top)/sprite(pBarNumber).rect.height
  if pHow > 1 then
  pHow = 1
  end if
  if pHow <0 then
  pHow = 0
  end if
  changeloc(pHow)
  end if
  end exitframe
  脚本中对于滚动浮标的移动范围进行了控制,避免了滚动浮标移动的范围超出滚动条的长度。
  2.3.2与滚动浮标相对应的图文滚动实现
  实现代码:
  pSpriteslocv =[]
  i = 1
  repeat while (i <= pSprites.count)
  add pSpriteslocv ,sprite(pSprites[i]).locv
  i = i 1
  end repeat
  通过获取的图文精灵通道号及其原始位置,根据pHow的值通过函数changeloc()控制图文的移动。
  2.3.3上下按钮功能的实现
  实现代码:
  on exitframe me
  if pDown then
  if pMode = "up" then
  pHow = pHow - pBili --减少pHow
  else if pMode = "down" then
  pHow = pHow pBili --增加pHow
  end if
  if pHow<0 then pHow = 0
  if pHow>1 then pHow =1
  sendsprite(pButtonSpriteNum,#changeloc,pHow)
  end if
  end exitframe
  在上下按钮功能的实现过程中,滚动浮标和图文位置的改变是通过调用滚动浮标上的changeloc函数来实现的。
   3结束语
  目前,制作多媒体课件的软件很多,而且各软件又各具特色,由于Lingo语言的引入,使得Director具备了强大的集成功能和交互功能。该文对Lingo语言的应用也仅限于初步探讨阶段,但其应用的多面性和广泛性使得Director在多媒体制作软件中占据了重要地位。
  参考文献:
  [1]卢诗骄.Director11.5制作基于lingo语言的嵌入式音频播放器[J],计算机光盘软件与应用, 2011(21),140-141.
  [2]金晖.基于Director的电子杂志的设计与制作[J],科技信息,2011(25).
  [3]郭新房,何方.Director 11交互式多媒体开发标准教程[M],北京:清华大学出版社,2009
  [4]张豪,何方.Director交互式多媒体开发从新手到高手[M],北京:清华大学出版社,2009.
其他文献
在新课程下探究学法的研究中,要树立以学生为主体的观念,把学生"主体观"落实到实处。妥善利用学生求知欲强、好奇心重的特点,巧设疑问,创设悬念环节情境,激发学生探求知识的
自身抗体对于自身免疫性疾病的诊断、鉴别诊断、疗效观察及预后判断具有重要意义。近年来,随着抗体筛选新技术的应用,更多种类的自身抗体被发现,其应用范围除自身免疫性疾病
本文从国内外奶业生产与贸易、奶牛育种与繁殖、营养与饲料、疾病控制、环境控制、乳品安全与加工等方面对2018年奶牛产业的重要研究进展进行综述。
针对我国高速铁路出现车轮磨耗相对较大的问题,对国内外高速铁路轮轨硬度匹配关系的研究及应用现状进行分析,并在实验室进行3种硬度车轮与3种硬度钢轨的对磨试验,对比分析硬
通过缩小观察范围,分解观察目标,重新设计活动,降低观察难度,达到观察的有效性。
想把自己的得意靓照做成相册,不用到处找工具了,因为WPS即可把照片制作成PPT相册,而且还能将相册转换成PDF文件或SWF文件呢。    一、下载安装WPS和插件    WPS Office 2009个人版是一款免费的正版软件,其下载地址是:http://kad.www.wps.cn/wps/download/special/WPS2009.12012.exe。下载安装后,其中就包含了我们要用来制
期刊
我有一台方正E200台式机,是2009年国庆送给女友的,如今已和女友喜结良缘,这台电脑自然也搬到了自己家,可最近用它看电影时,只有画面没有声音,感觉很烦恼。
在钢结构喷涂之前对其表面的可溶性盐含量进行检测非常必要,可溶性盐不仅仅影响着涂层的附着力,同时还会在后期引起涂层起泡,破坏涂层。本文着重叙述了钢材表面盐分的存在对涂层
1 “无为”思想的内涵  “无为”是《老子》的重要思想,“无为”是指不要违背“自然”做哪些不必要的作为甚至强作妄为,简单地说就是“顺其自然,不妄为”。“自然”一词在《老子》中并非指大自然,而是指一种自己如此的状态,在某些情况下人们可将其理解为客观规律。通过“无为”的方式可令所有人发挥自己的能力,从而达到目的。所以在《老子》第五十七章中说:“我无为,而民自化;我好静,而民自正;我无事,而民自富;我无