在Flash MX中实现自由拖动图片和改变图片
在Authorware中实现拖动图片及改变图片的大小,这对于交互型的课件是非常重要的。那么,在Flash中可不可以实现以上的功能呢?答案是肯定的,Flash凭借强大的ActionScript脚本语言,可以轻松达到这个目的。下面我们来具体看看怎么制作。
一、自由拖动图片
如果仅仅是要实现拖动图片的话,制作是非常简单的。我们只需把图片先放到一个按钮中,再把这个按钮放到一个电影剪辑(MovieClip)中,配合几句简单的动作脚本即可实现。制作方法如下:
1. 启动Flash MX,单击“插入→新建元件”,在出现的“创建新元件”对话框中选择“行为”为“按钮”,然后在制作按钮的场景中把需要的图片导入。
2. 继续制作一个电影剪辑,单击“插入→新建元件”,在出现的“创建新元件”对话框中选择“行为”为“电影剪辑”。按Ctrl+L组合键调出库,从库中把刚才做好的按钮拖到影片剪辑的场景中,选定按钮,按F9调出动作面板,输入如下的语句:
on (press) {
startDrag(this);
// 拖动当前的电影剪辑
}
on (release) {
stopDrag();
}
这几句命令很简单,即当鼠标按下时,拖动按钮当前所在的电影剪辑,当鼠标松开时,停止拖动。
3. 回到主场景,从库中把第二步中制作的电影剪辑拖到主场景中。测试影片,图片可以自由拖动了吧。
二、同时实现拖动图片和改变图片的大小
要同时达到以上两个目的,我们可以模仿Windows窗口的操作,即制作两个按钮,一个按钮放在图片的上部,作为模拟的“标题栏”,拖动它即可拖动图片;一个按钮放在图片的右下角,按下它拖动即可改变图片的大小。制作方法如下:
1. 启动Flash MX,单击“插入→新建元件”,在“创建新元件”对话框中选择“行为”为“按钮”,名称定为“按钮1”,然后制作一个形如图1的按钮。
2. 继续制作一个按钮元件,取名为“按钮2”,接着在按钮的第一帧中用矩形工具画一个小正方形就可以了(图2)。
3. 制作影片剪辑。单击“插入→新建元件”,在“创建新元件”对话框中选择“行为”为“影片剪辑”,名称定为“图片剪辑”。然后在影片剪辑的场景中,把按钮1、按钮2及所需的图片导入,调整好三者的位置及大小(图3)。这里要注意的是,三者的位置都必须在影片剪辑中心的右下方,并且总体位置上要稍稍往右往下移一点点。(具体移多少,最后测试影片后可以再进行微调)
4. 编写ActionScript脚本
(1) 选定按钮1,输入如下AS脚本:
(2) on (press) {
tuodong = 1;
}
on (release) {
tuodong = 0;
}
(3) 在这段AS脚本中,定义了一个变量:tuodong,当鼠标在按钮1上按下不松开时,变量的值为1;松开后,变量值为0。这个变量的作用是在后面的脚本中,依靠判断它的值来确定是否移动图片。
(4) 选定按钮2,输入如下AS脚本:
on (press) {
daxiao = 1;
x1 = this._x;
y1 = this._y;
}
on (release) {
daxiao = 2;
x2 = _root._xmouse;
y2 = _root._ymouse;
}
这段AS脚本中,定义了五个变量,“daxiao”变量的作用和上段脚本中的“tuodong”变量作用相同;x1、y1这两个变量记录当鼠标在按钮2上按下鼠标时,当前的这个影片剪辑的x方向位置和y方向位置;而x2和y2则记录了当鼠标在按钮2上松开时,鼠标在主场景中的x方向位置和y方向位置。
(3)返回主场景,从库中把刚制作的“图片剪辑”拖入到主场景中,选定该剪辑,输入如下AS语句:
onClipEvent (enterFrame) {
// 剪辑事件为进入帧
if (tuodong==1) {
startDrag(this);
} else {
stopDrag();
}
// 判断变量 tuodong的值,来确定是否拖动影片剪辑
if (daxiao==1) {
this._width = _root._xmouse-x1;
this._height = _root._ymouse-y1;
} else if (daxiao==2) {
this._width = x2-x1;
this._height = y2-y1;
}
}
// 根据变量daxiao的值来确定是否改变影片剪辑的大小
说明:这段脚本中,选择的剪辑事件为进入帧,这样,这段脚本在整个影片剪辑存在过程中会反复地不断被执行。在第一个if判断中,判断变量tuodong的值,如果为1则可以自由拖动,否则的话,停止拖动;在第二个if判断中,判断变量daxiao的值,如果为1,则影片剪辑的宽度和高度会随着鼠标的位置不断改变,而如果为2的话,则停止改变大小。
在Flash MX中实现自由拖动图片和改变图片相关推荐
- Android中使用SeekBar拖动条实现改变图片透明度
场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改为Lin ...
- 压缩图片和改变图片图形
压缩图片和改变图片图形 GitHub网址:https://github.com/qianshao1030/BitmapDemo 包名:compile 'jp.wasabeef:glide-transf ...
- VC2010“添加资源-引入JPG图片”会改变图片大小
结论: 通过VC2010添加JPG图片(添加资源->引入jpg图片)会改变图片大小. 本身只是为了想给对话框添加一个背景图片,试了下bmp的,都没有问题. 为了测试下是否可以加载(用LoadIm ...
- flash mx拖拽实例_在Flash MX中制作射击游戏
flash mx拖拽实例 Have you ever fancied venting your frustration virtually on targets of your choice, bui ...
- python --压缩图片不改变图片尺寸
方法1 from PIL import Image import osdef compress_image(infile, outfile, quality=50):""" ...
- js常用插件(七)之conversion压缩图片(不改变图片尺寸大小)
js常用插件之conversion压缩图片(重点:不改变尺寸大小) 欢迎点击: 个人官网博客 图片压缩只是他的一种功能,更多可以查看官方文档 重点:压缩体积并且图片尺寸大小是不变的 用法很简单: &l ...
- Flash MX 2004 编程(AS2.0)教程(一)
第1章入门 ActionScript是一种编程语言,Flash专用.ActionScript的语法类似Javascript或者Java,如果你以前接触过这两种语言,你会发现ActionScript非常 ...
- 如何改变图片的像素大小
众所周知每个图片都有自己的像素大小 在编程时经常会根据图片的大小设置"容器"的大小 哪当需要根据"容器"的大小来设置图片的大小又应该怎么做 那就用到backgr ...
- photoshop打开图片没反应问题的解决以及改变图片尺寸
ps软件使用过程中,有时点击打开图片后没有反应 解决方法: 打开PHOTOSHOP后按下ESC键再新建和打开图片. 改变图片大小: 图像->图像大小->文档大小/像素大小->单位改成 ...
最新文章
- 亚马逊云科技在中国区域上线机器学习新服务,打造广泛而深入的人工智能与机器学习工具集
- 修改模拟器的IMEI号
- android源代码居中字体,Android (布局优化) TextView实现drawable图标大小 位置与第一行文本居中...
- java制表位是什么意思_java制表位如何应用?大神进来。
- Teaching Machines to Converse--阅读笔记1 摘要及介绍
- Nginx 负载均衡 - linux下nginx加载配置文件异常处理,提示invalid PID number in “/run/nginx.pid“问题解决
- springboot接收文件_SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递
- 用户如何有效地利用数据字典(转)
- python 画三角函数_python,将三角函数绘制成二维数组
- 收发一体超声波测距离传感器模块_一文了解超声波液位计
- CVPR 2021 | 超越卷积的自注意力模型,谷歌、UC伯克利提出HaloNet
- 更新整理本人所有博文中提供的代码与工具(Java,2013.08)
- 8个jQuery Mobile基础教程
- Kubernetes入门——Longhorn简介
- java编程思想学习笔记——第2章 一切都是对象
- docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥
- Hibernate的org.hibernate.dialect.Oracle9Dialect错误
- TCP 建立连接 和 连接释放(Establish)
- Redis expire
- 自学Java如何正确入门?
热门文章
- c#笔试基础(转载)
- 回滚日志(undo log)介绍
- 〖Python 数据库开发实战 - Python与Redis交互篇⑩〗- 综合案例 - 新闻管理系统 - 发表新闻
- 达芬奇的这本“禁书”,竟让全世界顶礼膜拜了 500 年!
- 完整~小程序canvas制作幸运抽奖转盘
- 奥特斯出席2018重庆市市长国际经济顾问团第十三届年会
- 航空枢纽问题 matlab,[原创]航空领域常用几个速度的定义和说明
- vue+supermap三维地图(场景 模型 打包问题 报错)
- Java 解析摩尔斯电码并生成音频流/文件
- Python(第一章)版本介绍,环境准备及IDLE使用