2016-02-22 2 views
1

здесь является cocos2d функция Javascriptthis._parent.reorderChild не является функцией при добавлении LayerColor к узлу

spawnGrid: function(x,y) { 
    var newGrid = cc.instantiate(this.gridPrefab).getComponent('Grid'); 
    this.gameArea.addChild(newGrid.node); 
    newGrid.init(x,y,10); 

    var width = 75; 
    var height = 75; 
    var backgroundLayer = new cc.LayerColor(cc.Color.RED,width,height); 
    this.gameArea.addChild(backgroundLayer); 
    backgroundLayer.setPosition(cc.p(width * 0.5, height * 0.5)); 
} 

, когда эта линия выполнить

this.gameArea.addChild(backgroundLayer); 

консольный показать эту ошибку

Uncaught TypeError: this._parent.reorderChild is not a function 

любая идея?

+0

Можете ли вы показать нам инициализацию gameArea? Просто отредактируйте начальную запись –

ответ

0

Это может быть поздно, но на будущее,

я столкнулся с теми же ошибками при попытке нарисовать простую линию над пустым узлом (960 х 460). После 30 минут разочарования я обнаружил, что есть внутренний _sgNode, который, очевидно, делает трюк. Это не может быть лучшим решением, поскольку это внутренний объект и может измениться ...

Так что в вашем случае временная работа вокруг будет получить доступ к исходному узлу, используя

this.gameArea._sgNode.addChild(backgroundLayer) 

Я надеюсь, что это помогает

Смежные вопросы