典型的一个类对另一个类对象声明,数据交换的实例

来源:互联网 发布:linux运维工程师 编辑:程序博客网 时间:2024/06/03 18:47

以扑克游戏为例,声明GameScene:public CCLayer类和Poker:public Sprite类,

在GameScene中声明     CC_SYNTHESIZE(CCArray*,m_arrPlayerOut,ArrPlayerOut);//玩家选的要出的牌

在GameScene的构造函数中    m_arrPlayerOut=CCArray::create();         m_arrPlayerOut->retain();

用Poker创建54张牌,每张牌都是一个Poker对象,要实现每点击一张牌,就把该对象加入m_arrPlayerOut

在Poker中声明                 CC_SYNTHESIZE(GameScene*,m_gameMain,GameMain);

在Poker的onTouchBegan事件中:

this->m_isSelect=true;//选中状态
this->setPosition(getPositionX(),getPositionY()+10);
m_gameMain->getArrPlayerOut()->addObject(this);//把该对象加入m_arrPlayerOut
m_gameMain->PlayerOutPaiXu(m_gameMain->getArrPlayerOut());

点击不同牌,this发生变化,m_gameMain的地址不变化

0 0
原创粉丝点击