cocos2d-js Adding a Sprite to a Menu

563 Views Asked by At

I currently trying to write simple menu. So far i can add menu fonts to the menu, but when i try to add sprites, the sprites don't appear.

    var normalImage = new cc.Sprite.create(res.tv_png);
    var menuItem1 = new cc.MenuItemFont("Item1", hat);
    var menuItem2 = new cc.MenuItemFont("Item2", jacket);
    var item = cc.MenuItemSprite.create(normalImage);   
    var menu = new cc.Menu(menuItem1,menuItem2,item);
    menu.alignItemsVertically();
    this.addChild(menu); 
1

There are 1 best solutions below

0
musikov On

You don't see your sprite because MenuItemSprite constructor requires selected sprite to init itself. Also you better don't use new and create simultaneously. The create method is deprecated.

var normalImage = new cc.Sprite(res.tv_png);
var selectedImage = new cc.Sprite(res.tv_png);
var menuItem1 = new cc.MenuItemFont("Item1", hat);
var menuItem2 = new cc.MenuItemFont("Item2", jacket);
var item = new cc.MenuItemSprite(normalImage, selectedImage);   
var menu = new cc.Menu(menuItem1, menuItem2, item);
menu.alignItemsVertically();
this.addChild(menu);