登录 注册

Flash制作神奇的数字魔术盒子

资讯 驱动中国 朱丹丹 5,218 次阅读 0 条评论
分享 Q

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

duote_10_14-56-09

/*

神奇的魔盒

*/

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 = "开始";

};

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友