• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 校园文章 > 正文

    旋转花朵怎么折_Flash制作旋转的花朵

    时间:2018-08-10来源:山茶花美文网 本文已影响 山茶花美文网手机站

     

    思路:

    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)

    • 旋转花朵怎么折_Flash制作旋转的花朵 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全