在js中引入movieClip后 button点击事件里的for循环失效,请大神帮帮忙解答一下,谢谢!

qq_28092057 qq_28092057 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>hello</title>
<script src="easeljs-0.8.0.min.js"></script>
<script src="movieclip-0.8.0.min.js"></script>
<script src="tweenjs-0.6.0.min.js"></script>
<script src="app.js"></script>
</head>
<body>
<canvas id="mycanvas" width="400px" height="400px" style="background-color: blueviolet"></canvas>
<button id="btn1">左</button>

<button id="btn2">右</button>
</body>
</html>




/**
* Created by Administrator on 2015/5/27.
*/
var stage,image,btn1,btn2;
var image_x = 200;
var image_y = 20;
var step_x;
var step_y;
var arr_x_r = [];
var arr_x_l = [];
var arr_y = [];
var arry = [];
window.onload = function(){
stage = new createjs.Stage("mycanvas");
btn1 = document.getElementById("btn1");
btn2 = document.getElementById("btn2");
image = new createjs.Shape();
image.graphics.beginFill("#123F56").drawRect(image_x,image_y,50,50);
stage.addChild(image);

var mc = new createjs.MovieClip(null,0,true,{start:0});
stage.addChild(mc);

for(var i = 0;i<5;i++) {
arry[i] = new createjs.Shape();
step_x = Math.random()*(300-50)+50;
step_y = 70*(i+1);
arry[i].graphics.beginFill("#12fF56").drawRect(step_x, step_y, 100, 20);
arr_x_r[i] = step_x+100;
arr_x_l[i] = step_x-50;
arr_y[i] = step_y;
stage.addChild(arry[i]);
}


var n = 0;
var l = 0;

for (var i = n; i < 5; i++) {
if (image_x < arr_x_r[i]&&image_x>arr_x_l[i]) {
break;
}else{
image.y += 70;
n += 1;
}
}


for(var i = 0; i < 5; i++){
mc.timeline.addTween(createjs.Tween.get(arry[i]).to({y:0},0).to({y:-100},100));
}
mc.timeline.addTween(createjs.Tween.get(image).to({y:0},0).to({y:-100},100));
mc.gotoAndPlay("start");


btn2.onclick = function() {
image.x += 10;
image_x += 10;

for (var i = n; i < 5; i++) {
if (image_x < arr_x_r[i]) {
break;
}else{
image.y += 70;
n += 1;
}
}
if(image_x>350){
image.x -= 10;
image_x -= 10;
}
if(image_x==350&&image.y==350){
alert("Congratulate to you!!!")
}

}

btn1.onclick = function(){
image.x-=10;
image_x-=10;

for(var i = n; i < 5; i++){
if(image_x>arr_x_l[i]){
break;
}else{
image.y += 70;
n += 1;
}
}
if(image_x<0){
image.x += 10;
image_x += 10;
}
}

createjs.Ticker.setFPS(20);
createjs.Ticker.addEventListener("tick",stage);
}
...全文
评论
收藏 已收藏
分享
返回顶部
qq_28092057
JavaScript 87,983 成员 224,681 内容