在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中实现自由拖动图片和改变图片相关推荐

  1. Android中使用SeekBar拖动条实现改变图片透明度

    场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改为Lin ...

  2. 压缩图片和改变图片图形

    压缩图片和改变图片图形 GitHub网址:https://github.com/qianshao1030/BitmapDemo 包名:compile 'jp.wasabeef:glide-transf ...

  3. VC2010“添加资源-引入JPG图片”会改变图片大小

    结论: 通过VC2010添加JPG图片(添加资源->引入jpg图片)会改变图片大小. 本身只是为了想给对话框添加一个背景图片,试了下bmp的,都没有问题. 为了测试下是否可以加载(用LoadIm ...

  4. flash mx拖拽实例_在Flash MX中制作射击游戏

    flash mx拖拽实例 Have you ever fancied venting your frustration virtually on targets of your choice, bui ...

  5. python --压缩图片不改变图片尺寸

    方法1 from PIL import Image import osdef compress_image(infile, outfile, quality=50):""" ...

  6. js常用插件(七)之conversion压缩图片(不改变图片尺寸大小)

    js常用插件之conversion压缩图片(重点:不改变尺寸大小) 欢迎点击: 个人官网博客 图片压缩只是他的一种功能,更多可以查看官方文档 重点:压缩体积并且图片尺寸大小是不变的 用法很简单: &l ...

  7. Flash MX 2004 编程(AS2.0)教程(一)

    第1章入门 ActionScript是一种编程语言,Flash专用.ActionScript的语法类似Javascript或者Java,如果你以前接触过这两种语言,你会发现ActionScript非常 ...

  8. 如何改变图片的像素大小

    众所周知每个图片都有自己的像素大小 在编程时经常会根据图片的大小设置"容器"的大小 哪当需要根据"容器"的大小来设置图片的大小又应该怎么做 那就用到backgr ...

  9. photoshop打开图片没反应问题的解决以及改变图片尺寸

    ps软件使用过程中,有时点击打开图片后没有反应 解决方法: 打开PHOTOSHOP后按下ESC键再新建和打开图片. 改变图片大小: 图像->图像大小->文档大小/像素大小->单位改成 ...

最新文章

  1. 亚马逊云科技在中国区域上线机器学习新服务,打造广泛而深入的人工智能与机器学习工具集
  2. 修改模拟器的IMEI号
  3. android源代码居中字体,Android (布局优化) TextView实现drawable图标大小 位置与第一行文本居中...
  4. java制表位是什么意思_java制表位如何应用?大神进来。
  5. Teaching Machines to Converse--阅读笔记1 摘要及介绍
  6. Nginx 负载均衡 - linux下nginx加载配置文件异常处理,提示invalid PID number in “/run/nginx.pid“问题解决
  7. springboot接收文件_SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递
  8. 用户如何有效地利用数据字典(转)
  9. python 画三角函数_python,将三角函数绘制成二维数组
  10. 收发一体超声波测距离传感器模块_一文了解超声波液位计
  11. CVPR 2021 | 超越卷积的自注意力模型,谷歌、UC伯克利提出HaloNet
  12. 更新整理本人所有博文中提供的代码与工具(Java,2013.08)
  13. 8个jQuery Mobile基础教程
  14. Kubernetes入门——Longhorn简介
  15. java编程思想学习笔记——第2章 一切都是对象
  16. docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥
  17. Hibernate的org.hibernate.dialect.Oracle9Dialect错误
  18. TCP 建立连接 和 连接释放(Establish)
  19. Redis expire
  20. 自学Java如何正确入门?

热门文章

  1. c#笔试基础(转载)
  2. 回滚日志(undo log)介绍
  3. 〖Python 数据库开发实战 - Python与Redis交互篇⑩〗- 综合案例 - 新闻管理系统 - 发表新闻
  4. 达芬奇的这本“禁书”,竟让全世界顶礼膜拜了 500 年!
  5. 完整~小程序canvas制作幸运抽奖转盘
  6. 奥特斯出席2018重庆市市长国际经济顾问团第十三届年会
  7. 航空枢纽问题 matlab,[原创]航空领域常用几个速度的定义和说明
  8. vue+supermap三维地图(场景 模型 打包问题 报错)
  9. Java 解析摩尔斯电码并生成音频流/文件
  10. Python(第一章)版本介绍,环境准备及IDLE使用