华容道05--关卡数据的显示

华容道05--关卡数据的显示,第1张

概述前面写了那么多,现在就是用前面信息的时候,把Level中的关卡显示出来。 首先,需要有一个关卡类的引用,这样才能得到我们想要的信息。 然后,需要一个Vector来存储RoleSprite。   代码: GameLayer.h private: Level * m_pLevel;//<关卡数据的引用 cocos2d::Vector<RoleSprite*> m_pRoleSpriteVec ;/

前面写了那么多,现在就是用前面信息的时候,把Level中的关卡显示出来。

首先,需要有一个关卡类的引用,这样才能得到我们想要的信息。

然后,需要一个Vector来存储RoleSprite

代码:

GameLayer.h

private:	Level * m_pLevel;//<关卡数据的引用	cocos2d::Vector<RoleSprite*> m_pRoleSpriteVec ;//<存储角色精灵


GameLayer.cpp

#include "RoleSprite.h"#include "data/Role.h"#include "data/Level.h"GameLayer::GameLayer()	:m_pLevel(nullptr){	m_pLevel = Level::s_levelVec.at(0) ;	CC_SAFE_RETAIN(m_pLevel) ;}GameLayer::~GameLayer(){	CC_SAFE_RELEASE_NulL(m_pLevel) ;}<p>bool GameLayer::init(){Size size = Director::getInstance()->getWinSize();auto bgSprite = Sprite::create("main_bg0.png") ;bgSprite->setposition(size.wIDth / 2,size.height / 2) ;addChild(bgSprite);</p><p>initMap() ;</p><p>return true ;}</p>voID GameLayer::initMap(){	Size size = Director::getInstance()->getWinSize();	float x = 0 ;	float y = 0 ;	float paddingleft   = 10.0f ;	float paddingBottom = 53.0f ;	for (unsigned i = 0 ; i < m_pLevel->getRoleID().size() ;i++)	{		Role * pRole = Role::s_roleVec.at(m_pLevel->getRoleID().at(i)) ;		Sprite * pp = Sprite::create(pRole->getimagename()->getCString());		int col = m_pLevel->getRolePos().at(i).x ;		int row = m_pLevel->getRolePos().at(i).y ;		x = paddingleft + col * 1.0f * 75.0f ;		y = paddingBottom + row * 1.0f * 75.0f ;		RoleSprite * pRoleSprite = RoleSprite::create(pRole,row,col,Rect(x,y,pp->getContentSize().wIDth,pp->getContentSize().height),this,this->getLocalZOrder()) ;		m_pRoleSpriteVec.pushBack(pRoleSprite) ;	}}

运行:

总结

以上是内存溢出为你收集整理的华容道05--关卡数据的显示全部内容,希望文章能够帮你解决华容道05--关卡数据的显示所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1054814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存