【发布时间】:2011-04-01 10:59:21
【问题描述】:
我有一个函数可以将项目添加到网格的随机位置(这是在计时器事件中完成的),在这个函数中我有一个检查项目是否击中玩家。如果确实如此,它会调用该函数。但是,当我再次调用该函数时,它给了我错误。可能是因为函数是(event:TimerEvent)?
下面是函数
private function placeFood(event:TimerEvent = null):void{
var rndI:uint = Math.floor(Math.random() * DIM); //sets a random integer based on the the floor
var rndJ:uint = Math.floor(Math.random() * DIM);
var rndX:Number = grid[rndI][rndJ].x; // sets a grid position for the food item to go
var rndY:Number = grid[rndI][rndJ].y;
if(_foodMap[int(rndX)] == null){
_foodMap[rndX] = [];
}
if(_foodMap[int(rndX)][int(rndY)] == null){
_foodMap[rndX][rndY] = food;
}
food = makeItem(Math.random() * 0xFFFFFF);// random color
food.x = rndX;
food.y = rndY;
addChild(food); //adds the food to the board
for (var i:uint = 0; i < snake.length; i++){
if (rndY == snake[i].y && rndX == snake[i].x){
placeFood();
}
}
}
【问题讨论】:
-
改变 placeFood();放置食物(事件);
标签: flash actionscript-3 timer