第一个项目(一)

时间:2021-09-20 13:35:47

今天我开始仿照书上的例子,写一个类似于天天酷跑的游戏,屏幕无线滚动,搞得好像主角在动一样,主角具有跳跃的功能,然后有金币可以吃,暂时能想到的就这么多,更多的功能在以后完善吧。

首先我要实现最开始的样子,主角要有,背景要有....

那么我就先实现这两个东西。

考虑到以后的金币和主角都是精灵,而且有很多一样的功能,干脆写一个基类,就叫Entity,我在这个类的H文件中声明了构造以及析构函数,绑定和获取精灵函数,声明一个m_sprite。

#ifndef _Entity_H
#define _Entity_H
#include "cocos2d.h"
USING_NS_CC;//这个后面要加分号
class Entity:CCNode
{
	Entity();
	~Entity();
	CCSprite* m_sprite;
	void bandSprite(CCSprite* sprite);
	CCSprite* getSprite();
}
#endif
当然USING_NS_CC这个宏定义的意义是用cocos2d的名字空间, 宏后面要加分号的,要么会飘红。

然后我开始写cpp文件,由于是基类,在构造里面上来就给m_sprite一个NULL;具体赋什么值看子类喽。析构先不写。绑定函数就是把传进来的值赋给m_sprite,然后添加到图层,get函数就是直接返回m_sprite就行。get函数之前要加上Entity::,要么就识别不出基类中的精灵了。注意写函数之前要写名字空间。

#include "Entity.h"
Entity::Entity()
{
	m_sprite=NULL;
}
Entity::~Entity()
{

}

void Entity::bandSprite(CCSprite* sprite)
{
	this->m_sprite=sprite;
	this->addChild(m_sprite);
}
CCSprite* Entity::getSprite()
{
	return m_sprite;
}
好困啊,明天写主角继承这个基类,然后显示到画布上,第一步就完成了。...