《ActionScript 3.0基础教程》——1.4 对象参数
本节书摘来自异步社区《ActionScript 3.0基础教程》一书中的第1章,第1.4节,作者: 【美】Doug Winnie 更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.4 对象参数
现在基本的知识你已经掌握了,你将开始写一些ActionScript代码来操作舞台上的蓝色圆圈。
任何的对象、元件、图像、动画都有自己的属性,例如舞台上的圆圈就有一些属性。
注意看属性面板,你会发现圆圈的属性有它的宽,高,x、y的位置(图1.11)。你可以使用ActionScript来读取这些属性的值,或者为它们设置新的值。
你需要标注这些对象才能访问它们,这也是为什么我们需要给每一个实例取唯一的名字的原因。
1.选中Script层的第一帧,删除早前我们写入的trace语句,替换为下面的代码:
trace(circle_1.x);
trace(circle_1.y);
2.从Control菜单中再次运行程序,你会看见相同的预览影片,但是从显示面板中,你会看见两组数字(图1.12)。
这两句代码的意思是访问舞台上的circle_1实例,获取实例的x坐标值,再发送到显示面板显示。同样的语句获取并显示了y坐标的值。
你已经成功的获取了舞台上circle实例的x和y属性的值。
3.移动舞台上圆圈的位置,再次运行程序,你会看见显示面板中x和y的值变成了新的坐标位置的值(图1.13)。
注意,与你第一次使用trace语句时不同,这次括号里的代码没有用引号给引起来,因为,与访问字符串不同,这次我们访问的是被保存的x和y的值,保存它们的东西我们称之为variables(变量)。变量中保存着这些数据,它们可以被ActionScript访问和修改。当你访问变量、访问变量的属性时,就不需要使用引号了。我们修改第一行代码来说明这个问题。
4.在第一行代码的括号中插入引号,现在代码是这样的:
trace("circle_1.x");
trace(circle_1.y);
5.运行程序,注意显示面板中的第一行显示了字符串circle_1,第二行显示了数字(图1.14),因为你在trace中使用引号就表示你想输出字符串而不是访问circle_1实例的x属性。现在你学会了如何访问实例的属性,你可以尝试着修改代码。在继续我们的内容之前,把圆圈移动到舞台的左上方。
6.在属性面板中输入0和0到x和y属性值中(图1.15)。
接下来,你将使用ActionScript设置的值来代替我们在属性面板中设置的值。当你运行程序时,ActionScript代码会立即替换circle_1实例x和y的值。
在访问对象的值时,你会使用值的名字进行访问,ActionScript会找到该属性名当前的值,并且将它替换成新的值。所有的MovieClip都包含很多属性。在这个例子里,你已经尝试了对象的x和y属性,这两个属性表示对象在舞台上的坐标位置。
当你想要改变某个变量的值时,你需要使用“=”来完成这个操作。
7.在动作面板里,用下面的代码代替原来的:
circle_1.x = 100;
circle_1.y = 200;
这段代码访问了circle_1实例的x和y属性,并且给它们设置了新的值,x属性表示的x坐标被设置成了100,而y坐标被设置成了200。
在circle_1和x、y属性中间的圆点表示你正在访问圆点前的实例的属性,这里很明显就是circle_1,这个圆点称之为点符号。你可以使用点符号访问对象的属性。
我想再说一下每行代码最后的分号。每一行ActionScript的结尾处的分号让ActionScript知道这是一段命令的结束。分号是必须的,请记住一定要在结尾加上它!
8.运行程序,注意,我们虽然把圆圈放在了左上角,坐标为(0,0),但是ActionScript会覆盖我们的默认设置,把圆圈定位到新的位置(图1.16),让我们增加一些代码来证明ActionScript是否做了这件事。
9.把下面高亮的代码写入到动作面板中:
trace("Before:");
trace(circle_1.x);
trace(circle_2.y);
circle_1.x = 100;
circle_1.y = 200;
trace("After:");
trace(circle_1.x);
trace(circle_2.y);
10.运行程序,注意,显示面板在程序刚开始运行时,显示出(0,0),但是赋值语句会将初始的(0,0)改变成为新的值。Flash播放器在圆圈坐标被改变后,会将它新的坐标显示出来(图1.17)。
你也许会问,为什么在程序运行的时候我没有看见圆圈出现在(0,0)位置。简单来说,是因为新坐标设置的命令执行的太快了,Flash播放器还没有机会来显示(0,0)位置的圆圈。之后,你会学习到如何进行属性的设置,让变化有动画效果。
有很多的属性你都可以用ActionScript来修改。表1.1中列出了最常用的属性。
在列表中,有一些属性的值是true和false。如果想要使用这些属性,你需要为它们赋值true或者false。参考visible属性的用法。
11.把下面的代码加到ActionScript的最后:
circle_1.visible = false;
注意false是没有双引号包裹的,这是一种特殊类型的值叫做Boolean(布尔型),在以后的章节中我们会学习到。
12.运行程序,你会注意到对象已经看不见了,实例实际上还是在那的,只是你告诉Flash播放器通过设置属性visible为false来将它隐藏(图1.18)。
《ActionScript 3.0基础教程》——1.4 对象参数相关推荐
- 《ActionScript 3.0基础教程》——第2章 往舞台动态地添加对象2.1 创建库资源,并为它命名...
本节书摘来自异步社区<ActionScript 3.0基础教程>一书中的第2章,第2.1节,作者: [美]Doug Winnie 更多章节内容可以访问云栖社区"异步社区" ...
- 《ActionScript 3.0基础教程》——2.2 显示队列概述
本节书摘来自异步社区<ActionScript 3.0基础教程>一书中的第2章,第2.2节,作者: [美]Doug Winnie 更多章节内容可以访问云栖社区"异步社区" ...
- 《ActionScript 3.0基础教程》——1.3 在显示面板输出信息
本节书摘来自异步社区<ActionScript 3.0基础教程>一书中的第1章,第1.3节,作者: [美]Doug Winnie 更多章节内容可以访问云栖社区"异步社区" ...
- Flash ActionScript 2.0基础教程
本文译者:egoldy文章出处: 文章性质:翻译 ActionScript 2.0-简介 随着FLASHMX2004的推出,Macromedia公司推出了一种新的脚本类型称为as2,在要教程中我们将要 ...
- Android程序开发0基础教程(一)
程序猿学英语就上视觉英语网 Android程序开发0基础教程(一) 平台简单介绍 令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操作系统, ...
- Java基础教程-05-面向对象
Java基础教程-05-面向对象 1. 面向过程和面向对象解释 1.1 面向过程 1.1.1 简述 我们回想一下, 前面我们完成一个需求的步骤是怎样的? 首先是搞清楚我们要做什么. 然后在分析怎么做. ...
- 今日头条自媒体搬运原创视频批量去水印消重包推荐0基础教程如何快速找素材进行伪原创-自媒体爆文之如...
今日头条自媒体运营推广视频教程学习资料短视频运营从零到精通 今日头条趣东方头条凤凰新浪看点网易企鹅UC大鱼一点资讯自媒体快传视频处理软件 今日头条推广视频教程自媒体推广短视频教程今日头条引流小白入门 ...
- SMIL 2.0 基础教程[转]
SMIL 2.0 基础教程[转] 转自:http://www.5d.cn/Tutorial/server/200205/1326.html 来源:5D多媒体 | 作者:litteruser ----- ...
- Flash ActionScript 3.0 动画教程 (高清PDF中文版下载)
Flash ActionScript 3.0 动画教程 (高清PDF中文版下载) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/21/ ...
最新文章
- mongorepository查询条件_MongoDB动态条件之分页查询
- 哪一类功率放大电路效率最高_最简单逆变器电路讲解计算,电工电子动手学技术,电路好案例推荐...
- Android反编译 -- 错误代码还原
- mariadb数据库服务
- python入门指南_Python中的逻辑门–入门指南
- asp英语是什么意思_如何在ASP.NET Core中使用JSON Patch
- 为什么我推荐ImageJ?
- java程序内存泄漏排查
- VBA 如何多条件查询汇总
- python解析XML
- linux 蓝牙5.0,USB蓝牙适配器5.0在Deepin 20.1、Ubuntu 20.04系统上的安装
- 刷IP工具、刷IP软件的原理和工作过程
- 中科大网上财务报销填写流程
- python 抽奖库_用 python 写一个年会抽奖小程序
- matlab实现iou计算,python实现IOU计算案例
- 企业微信公众号运营技巧有哪些
- 如何用Serverless搭建Mock Server?
- UE4中的GameMode、GameState、GameInstance
- 【软件下载_1】关于Panoply的下载
- java毕业设计房屋租赁系统(附源码、数据库)
热门文章
- Spark的RDD依赖关系
- C++中类和结构体的区别
- 解决:TypeError: ‘(slice(None, None, None), 1)‘ is an invalid key
- 迁移学习——入门笔记
- random模块——生成伪随机数
- 一文读懂Asp.net core 依赖注入(Dependency injection)
- mkdir创建递归目录
- android:showAsAction=never报错
- 二叉树的最小高度,最大高度(深度)和宽度
- hdoj5792 【树状数组】【未完待续】