目的:了解下cocos中Menu的用法
图解:
代码片段:
bool HelloWorld::init()
{
if ( !Layer::init() ) //继承Layer,必须先初始化基类Layer
{
return false;
}
.......
......
MenuItemImage *closeItem = MenuItemImage::create("CloseNormal.png", "CloseNormal.png", this, menu_selector(HelloWorld::menuCloseCallback));
//closeItem->setPosition(Vec2(200,200));
Label *label = Label::create("xiaogang", "Arial", 20);
MenuItemLabel *ilabel = MenuItemLabel::create(label);
ilabel->setPosition(Vec2(100, 100));
Menu *menu = Menu::create(closeItem,ilabel, NULL);
menu->setPosition(Point(100,100));
addChild(menu,1);
return true;
}
****************************************************************************************************************************************************
额外笔记:
Ref:cocos2d-x 引擎的基类,大部分类都继承它
Node:拥有简单功能类,特别是update函数的调用
Layer:继承Node,拥有多功能的类,特别是屏幕触摸监听
Cocos2d-x有一套自己的内存管理方式,如果不想自己处理对象的释放,就让类继承Ref,并调用autorelease 函数
//声音控制
#include "SimpleAudioEngine.h"
//播放长音乐 如背景
CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("*.mp3", true);
//播放短音乐 如打斗声音
CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("*.wav");