I wasn't using Box2d. It's probably also worth mentioning I didn't use text on the buttons either. But that shouldn't affect the buttons draw() method.
That's how my init() looks like
init: function() {
ig.input.bind( ig.KEY.LEFT_ARROW, 'left' );
ig.input.bind( ig.KEY.RIGHT_ARROW, 'right' );
ig.input.bind( ig.KEY.UP_ARROW, 'up' );
ig.input.bind( ig.KEY.DOWN_ARROW, 'down' );
ig.input.bind( ig.KEY.ENTER, 'restart' );
ig.input.bind( ig.KEY.MOUSE1, 'click' );
this.loadLevel(LevelLanguageselect);
//English
this.spawnEntity( Button, 140, 140);
//Spanish
this.spawnEntity( Button, 260, 140, {
language: 'spanish',
animSheet: new ig.AnimationSheet( 'media/spanish.png', 107, 68 ),
});
//French
this.spawnEntity( Button, 380, 140, {
language: 'french',
animSheet: new ig.AnimationSheet( 'media/french.png', 107, 68 ),
});
//German
this.spawnEntity( Button, 140, 220, {
language: 'german',
animSheet: new ig.AnimationSheet( 'media/german.png', 107, 68 ),
});
//Russian
this.spawnEntity( Button, 260, 220, {
language: 'russian',
animSheet: new ig.AnimationSheet( 'media/russian.png', 107, 68 ),
});
//Portuguese
this.spawnEntity( Button, 380, 220, {
language: 'portuguese',
animSheet: new ig.AnimationSheet( 'media/portuguese.png', 107, 68 ),
});
//Arabian
this.spawnEntity( Button, 200, 300, {
language: 'arab',
animSheet: new ig.AnimationSheet( 'media/arab.png', 107, 68 ),
});
//Estonian
this.spawnEntity( Button, 320, 300, {
language: 'estonian',
animSheet: new ig.AnimationSheet( 'media/estonian.png', 107, 68 ),
});
this.initializeTranslations();
},