cocos2d-x基础1
来源:互联网 发布:大数据风控模型 编辑:程序博客网 时间:2024/05/19 21:16
1,cocos2d内存管理机制
某一个对象,A代码对其应用,引用基数++,B代码对其释放,引用基数--;这样就可以方便的统计
代码对某一个对象引用了多少次,每一个代码用某个对象,他的基数++;当所有的代码都不适用的
时候它的referenceconunt= 0;就会删除该对象;当某一个对象调用autorelase();方法时,他会把当前的
对象放到一个自动释放的池里,该池会在每一个绘图生命周期结束(一帧绘图结束)的时候会获取到池中所有的对象并自动释放对象一次,建议永远不要用delete obj,因为不知道是否有其他的对象引用该对象,造成系统的崩溃;一般使用了某个对象时写obj->retain(),在对象使用完毕后释放写obj->release();也可以在对象new了之后就调用obj->autorelease();方法,它会当前绘图周期结束release();如果这时依然没有代码引用该对象,那么他就会被删除!
2,自定义Sprite的创建
Ball.h
#include <iostream>
#include<cocos2d.h>
Using namespace std;
Class Ball:public Sprite{
Public:
Virtualbool init();
CREATE_FUNCK(Ball);
}
Ball.cpp
#include ball.h
Bool Ball::init(){
initWithFile(“xx.png”);//调用父类的初始化的方法
return true;
}
3,自定义场景
#include "cocos2d.h"
using namespace cocos2d;
class HelpScene:public cocos2d::Layer
{
public:
//这里init和CREATE_FUNCK是约定俗称的方法,集合每一个对象初始化都需要,然后就是自定义的方法
//在.h头文件里面声明,在.cpp文件里面定义
bool init();
CREATE_FUNC(HelpScene);<==>
StaticBall * create(){Ball * b = new Ball();b->init();b->atuorelase();return b;};
static Scene * createScene();
};
3.2自定义的cpp文件
#include "HelpScene.h"
#include "HelloWorldScene.h"
//对init方法的实现
bool HelpScene::init(){
if(!Layer::init()){
return false;
}
auto spbk = Sprite::create("help.png");
spbk->setPosition(Point::ZERO);
spbk->setAnchorPoint(Point::ZERO);
this->addChild(spbk);
//在该场景初始化的时候就注册了点击和滑动屏幕的事件
EventListenerTouchOneByOne * touch = EventListenerTouchOneByOne::create();
touch->onTouchBegan=[](Touch *touch,Event * event){
return true;
};
touch->onTouchMoved=[](Touch *touch,Event * event){
Director::getInstance()->replaceScene(HelloWorld::createScene());
};
_eventDispatcher->addEventListenerWithSceneGraphPriority(touch,this);
return true;
}
Scene * HelpScene::createScene(){
//helloWorld本来是一个层,它需要创建一个场景,导演运行场景,场景添加层layer,layer添加sprite
auto scene = Scene::create();
auto layer = HelpScene::create();//就调用CREATE_FUNCK方法,然后在调用init()初始化的方法
scene->addChild(layer);
return scene;
}
- cocos2d-x基础1
- Cocos2d-x基础实例1-放置精灵
- Cocos2d-x基础示例-精灵移动1
- cocos2d-x基础<二>
- Cocos2d-x基础:CCObject
- Cocos2d-x基础:CCNode
- cocos2d-x基础.
- cocos2d-x基础
- cocos2d-x 基础回想
- cocos2d-x/C++ 基础
- Cocos2d-X 基础入门
- 【Cocos2d-x】开发基础-Cocos2d-x坐标系
- 【Cocos2d入门教程二】Cocos2d-x基础篇
- cocos2d-x基础<四> Action
- Cocos2d-x热门基础技术
- 【基础】Cocos2d-x 内存管理机制
- cocos2d-x-3.6最新基础
- 1、Cocos2d-x读书笔记( 基础讲解,以及内存管理机制)
- java冒泡排序(从小到大、从大到小)
- 论证是一门学问 如何让你的观点有说服力-8 规则8 使用有代表性的例子
- 标准C预处理器(指令)
- 炼数成金-数据分析展现与R语言15周完整版
- Netty 基本使用,比Mina要稳定的多。
- cocos2d-x基础1
- 黑洞数问题
- Unity NGUI 使用经验
- lua面向对象编程之点号与冒号的差异详细比较
- ——Diary1(Java基础——概述)
- 读《Android开发精要》
- 数据结构栈问题求助
- 《千与千寻》给读者带来了什么?
- Unity反射材质制作——镜中花,水中月,但是非镜面效果哟