Flash AS实例:神奇的数字魔术盒子 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【meiwen.anslib.com - 电脑资料】

   

    核心提示:Flash AS实例:神奇的数字魔术盒子教程,

Flash AS实例:神奇的数字魔术盒子

    应闪友要求制作一个数学小实例,名字好大,其实很小。

   

    /*

    神奇的魔盒

    */

    stop();

    mc.t.restrict = ". 0-9";

    //限制输入只能为数字

    //go 出盒数字控制 i 排列位置用 v 运动速度

    var go:Boolean = false, i:Number = 0, v:Number = 10;

    t1.text = "开始";

    btn.onPress = function() {

    //开始按钮

    if (mc.t.text != "") {

    btn._visible = false;

    t1.text = "";

    v = 10;

    var j:Number = i+1;

    //this["m"+i] this["m"+j] 调出库中m作为出盒数字载体

    this["m"+i] = attachMovie("m", "m"+i, _root.getNextHighestDepth());

    this["m"+j] = attachMovie("m", "m"+j, _root.getNextHighestDepth());

    mask.swapDepths(_root.getNextHighestDepth());

    //遮隹出盒数字

    this["m"+i]._x = 260;

    //出盒数字位置

    this["m"+j]._x = 260;

    this["m"+i]._y = 220;

    this["m"+j]._y = 220;

    var num:Number = Number(mc.t.text);

    //取得输入数字

    this["m"+i].t.text = num;

    this["m"+j].t.text = 2*num;

    //2倍

    run(mc, 240, 190, this["m"+i], this["m"+j]);

    //移动进盒数

    go = true;

    }

    };

    function run(target:MovieClip, endx:Number, endy:Number, target1:MovieClip, target2:MovieClip) {

    target.onEnterFrame. = function() {

    var disx:Number = (endx-this._x)/v;

    var disy:Number = (endy-this._y)/v;

    this._x += disx;

    this._y += disy;

    if (Math.abs(this._x-endx)<=1) {

    this._x = endx;

    this._y = endy;

    delete this.onEnterFrame;

    if (go) {

    v = 5;

    //移动出盒的两个数

    run(target1, 410, endy-100+i*30);

    run(target2, 480, endy-100+i*30);

    go = false;

    i++;

    } else {

    back_btn._visible = true;

    t2.text = "再来";

    }

    }

    };

    }

    back_btn._visible = false;

    back_btn.onPress = function() {

    this._visible = false;t2.text = "";

    mc.t.text = "";

    mc._x = 90;

    //输入文本框归位

    mc._y = 192;

    btn._visible = true;

    t1.text = "开始";

    };

最新文章