和蜗牛一起学DIRECTOR 第二讲 按钮效果http://blog.sina.com.cn/s/blog_594398e801019a2f.html

任何一个程序必不可少的交互元素就是按钮,我们的LINGO编程也从按钮交互开始。在开始之前,先说几个概念。虽然之前我已经说过,假定你已经会了DIRECTOR的基础操作,但毕竟是英文软件,每个人对单词的理解和翻译是不一样的。
舞台,打开/关闭的快捷键:CTRL 1,英文:Stage
演员表,打开/关闭的快捷键:CTRL 3,英文:Cast
剪辑室(时间线),打开/关闭的快捷键:CTRL 4,英文:Score
工具窗,打开/关闭的快捷键:CTRL 7,英文:Tools
属性面板,打开/关闭的快捷键:CTRL ALT S,英文:Property Inspector
演员,演员表中的任何一个方格内的原素,英文:Member
精灵,拖放到舞台或者剪辑室内的演员,称之为精灵,英文:Sprite
通道,剪辑室内,每一个行均称之为一个通道,英文:Channel
电影,一个独立的DIRECTOR文件,英文:Movie
以上是我们在学习的过程中,暂时要涉及到的一些概念。

分析一个最简单按钮,随便打开一个软件,找一个按钮,实验一下,当鼠标划过按钮的时候,按钮会变一个样子,包括变样式、变色、位移、变大等等。
本节我们先以变样式为例。变样式无非就是两张图,正常的时候一张,鼠标划过是一张。请你自行准备两张大小一样,样式不一样的图。导入演员表,分别命名为button,button-enter。将button拖放至剪辑室。添加帧循环代码至帧脚本通道
注:帧脚本通道指剪辑室内标尺上面的那一个通道。
on exitFrame mego to the frame
end
新建脚本演员,添加如下代码,并将脚本附加给剪辑室中的按钮精灵。

注:本教程中在未做申明的时提到的脚本演员,均为Behaviorl类型,如须修改脚本类型,请在演员表中选择脚本演员,打开属性窗口,选择Script面板,在TYPE类里面修改。

on mouseenter mecursor 280sprite(me.spritenum).member=member("button-enter")
endon mouseleave mecursor -1sprite(me.spritenum).member=member("button")
end
现在运行程序,将鼠标划过按钮,看到变化了吧?
下面我们详细讲解按钮代码:
第一句:on mouseenter me
这是一个事件,事件是LINGO中重要的一个元素,所有的事件均以On单词开头,end单词结束,on 和end中间的代码,为事件触发时要执行的代码。mouse,鼠标;enter,进入;综合起来就是鼠标进入时触发的事件,进入哪里呢?当然是这段代码所在的那个精灵。下面你还会看到on Mouerleave事件,这个是当鼠标移出时触发。
第二句:cursor 280
cursor 鼠标指针,280为编号,即手型鼠标指针编号,那这句的作用就是鼠标变为手型。下面你还会看到-1,-1代表还原,也就是换成上一次鼠标指针的形状。
第三句:`sprite(me.spritenum).member=member("button-enter")`
这句有点长,但其实很好理解。前面我们已经提到,sprite是精灵,member是演员,但精灵和演员在使用时必须指定是哪个,就像我们找人,喊一声“唉”,“人”,肯定是没人回应的,但你喊“张三”,那自然有人回应。所以在这里你就看到了在sprite和member之后存在了括号,括号内就是哪个精灵,哪个演员了。
spirte后面的括号中的me是什么呢?英文就是我,这个我是谁呢?现在执行的mouserenter事件,当然就是当前鼠标移入到那个精灵了。spritenum,那就是精灵所在的通道号。合在一起理解一下:
当前通道的精灵使用的演员换成(=号就是换成的意思啦)演员“button-enter”
现在你应该理解这段按钮效果的代码了吧?
做程序,不能死搬硬套,那你永远只能去抄代码,要去理解,这样才能为我所用。
下面我再给出几段代码,你替换刚才的按钮效果试一试:
代码一:
on mouseenter mecursor 280sprite(me.spritenum).height=sprite(me.spritenum).height+2sprite(me.spritenum).width=sprite(me.spritenum).width+2
end
on mouseleave mecursor -1sprite(me.spritenum).height=sprite(me.spritenum).height-2sprite(me.spritenum).width=sprite(me.spritenum).width-2
end
这段代码里面除了上面我们说过的,用到height和width,英文意思就是高度和宽度,我们来解释其中一句:
sprite(me.spritenum).height=sprite(me.spritenum).height 2
  当前通道的精灵的高度变成当前通道精灵的高度加2.
很明显,那就是鼠标移入的时候变大。
代码二:
on mouseenter mecursor 280sprite(me.spritenum).blend=60
endon mouseleave mecursor -1sprite(me.spritenum).blend=100
end
这段代码中我们用到了blend,这个精灵的透明度属性,选中精灵,打开属性面板,在sprite面板nk行后面,你能看到一个后面标记了%的下拉列表,这就是精灵的透明度,不明白这个概念的同学,你可以改一下透明度试试效果。
精灵透明度的取值范围是0到100,超过这个范围不可以哦。
好了,这一讲我们就结束了,最后再嘚啵两点
1 这一讲中,给出的代码不是最合理、最优化的代码,为的是先让大家理解LINGO的写法和入门。下一讲我们来讲如何写一个合理的按钮代码。
2  很多人喜欢用FLASH做按钮,然后导入到D中,个人不喜欢这种方式,理由如下,仅供参考。
第一,FALSH是矢量的,虽然说是可以无线缩放,但在一些视觉上,还是无法达到位图的细腻。同时由于其是矢量的,运行起来对CPU的消耗比位图要高的多
第二,修改起来很麻烦。
第三,虽然F和D都是一家出的,但他们的兼容不是那么的好,在一些特定的环境下,还是要出问题的。
3  其实在PS里面切按钮图片很简单,选中一个按钮的几个图层,然后按住CTRL,分别按A,C,N,然后回车,然后再CTRL V,CTRL S,就这么几步。试一下就知道。
4  ……超了?第四点了?哦 算了,下节课再说!

【转】和蜗牛一起学DIRECTOR 第二讲 按钮效果相关推荐

  1. PS学习笔记二:跟着李涛学PS第二讲——绘画与修饰工具

    本人的学习笔记是在学习李涛老师的视频的时候整理的个人学习笔记,如有侵权,请联系我删除.本人是个门外汉,整理的笔记如有错误,欢迎大家指出哦. 第二讲:绘画与修饰工具 工具栏: 前6个:移动工具组: 中间 ...

  2. 计算机安全学第2版pdf,计算机安全学讲义_第二讲:分组密码.pdf

    计算机安全学讲义_第二讲:分组密码.pdf 研究生课程 第二讲:分组密码 研究生课程 第二讲:分组密码 计算机安全学 通信系统保密模型 计算机安全学 对称密码体制-分组密码 Cryptography ...

  3. 《学活Linux》第二讲——内核模块和驱动模型

    <学活LINUX> 第二讲 内核模块和驱动模型 "各位观众晚上好.今天是7月29日,星期六,农历六月十二.欢迎收看<新闻联播>节目--台风'杜苏芮'强度减弱,受其寒流 ...

  4. 第二讲:Android系统构架分析和应用程序目录结构分析

    2019独角兽企业重金招聘Python工程师标准>>> 本讲内容: Android系统构架简介 Android应用程序结构分析 点这里下载:Android学习指南第二讲源代码 一.A ...

  5. 第二讲 html5框架+Crosswalk打包app 以及 Angularjs 基础(初步认识了解Angularjs)

    第二讲 html5框架+Crosswalk打包app 以及 Angularjs 基 础(初步认识了解Angularjs) 学习要点: 1. html5框架+Crosswalk打包app 2. 什么是a ...

  6. 第二讲 html5 框架+Crosswalk 打包 app 以及 Angularjs 基础

     第二讲 html5框架+Crosswalk 打包 app 以及 Angularjs 基础(初步认识了解 Angularjs)   学习要点: 1. html5 框架+Crosswalk 打包 a ...

  7. 斯坦福大学深度学习与自然语言处理第二讲:词向量

    斯坦福大学在三月份开设了一门"深度学习与自然语言处理"的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是 ...

  8. MIT自然语言处理第二讲:单词计数(第一、二部分)

    MIT自然语言处理第二讲:单词计数(第一部分) 自然语言处理:单词计数 Natural Language Processing: (Simple) Word Counting 作者:Regina Ba ...

  9. “悟道”公开课第二讲丨如何优化大模型输出结果

    图片出处:https://bmk.sh/2020/05/29/GPT-3-A-Brief-Summary/ 如果你错过了上一波深度学习引发的NLP范式转换,不要再错过这一波超大预训练模型的崛起. 现在 ...

最新文章

  1. 计算机视觉顶尖期刊和会议的段子
  2. 计算机病毒中心:大量存在漏洞的Web网站被挂马
  3. qpython numpy_Python-Numpy全面精简教程
  4. 计算一个人出生了多少天(炸窝)
  5. Java常见的几种设计模式
  6. YOLO-Fastest算法!准确率接近YOLOv3,速度快上45%
  7. Docker-compose 常用命令
  8. poj2280--Amphiphilic Carbon Molecules(扫描线+极角排序+转换坐标)
  9. 1036 跟奥巴马一起编程
  10. 2021-09-08FTRL 跟随正确的领导者
  11. 黑马程序员ssm总结[大全版本,有对应pdf+源码](spring->springmvc-->springboot-->maven高级->cloud微服务)
  12. 数据库-英语单词基础笔记-1
  13. 一周学习总结:vue学前准备知识
  14. ps-通道实现故障色彩效果
  15. 又拍云php表单,又拍云存储上传插件 - 支持客户端直传、服务端中转、分片上传 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
  16. 满腔热诚永不忘,我以我血荐轩辕!
  17. java jsp公共异常页面_javaWEB总结(16):jsp错误页面的处理
  18. MTK虚拟sensor梳理
  19. 学习OpenCV——grabcut
  20. 前端-----之-----轮播

热门文章

  1. 《如何高效记忆》阅读笔记
  2. extjs 解决rowEditing不满足allowBlank时,无法save的问题
  3. 中国IT为何能够领先强邻俄罗斯十五年?
  4. 无理数sqrt(n)连分数
  5. 泛微E8设置开发环境
  6. FPGA之按键控制LED
  7. 记录项目中遇到的坑(三)兼容IE浏览器
  8. OSPF配置实验(一)!
  9. PHP采集程序原理分析篇
  10. 电子商务(Electronic Commerce)