永发信息网

翻译flash代码

答案:2  悬赏:80  手机版
解决时间 2021-06-04 23:42
  • 提问者网友:我是女神我骄傲
  • 2021-06-04 08:28
var mclsA:Object = new Object();
var sp = 3;
mclsA.onKeyDown = function() {
if (Key.isDown(Key.LEFT)) {
mc.gotoAndStop(2);
mc._x = Math.max(0, mc._x-sp);
} else if (Key.isDown(Key.RIGHT)) {
mc.gotoAndStop(3);
mc._x = Math.min(Stage.width-mc._width, mc._x+sp);
} else if (Key.isDown(Key.DOWN)) {
mc.gotoAndStop(4);
mc._y = Math.min(Stage.height-mc._height, mc._y+sp);
} else if (Key.isDown(Key.UP)) {
mc.gotoAndStop(5);
mc._y = Math.max(0, mc._y-sp);
}
};
mclsA.onKeyUp = function() {
for (k=0; k<4; k++) {
mc["mc"+k].stop();
}
};
Key.addListener(mclsA);
帮我翻译一下
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-06-04 09:01
var mclsA:Object = new Object(); //创建一个对象,用来侦听键盘事件
var sp = 3; //定义mc的位置变化步长值
mclsA.onKeyDown = function() { //侦听对象开始侦听键盘按下事件
if (Key.isDown(Key.LEFT)) { //如果向左运动的话mc的x坐标一次减少3也就是向左移动3个单位,如果mc的x坐标小于0的话mc的x坐标就为0,意思就是不能移出场景的左边缘
mc.gotoAndStop(2); //跳转到第二帧执行
mc._x = Math.max(0, mc._x-sp);
} else if (Key.isDown(Key.RIGHT)) { //如果向右运动,mc的x坐标一次增加3,也就是向右移动3个单位,如果mc的x坐标大于Stage.width-mc._width(场景的宽与mc的宽之差),则mc 的x坐标就为Stage.width-mc._width,意思不能移出场景的右边缘
mc.gotoAndStop(3);
mc._x = Math.min(Stage.width-mc._width, mc._x+sp);
} else if (Key.isDown(Key.DOWN)) { //原理同向右运动
mc.gotoAndStop(4);
mc._y = Math.min(Stage.height-mc._height, mc._y+sp);
} else if (Key.isDown(Key.UP)) { //原理同向左运动
mc.gotoAndStop(5);
mc._y = Math.max(0, mc._y-sp);
}
};
mclsA.onKeyUp = function() { //侦听对象开始侦听键盘释放事件,如果键盘释放,则进行for循环结果:mc("mc"0,"mc"1,"mc"2,"mc"3)停止运动
for (k=0; k<4; k++) {
mc["mc"+k].stop();
}
};
Key.addListener(mclsA); //键盘注册侦听对象
Math.max(param1,param2)取两个参数的最大值,Math.max(1,2)它的值是2, Math.min()则相反
全部回答
  • 1楼网友:迷人又混蛋
  • 2021-06-04 10:03
这个网站可以翻译 http://bbs.ux2000.info/index.php?fromuid=532580
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯