Flash编程入门:物体的自由运动解析

编程

  很多学习Flash的朋友都想掌握Flash编程,来加强自己的Flash设计能力。只是大多的朋友觉得Flash很难,很难学会。今天,笔者就借助一个简单的Flash编程实例来给大家讲解如何学好Flash编程。

  首先大家不要紧张,这个例子设计很简单,程序也不是很难。在程序中,笔者已经加了注释。在文章最后,笔者将给大家讲解一些代码使用方法。好了,下面我们就来制作吧。

  效果预览:

  源文件下载:点击这里下载(3K, zip压缩文件)

  1.按快捷键Ctrl+F8打开“创建新元件”面板,制作一个名为“主角”的影片剪辑元件。如图1所示。

图1

  2.按快捷键Ctrl+L打开“库”面板,把“主角”元件拖入场景中。如图2所示。

图2

  3.点选“主角”元件,按快捷键F9打开“动作“面板,输入如下代码。如图3所示。

图3

// 物体自由运动代码
// 影片被载入后执行代码
onClipEvent (load) {
    cNum = 10;
    s = 3;
}

// 影片载入后不断地执行该代码
onClipEvent (enterFrame) {
    my_x = _x;
    my_y = _y;
    my_theta = _rotation;
    delta_dir = random(2);
    if (delta_dir == 0) {
        delta_dir = -1;
    }
    delta = cNum*delta_dir;
    my_theta = my_theta+delta;
    my_theta_rad = (my_theta*Math.PI)/180;
    new_x = my_x+(s*Math.cos(my_theta_rad));
    new_y = my_y+(s*Math.sin(my_theta_rad));
    _rotation = my_theta;
    if ((new_x>0) && (new_x<300)) {
        _x = new_x;
    } else {
        my_theta = 180-my_theta;
    }
    if ((new_y>0) && (new_y<300)) {
        _y = new_y;
    } else {
        my_theta = -my_theta;
    }
    _rotation = my_theta;
}

  好了,测试效果,大家可以发现“主角”在场景中自由地无规则地运动。其实,在该实例中,主要就是使用了FlashAS的控制语句、影片属性和Math对象。

  onClipEvent(movieEvent)是影片控制控制语句,movieEvent被称作“事件”的触发器。当事件发生时,执行该事件后面花括号中的语句。Load是当影片剪辑一旦被载入,即执行该动作。EnterFrame将不断执行帧的动作。在实例中,变量“cNum”的作用是控制元件抖动幅度。变量“s”则控制了元件的移动幅度。

  在Flash动画设计中,影片剪辑属性是经常要被使用到的。在该例中,物体之所以能够移动,是因为我们改变了其_x,_y,_width,_height四个影片剪辑属性了。_x属性,_y属性的作用是设置影片的X,Y轴坐标值。另外,影片的_width属性,_height属性的作用是设置影片的宽度和高度。

  代码中的_rotation属性可以改变影片的角度值,使影片发生旋转。random()方法可以返回一个随机的数字。一般,在不规则运动的效果中,都要用的这个方法。Math.cos()、Math.sin()是一个数学对象的方法,用来计算并返回以弧度为单位指定的角度的余弦值、正弦值。

  实例中,我们先用变量“my_x”和“my_y”来纪录物体的坐标值。变量“delta_dir”的数值在0到2之间随机变化,这样才能使物体发生不规则的运动。从最后的语句“_rotation = my_theta”的功能即可得知该变量的作用。

  好了,实例笔者就剖析到这里。如果你想使自己的Flash设计能力得到质的飞跃的话,在提高图形设计功力的同时,请努力提高Flash编程能力,二者缺一不可。

时间: 2024-08-02 09:18:34

Flash编程入门:物体的自由运动解析的相关文章

Flash制作物体的自由运动

很多学习Flash的朋友都想掌握Flash编程,来加强自己的Flash设计能力.只是大多的朋友觉得Flash很难,很难学会.今天,笔者就借助一个简单的Flash编程实例来给大家讲解如何学好Flash编程. 首先大家不要紧张,这个例子设计很简单,程序也不是很难.在程序中,笔者已经加了注释.在文章最后,笔者将给大家讲解一些代码使用方法.好了,下面我们就来制作吧. 效果预览: 源文件下载:点击这里下载(3K, zip压缩文件) 1.按快捷键Ctrl+F8打开"创建新元件"面板,制作一个名为&

Flash中实现物体运动的三种方法

现在用Flash开发的游戏是越来越多了.很多朋友也很想学习用Flash制作游戏的方法.大家知道,不管在什么游戏中,实现物体的运动是游戏的前提,而不同的游戏里物体移动的方式又不尽相同.所以,想学习制作Flash游戏的朋友今天就先随我一起学学在Flash中实现物体运动的几种方法吧.几种方法如下: 方法一:通过单击按钮实现物体的单位运动 这种方法一般在需要按键的游戏中使用.你也可以给某个实体加上这段代码,然后通过单击这个实体达到某种游戏效果. 1.打开Flash,按快捷键"Ctrl + M"

ASP.NET编程入门解析

安装运行.NET需要的软件 我这里推荐一本书:<beginning asp.net 1.1with vb.net 2003>就是<asp.net 1.1入门经典--vb.net2003编程篇>这本书讲的很不错,适合初学者. 个人基础:asp基本掌握,c++基本掌握: 电脑配置:6.5G硬盘+128M内存,其他设备都是类似的配置+windows2000: 软件要求吧: 1.MDAC 2.7(微软数据库引擎)大约5.01M: 2.Microsoft.NET framework1.1大约

C语言编程入门之程序头文件的简要解析_C 语言

头文件是扩展名为.h的文件,其中包含C函数的声明和宏定义,也可以多个源文件之间共享.有两种类型的头文件:程序员编写的文件,和编译器中附带的文件. 要求使用头文件的程序,包括通过它,使用C语言预处理指令#include就像所看到的包含stdio.h头文件,它随着编译器自带. 包括一个头文件等于复制头文件的内容,但我们不这样做,因为这很容易出错,一个好主意是我们不复制头文件的内容,特别是包括多个程序的源文件. 在C或C++程序的简单做法是,我们把所有的常量,宏全系统全局变量和函数原型在头文件,其中包

Python中的元类编程入门指引_python

回顾面向对象编程 让我们先用 30 秒钟来回顾一下 OOP 到底是什么.在面向对象编程语言中,可以定义 类,它们的用途是将相关的数据和行为捆绑在一起.这些类可以继承其 父类的部分或全部性质,但也可以定义自己的属性(数据)或方法(行为).在定义类的过程结束时,类通常充当用来创建 实例(有时也简单地称为 对象)的模板.同一个类的不同实例通常有不同的数据,但"外表"都是一样 - 例如, Employee 对象 bob 和 jane 都有 .salary 和 .room_number ,但两者

ASP编程入门进阶(十四):Browser &amp;amp; Linkin

编程 一.Browser Capabilities组件 该组件最主要的作用是:提取识别客户端浏览器的版本信息. 其原理是这样的:当客户端浏览器向服务器发送页面请求时,同时会自动发送一个User Agent HTTP标题,而该标题是一个声明浏览器及其版本的 ASCII 字符串.而Browser Capabilities组件就将User Agent映射到在文件Browscap.ini中所注明的浏览器 , 并通过BrowserType对象的属性来识别客户浏览器. 若该对象在 browscap.ini

ASP.NET编程入门随想之宽容(修改版)

asp.net|编程 相关文章:ASP.NET编程入门随想之宽容 古老的山谷村民生活富足,守旧老人维护着经典和秩序.一位不满现状的漂泊者却宣称外面有更好的世界在等着大家,并鼓动村民跟随前往.但守旧老人的威严和律法的神圣压制了村民的躁动,漂泊者也被处死.一天灾难降临山谷.尽管守旧老人依然试图维护经受村民的求生欲望挑战的律法.但暴动还是发生,老人们被击败,新的道路和新的生活被村民找到.怀着感恩之心,后人把以前的漂泊者奉为先知,尽管他早已尸骨无存. -- 房龙<宽容•序言> ■ 宽容 – W3C 的

入门级技巧:FLASH 编程心得

编程|技巧|心得 其实我本人水平也不怎么样,今天之所以搞出个编程心得(主要是自己的一点点经验总结)的介绍,主要是想帮助有兴趣往深处研究AS的朋友,由于个人的水平有限,其中难免有谬误,欢迎大家讨论纠正.一来,帮助我进步:二者也是更重要的是,防止初学者养成不好的编程习惯! 废话说多了,下面开始: 一.FLASH有三个地方可以加代码,关键帧,MC(影片剪辑),按钮. 1.关键帧上加代码的灵活性很大,建议初学者:能写在MC或者按钮上的代码,就尽量不要写在关键帧上,关键帧上添加代码后,会出现一个a,如图一

Swift 面向协议编程入门

本文讲的是Swift 面向协议编程入门, 面向对象编程的思想没毛病,但老铁你可以更 666 的 上图这个人不是我,但这就是使用面向协议编程替换掉面向对象编程之后的感觉. 介绍 这个教程也是为了那些不知道类和结构体根本区别的人写的.我们都知道在结构体里是没有继承的,但是为什么没有呢? 如果你不知道上面问题的答案,那么花几秒钟看下下面的代码.请再次原谅我的排版,我已经让它尽可能的简单明了了. 注:译者已经改过排版了 class HumanClass { var name: String init(n