建站学习网,专业提供各类建站教程,网页素材,SEO资讯等建站资源!

网站模板_网站源码_网站素材_建站教程_建站学习网

当前位置:建站学习网 > 网页设计 > Flash教程 >

Flash制作旋转的花朵

更新时间:2017-05-09整理编辑:建站学习网阅读:0

 

  思路:

  1.使用for...in语句遍历整个主场景(_root)中所有的对象;

  2.找到他们(如_root[k]),并为他们的不同方法指定不同函数;

  步骤1: 在主场景放入若干个影片剪辑,不需要为他们起实例名。 步骤2:加入AS代码:

  var F1:Function = function () {

  this.startDrag(false);

  };

  var F2:Function = function () {

  this.stopDrag();

  };

  var F3:Function = function () {

  this._rotation = this.speed;

  };

  //定义三个函数:

  // F1完成对象开始拖拽功能;

  // F2完成对象停止拖拽功能;

  // F3完成对象自转功能,速度为每个对象各自的speed*/

  for (var k in _root) {

  _root[k].speed = random(20);

  _root[k].onPress = F1;

  _root[k].onRelease = F2;

  _root[k].onEnterFrame = F3;

  }

  //遍历主场景,为每个MC设置speed属性及onPress,onRelease.onEnterFrame方法。

  Flash充电1:两种定义函数的方法

  (1)函数语句定义法:如

  function Testadd(a, b) {

  return a b;

  }

  (2)函数表达式定义法:如

  var Testadd:Function = function (a, b) {

  return a b;

  };

  平时,应当尽量使用函数语句定义[方法1],这种定义方法更加标准,也更简捷。区别:方法2,需要先定义、后调用;方法1,可以先调用,后写定义。

  Flash充电2:for...in 用来枚举一个集合中所有的元素,多用于遍历(检索)如:XML,数组,Object甚至_root或MC等等,功能非常强大。本课中,我们用它来遍历整个_root。

  例1:

  var Car = {brand:"M6", color:"red", engine:2000};

  for (var k in Car) {

  trace(k "=" Car[k]);

  }

  // 输出结果:

  // brand=M6

  // color=red

  // engine=2000

  例2:

  //首先,在主场景中放入四个影片剪辑

  for (var k in _root) {

  trace(_root[k]);

  }

  //输出结果:

  //_level0.instance4

  //_level0.instance3

  //_level0.instance2

  //_level0.instance1

  我们注意到,即使不给_root中的MC命名,FLASH编译器也自动为MC命名的,前面的_level10指该元件的深度为10.

  Flash充电3: .onEnterFrame

  (1) onEnterFrame是AS动画和游戏制作的灵魂。

  (2) 当我们在主场景第一帧写入onEnterFrame=function(){...}时,实际上Flash编译器会自动在前面加上_root变为_root.onEnterFrame。

  (3)重要:MovieClip.onEnterFrame=function(){...}形式。这种形式可以让MC独立地运行onEnterFrame。例:

  //首先主场景上有三个影片剪辑,实例名分别为MC1,MC2,MC3。//

  MC1.speed = random(10);

  MC2.speed = random(10);

  MC3.speed = random(10);

  MC1.onEnterFrame = function() {

  MC1._rotation = MC1.speed;

  };

  MC2.onEnterFrame = function() {

  MC2._rotation = MC2.speed;

  };

  MC3.onEnterFrame = function() {

  MC3._rotation = MC3.speed;

  };

  试想一下如果场景有100个这样MC那么写代码的过程是不是太痛苦了啊...呵呵...我们看看下面一种写法:

  function F1() {

  this._rotation = this.speed;

  }

  for (var k in _root) {

  _root[k].speed = random(10);

  _root[k].onEnterFrame = F1;

  }

  完成的功能相当于:

  MC1.speed = random(10);

  MC1.onEnterFrame = function() {

  this._rotation = this.speed;

  };

  函数中this指:调用该函数的对象(MC1)

本文网址:https://www.dedexuexi.com/wysj/flash/3214.html

本站部分文章搜集与网络,如有侵权请联系本站,转载请说明出处。

标签:旋转花朵
收藏此文 赞一下!() 打赏本站

如本文对您有帮助,就请建站学习网抽根烟吧!

支付宝打赏
微信打赏
flash as3实现打字小游戏代码
« 上一篇2017年05月09日
Flash片头加载loading的方法
2017年05月09日下一篇 »
  • 使用Flash MX将GIF动画图片制成FLASH动画
    0阅读
    gif动画比较简单 gif动画只能做一些比较简单的动画,FLASH可以比较多元化,最大的不同是格式不一样,一个是SWF,一个是Gif,还有Gif的那是图片,按照flash里面讲Gif是逐贞动画 PS也可以做,而
  • flash动画制作网页中演示类FLASH动画的制作规范
    0阅读
    在工作中所遇到的涉及到flash的项目一般会根据其具体应用分成两大类:演示类 交互类为了使项目更加快速有效的完成并且保证工作质量,使源文件从结构上更加的简洁易读,有必要遵守一定的
  • flash as3实现打字小游戏代码
    0阅读
    游戏效果 新建Fla,在第一帧F9添加代码即可。 代码如下 var arr:Array = new Array(); var time:uint=0; var angle:Number=0; var zfun; [SWF(width=800, height=465,backgroundColor=0...
  • Flash制作旋转的花朵
    0阅读
    思路: 1.使用for...in语句遍历整个主场景(_root)中所有的对象; 2.找到他们(如_root[k]),并为他们的不同方法指定不同函数; 步骤1: 在主场景放入若干个影片剪辑,不需要为他们起实例名。 步骤2:加入
  • Flash片头加载loading的方法
    0阅读
    做一个优秀的loading是衡量一个flasher水准、甚至态度的,因为loading是唯一一个你不会多看而所有用户、客户会看的东西,所以你对loading的重视程度,甚至可以反衬你这个flasher的职业道德。 我认
 
QQ在线咨询