我们在开始玩一个游戏时,通常要做的第一件事就是注册账号,下面就让我们来制作一个简单的注册场景,我所使用的cocos2dx版本为2.2.2 在这个场景中最主要的元素就是输入框和按钮,我从网上找了一些素材(也有自己P的),样子不太好看,但是最终的效果都是一样的. 在这个场景中,元素的摆放和按钮的功能都比较简单,唯一有些困难的就是输入框.在cocos2dx2.2.2中输入框可以使用CCTextFieldTTF和CCEditBox来实现,我们这里使用的是CCEditBox. 下面我们先来看看这个注册场景…
公司现在开新项目,主题的框架部分都是我自己在做,不用受到别人的牵制,所以还算是比较的自由,很好发挥. 游戏并不大,所以需要用到的地方并不多.今天花了一些时间写了场景entity管理的部分代码,还没有完全的完善. 我的思路是这样的, entity manager提供注册一个update( dt )的帧频回调事件, 在每一次回调的时候都会遍历管理的所有的entity,调用entity的update( dt )帧频回调.何为帧频回调?我解释一下,cocos2d-x在c++那边是可以重写onDraw()…
在多个场景切换时候,场景的生命周期会更加复杂.这一节我们介绍一下场景切换生命周期. 多个场景切换时候分为几种情况: 情况1,使用pushScene函数从实现HelloWorld场景进入Setting场景. 情况2,使用replaceScene函数实现从HelloWorld场景进入Setting场景. 情况3,使用popScene函数从实现Setting场景回到HelloWorld场景. 我们参考HelloWorld重写Setting层的中几个生命周期函数,代码如下: bool Setting::…
今天开始学习Cocos2d-x,使用的版本是2.1.4,这个版本比较老,对应的参考资料也比较齐全. 在mac/xcode环境下,代码是写在Classes文件夹下的,和iOS应用类似,程序从AppDelegate.cpp开始,这当中也有一些生命周期方法,其中有一个 applicationDidFinishLaunching方法: bool AppDelegate::applicationDidFinishLaunching() { // 创建一个导演类 CCDirector *pDirector…
bool HelloWorld::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); auto background=Sprite::create("Saloon (5).png"); ba…
在多个场景切换时候,场景的生命周期会更加复杂.这一节我们介绍一下场景切换生命周期. 多个场景切换时候分为几种情况: 情况1,使用pushScene函数从实现HelloWorld场景进入Setting场景. 情况2,使用replaceScene函数实现从HelloWorld场景进入Setting场景. 情况3,使用popScene函数从实现Setting场景回到HelloWorld场景. 我们参考HelloWorld重写Setting层的中几个生命周期函数,代码如下: bool Setting::…
首先创建两个layer,以下是头文件 #pragma once#include "cocos2d.h"USING_NS_CC;class BackgroundLayer : public cocos2d::CCLayer{public: virtual bool init(); CREATE_FUNC(BackgroundLayer);}; #pragma once#include "cocos2d.h"USING_NS_CC;class FishLayer : p…
 1 加入场景切换效果 供场景切换的类: CCTransitionJumpZoom CCTransitionProgressRadialCCW CCTransitionProgressRadialCW CCTransitionProgressHorizontal CCTransitionProgressVertical CCTransitionProgressInOut CCTransitionProgressOutIn CCTransitionCrossFade CCTransitionF…
第一屏必须: auto scene = GameMenu::createScene(); director->runWithScene(scene); 然后是主场景: auto scene = MainScene::createScene(); Director::getInstance()->replaceScene(scene); 再回来第一屏: auto scene = GameMenu::createScene();director->replaceScene(scene); 结…
本文转载自:http://www.cnblogs.com/linux-ios/archive/2013/04/09/3010779.html bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSize size = CCDirector::sharedDirector()->getWinSize();…