Если вы вызываете функцию вручную без TimerEvent, которого ожидает функция, вы получите ошибку. Таким образом, вы должны определить, что значение параметра по умолчанию равно нулю:
private function placeFood(event:TimerEvent = null):void {
//code
}
Для продовольственной карты создайте многомерный массив, который будет содержать ссылки на продукты.
private var _foodMap:Array = [];
Затем в том месте, где вы добавляете еду, добавьте ее на карту еды, как я сделал ниже, чтобы вы могли проверить, пусто ли место, где находится голова змеи.
if(_foodMap[int(rndX)] == null){
_foodMap[rndX] = [];
}
if(_foodMap[int(rndX)][int(rndY)] == null){
_foodMap[rndX][rndY] = food;
}
Тогда, если оба _foodMap[int(snakesHeadX)] == null
и _foodMap[int(snakesHeadX)][int(snakesHeadY)] == null
, это означает, что местоположение головы змеи пусто.