cocos2d-x教程1 hello world
HelloworldScene.h
#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__
#include "cocos2d.h"
class HelloWorld :public cocos2d::CCLayer
{
public:
//初始化函数
virtual bool init();
//静态创建函数
static cocos2d::CCScene* scene();
//menu菜单的一个回调函数
void menuCloseCallback(CCObject* pSender);
//备注1
CREATE_FUNC(HelloWorld);
};
#endif // __HELLOWORLD_SCENE_H__
HelloWorldScene.cpp
#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
usingnamespace cocos2d;
usingnamespace CocosDenshion;
CCScene* HelloWorld::scene()
{
//创建一个场景对象
CCScene *scene = CCScene::create();
//创建一个HelloWorld对象(Layer层)
HelloWorld *layer =HelloWorld::create();
//将层作为场景的孩子放入场景中
scene->addChild(layer);
return scene;
}
// on "init" you need to initialize your instance
boolHelloWorld::init()
{
//先调用父类初始化函数
if ( !CCLayer::init() )
{
return false;
}
//将一个“X”形状的图片创建成一个图片菜单项,
//并将用户点击后的回调函数绑定在menuCloseCallback函数上
CCMenuItemImage *pCloseItem =CCMenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
this,
menu_selector(HelloWorld::menuCloseCallback) );
//设置菜单项的位置
pCloseItem->, ) );
//将已经创建好的菜单项加入菜单中,生成一个菜单Menu对象实例
CCMenu* pMenu = CCMenu::create(pCloseItem,NULL);
//设置菜单作为 CCPointZero:x=0,y=0
pMenu->setPosition(CCPointZero );
//将菜单加入当前Layer中,并且设置z轴为1
);
//创建一个文本对象
);
//获取当前设备尺寸,
CCSize size =CCDirector::sharedDirector()->getWinSize();
//设置文本坐标
pLabel->, size.) );
//将文本添加到当前Layer中
);
//利用 HelloWorld.png图片创建一个精灵
CCSprite* pSprite = CCSprite::create("HelloWorld.png");
//设置精灵位置
pSprite->, size.) );
//将精灵放置当前layer中
);
return true;
}
voidHelloWorld::menuCloseCallback(CCObject* pSender)
{
//程序退出
CCDirector::sharedDirector()->end();
//判定当前设备是否为ios设备
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
);
#endif
}
cocos2d-x教程1 hello world的更多相关文章
- 【Cocos2d入门教程六】Cocos2d-x事件篇之触摸
Cocos游戏当中产生一个事件时,可以有多个对象在监听该事件,所以有优先级(Priority).优先级越高(Priority值越小),事件响应越靠前. 关系图: 新 事件分发机制:在2.x 版本事件处 ...
- 【Cocos2d入门教程四】Cocos2d-x菜单篇
游戏世界多姿多彩,无论多靓丽的游戏,多耐玩的游戏,在与游戏用户交互上的往往是菜单. 上一章我们已经大概了解了导演.节点.层.精灵.这一章以菜单为主题. 菜单(Menu)包含以下内容: 1.精灵菜单项( ...
- 【Cocos2d入门教程三】HelloWorld之一目了然
什么程序都是从HelloWorld先开始.同样Cocos2d-x我们先从HelloWorld进行下手.下面是HelloWorld的运行完成图: 建立好的Cocos游戏项目中会有两个比较常用接触的文件夹 ...
- 【Cocos2d入门教程八】浅析Cocoss2d下的音频引擎及封装音频类
Cocos2d-x提供了一个音频CocosDenshion引擎,CocosDenshion引擎可以独立于Cocos2d-x单独使用,CocosDenshion引擎本质上封装了OpenAL音频处理库.具 ...
- 【Cocos2d入门教程七】三分钟看懂Cocos2d坐标系
无论是搞2d还是3d开发,最需要搞清楚的就是坐标系,这部分混乱的话就没啥搞头了.所以玩cocos2d,一上来就需要先把各种与坐标有关的东西搞清楚. 1.OpenGL坐标系 Cocos2d-x使用的是O ...
- 【Cocos2d入门教程二】Cocos2d-x基础篇
上一章已经学习了环境的搭建.这一章对基础概念进行掌握.内容大概有: 1.导演 2.场景 3.节点 4.层 4.精灵 1.导演(Director) 导演存在的主要作用: a.环境设定(帧率 初始化ope ...
- 【Cocos2d入门教程五】Cocos2d-x动作篇
动作类(Action)是所有动作的基类,它创建的一个对象代表一个动作.动作作用于Node,包括继承于之下的Layer.Sprite.因此每个动作 都需要由Node对象或者其继承者执行.动作类(Acti ...
- iPhone开发与cocos2d 经验谈
转CSDN jilongliang : 首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE.开发框架uikit,还有开 ...
- 在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作 ...
- ios游戏开发 Sprite Kit教程:初学者 1
注:本文译自Sprite Kit Tutorial for Beginners 目录 Sprite Kit的优点和缺点 Sprite Kit vs Cocos2D-iPhone vs Cocos2D- ...
随机推荐
- [Leetcode][Python]33: Search in Rotated Sorted Array
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 33: Search in Rotated Sorted Arrayhttps ...
- centos6.5vpn搭建
centos6.5vpn搭建整个搭建流程,服务端,客户端安装及测试. 达到的效果: 在安装vpn客户端的机器可通过vpn(virtual private network)专用线路(vpn主配置文件中定 ...
- ThreadPool.QueueUserWorkItem的性能问题
在WEB开发中,为了降低页面等待时间提高用户体验,我们往往会把一些浪费时间的操作放到新线程中在后台执行. 简单的实现代码就是: //代码一 new Thread(()=>{ //do somet ...
- .NET中TextBox控件设置ReadOnly=true后台取不到值 三种解决方法
方法一:不设置ReadOnly属性,通过onfocus=this.blur()来模拟,如下: <asp:TextBox ID="TextBox1" runat="s ...
- EasyUI中datagrid实现显示、增加、 删除、 修改、 查询操作(后台代码C#)
菜鸟进入,高手请绕道! +++++++++++++++++++++++++++++++++++++++ 一.数据的显示 1新建HtmlPage2.html页面,引入相关文件.如下所示 <scri ...
- JavaScript之面向对象学九(原型式继承和寄生式继承)
一.原型式继承 该继承模式是由道格拉斯*克罗克福德在2006年提出的实现继承的方法. 模式的基本思路:借助原型可以基于已有的对象创建新的对象,同时还不必因此创建自定义类型. 代码如下: functio ...
- 【android】两个按钮的宽度各占屏幕的一半
<LinearLayout> <Button android:layout_height="wrap_content" android:layout_width= ...
- jquery ajax 在ie7不能正常使用
jquery ajax结构不规范到时再ie8以下的用户不能正常使用.比如[1,2,].{1,2,},结构内部的最后不能有“,”.
- 浏览器中输入Google.com然后按下回车键
按下回车键,当然会产生操作系统的中断响应,产生一个WM_KEYDOWN消息,当然这些都不是计算机网络的东西,这里只讨论计算机网络相关的东西: 解析URL 浏览器通过URL能够知道下面的信息: Prot ...
- CSS3 Media Query
在移动端火爆的今日,一个好的web应用不仅仅要有对应移动平台的APP,自己web网页也需要对不同屏幕大小的移动设备进行支持,也就是我们所说的响应式web页面. 本篇文章就来介绍下最常见的响应式页面的实 ...