本系列学习教程使用的是cocos2d-x-2.1.4(最新版为cocos2d-x-2.1.5)
博主发现前两个系列的学习教程被严重抄袭,在这里呼吁大家请尊重开发者的劳动成果,
转载的时候请务必注明出处:http://blog.csdn.net/yangyu20121224/article/details/11748575
不好意思,让大家久等了,这几天公司的事情也是比较的多,也请大家见谅。在这里
博主向大家承诺,只要有时间,一到两天就会更新一次。好的,话不多说,马上开始
今天的主题——菜单按钮的创建。
一、项目编码
这一期的内容比较简单,但是博主在查找和调式图片上花了点的时间,编写的代码倒是没有多少,主要是在
StartScene类中添加代码。
1、StartScene.h头文件。
#ifndef __FishingJoy__StartScene__
#define __FishingJoy__StartScene__
#include "cocos2d.h"
USING_NS_CC;
class StartLayer : public cocos2d::CCLayer
{
public:
static CCScene* scene();
bool init();
void start_callback(CCObject* pSender);
void scene_callback(CCObject* pSender);
CREATE_FUNC(StartLayer);
};
#endif
在这个头文件中,我们主要添加了两个点击菜单按钮事件的回调方法。
2、StartScene.cpp文件。
<1> 首先我们需要在init函数中添加如下所示的代码,这段代码就是开始场景中菜单按钮的创建。
//加入plist文件
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(STATIC_DATA_STRING("StartScene_Texture"));
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(STATIC_DATA_STRING("Button_Texture"));
//创建“开始游戏”和“选择场景”按钮
CCMenuItemSprite* startBt = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName(STATIC_DATA_STRING("start_normal")), CCSprite::createWithSpriteFrameName(STATIC_DATA_STRING("start_selected")), this,menu_selector(StartLayer::start_callback));
CCMenuItemSprite* sceneBt = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName(STATIC_DATA_STRING("scene_normal")), CCSprite::createWithSpriteFrameName(STATIC_DATA_STRING("scene_selected")), this,menu_selector(StartLayer::scene_callback));
//创建菜单并添加按钮
CCMenu* menu = CCMenu::create(startBt, sceneBt, NULL);
//设置菜单的位置
menu->setPosition(CCPointMake(winSize.width * 0.5, winSize.height * 0.3 - 15));
//设置菜单间按钮的间距
menu->alignItemsVerticallyWithPadding( 30 );
//添加菜单至图层中
this->addChild(menu);
//利用帧缓存创建精灵
//创建“开始游戏”和“选择场景”图片精灵
CCSprite * start = CCSprite::createWithSpriteFrameName(STATIC_DATA_STRING("start"));
CCSprite * scene = CCSprite::createWithSpriteFrameName(STATIC_DATA_STRING("scene"));
//设置图片精灵的位置
start->setPosition(CCPointMake(winSize.width * 0.5,winSize.height * 0.3 + 25));
scene->setPosition(CCPointMake(winSize.width * 0.5,winSize.height * 0.2 - 35));
//添加图片精灵
this->addChild(start);
this->addChild(scene);
<2> 然后在添加两个回调函数start_callback和scene_callback,这里我们先打印Log。
void StartLayer::start_callback(CCObject* pSender){
CCLOG( "start game");
}
void StartLayer::scene_callback(CCObject* pSender){
CCLOG( "select scene");
}
<3> 可以查看打印Log日志的结果如下图所示。
3、最后别忘了在static_data.plist文件中添加读取图片的路径,否则程序会报异常。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>default_gold</key>
<string>200</string>
<key>title</key>
<string>title.png</string>
<key>background</key>
<string>background.png</string>
<key>StartScene_Texture</key>
<string>StartScene.plist</string>
<key>start_normal</key>
<string>ui_button_box02_02.png</string>
<key>start_selected</key>
<string>ui_button_box02_01.png</string>
<key>scene_normal</key>
<string>ui_button_box01_02.png</string>
<key>scene_selected</key>
<string>ui_button_box01_01.png</string>
<key>Button_Texture</key>
<string>Button.plist</string>
<key>start</key>
<string>ui_2p_010.png</string>
<key>scene</key>
<string>button_other_014.png</string>
</dict>
</plist>
4、运行效果图。
好的,这一期正如大家所见,编写的代码也是非常的简单,但是大家可能不知道,这个调试的过程一点都不
简单。下一期博主会给大家带来进度条场景的创建。
源码下载地址(百度云)
分享到:
相关推荐
9、【cocos2d-x IOS游戏开发-捕鱼达人9】鱼与动画 资源引用页: 10、【cocos2d-x IOS游戏开发-捕鱼达人10】鱼的产生和移动 资源引用页: 11、【cocos2d-x IOS游戏开发-捕鱼达人11】鱼的产生和移动:完善 资源引用页...
6、【cocos2d-x IOS游戏开发-捕鱼达人6】实现开始菜单 资源引用页: 7、【cocos2d-x IOS游戏开发-捕鱼达人7】游戏场景基础实现 资源引用页: 8、【cocos2d-x IOS游戏开发-捕鱼达人8】游戏中的配置文件 资源引用页:
资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...
【Cocos2d-X游戏实战开发】捕鱼达人之开始场景的创建(三)源码 教程地址:http://blog.csdn.net/yangyu20121224/article/details/11397899
精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发
资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...
本光盘是《Cocos2d-x游戏开发实战精解》一书的配书光盘,内容介绍如下。 (1)本书教学视频:该文件夹收录了本书的配套多媒体教学视频,可用暴风影音等视频播放器播放。 (2)本书源文件:该文件夹收录了本书涉及...
【Cocos2d-X游戏实战开发】捕鱼达人之单例对象的设计(二)源码 教程地址:http://blog.csdn.net/yangyu20121224/article/details/11180135
书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关知识点。此外,书中的教学资源获得《捕鱼达人》手机游戏的授权,读者可以从一流游戏开发中高起点地...
资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...
Cocos2d-x高级开发教程:制作自己的《捕鱼达人》 图书简介: 《Cocos2d-x高级开发教程:制作自己的《捕鱼达人》》是国内第一本全面深入讲解Cocos2d-x进阶内容的图书,Cocos2d-x创始人王哲作序推荐,《捕鱼达人》开发...
Cocos2d-x 3.x游戏开发实战pdf含目录,内容详细,强烈推荐给大家。
【cocos2d-x IOS游戏开发-捕鱼达人14】炮弹切换界面 【cocos2d-x IOS游戏开发-捕鱼达人15】炮弹攻击效果1 【cocos2d-x IOS游戏开发-捕鱼达人16】炮弹攻击效果2 【cocos2d-x IOS游戏开发-捕鱼达人17】炮弹攻击判定
《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...
精通Cocos2d-x游戏开发(进阶卷)源代码 精通Cocos2d-x游戏开发(进阶卷)源代码 精通Cocos2d-x游戏开发(进阶卷)源代码
Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签
cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...
cocos2d-x2.25引擎建立的捕鱼达人,参照了《Cocos2d-x高级开发教程:制作自己的〈捕鱼达人〉》一书并做了改动。将代码导入cocos2d的projects文件夹内自创的工程文件夹里的proj.win32文件夹,resoutses则放在对应工程...
Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎
Cocos2d-x项目实战-射击类游戏-迷失航线,版本是Cocos2d-x-3.2