currentCat.indexY is undefined

urnotmc HTML5版围住神经猫游戏开发... 2017年06月27日提问

  • 0 回答
  • 472 浏览

// JavaScript Document

var stage = new createjs.Stage("gameView");

createjs.Ticker.setFPS(30);

createjs.Ticker.addEventListener("tick",stage);//添加监听事件

var gameView = new createjs.Container();//添加容器

gameView.x = 30;

gameView.y = 30;//移动容器位置

stage.addChild(gameView);

var circleArr = [[],[],[],[],[],[],[],[],[]];//使用数据承载每个点

var currentCat;//定义猫

//通过if语句判断在点击除了猫之外的圆形会改变颜色

function circleClicked(event){

if (event.target.getCircleType(1) !=3) {

event.target.setCircletype(2);

}

console.log(currentCat);//TypeError: currentCat.indexY is undefined

var leftCircle = circleArr[currentCat.indexX - 1][currentCat.indexY];//用数组获得向左移动一格的坐标

if (leftCircle.getCircleType() == 1) {

leftCircle.setCircletype(3);//定义猫移动的位置变为类型3,移动后的位置变为默认类型1

currentCat.setCircletype(1);

currentCat = leftCircle;

}

}

function addCircles(){

for(var indexY=0;indexY<9;indexY ){//通过for循环绘制圆

for(var indexX=0;indexX<9;indexX ) {

var c = new Circle();

gameView.addChild(c);

circleArr[indexX][indexY] = c;

c.x = indexY%2?indexX*55 25:indexX*55;//单数时移动25

c.y = indexY*55;

if(indexX==4&&indexY==4){//绘制猫

c.setCircletype(3);

currentCat = c;//将猫赋值给当前正在点击的对象

}

//添加侦听事件,通过if语句判断在点击除了猫之外的圆形会改变颜色

c.addEventListener("click",circleClicked);

}

}

}

addCircles();