遇到问题集锦(记录5.15--6.1)——>零起点做起

A2013年05月15日10:12:40关于精灵的状态切换,例如超级玛丽,吃蘑菇长大个 小孩变成了 大人 怎么改变的 (期间还有逐渐变大效果,暂且不提)。

。。。。。。正在学习中,谁知道麻烦告诉我啦 

2013年05月15日11:55:57

OK 学习结束 终于找到方法嘞 好高兴 VERY HAPPY

初始化里:载入贴图集 

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("canimei-daoju_UntitledSheet.plist");

    

    CCSpriteBatchNode* batchMenu =CCSpriteBatchNode::create("canimei-daoju_UntitledSheet.png",50);

    

   addChild(batchMenu);

// 生成Sprite 

CCSprite *dian = CCSprite::createWithSpriteFrameName("xiaohai");  // 这里的xiaohai就是plist 文件key frames 下面每个对象所对应的名字

//需要更换图片时

CCSpriteFrame *frame=CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("大人");  

    zhujiao->setDisplayFrame(frame);  主角就是我们的CCSprite * zhujiao 要操作的那个精灵类


由此 吃蘑菇长大个  问题 解决一部分。

2013年05月15日12:03:53 到点了 吃饭喽  哇咔咔   

B 关于无敌方法。

声明 int 无敌; 初始化设为 无敌=0;//没有无敌状态——> 

碰到无敌对象后 添加无敌方法()-> 定义 无敌=1;//为无敌状态   在遇到对象时 当然是检测到碰撞的前提下,判断是否为 无敌 if 无敌=0 那就执行对对象操作(例如移除对象) if (无敌=1) {cclog"我是无敌我怕谁"} 但无敌不能一直进行下去(游戏,你懂的),

CCActionInterval* wait = CCDelayTime::create(10);

 CCCallFuncN * fun =CCCallFuncN::create(this,callfuncN_selector(YeZiScene::kaishi));

qiu->runAction(CCSequence::create(wait,fun,NULL)); 

等待10秒后 运行fun 方法 在回调方法( callfuncN_selector ( YeZiScene :: kaishi ))中 kaishi 设定 无敌=0;(即10秒后取消无敌状态)

C2013年05月15日15:08:13
杀敌--> 分数增加 
此功能如何实现?

D
return false是阻止默认行为的发生
一般是在函数内加return false;
比如if判断时
如果满足某条件时终止函数运行(后面还有代码)
这是就可以用return false; 而后面的代码将不再执行
举个更直观的例子帮助你理解

<a href="b.htm" οnclick="alert('c');return false;alert('d');">link</a>

return false 会终止事件执行  上例中  return false之前的alert('c')会执行 alert('d')不会执行  而且  连接也不会跳转.

return true;
脚本可以继续执行以后的所有脚本
return false; 
后面的脚本就不回执行
indexOf(aaa) == -1
就是在指定的字符串中没有指定的字符
E精灵 
头文件声明精灵类 例如

CCSprite* _ball;

初始化 加入精灵贴图集 (A中有),之后就是 调用key 创建精灵

x=..y=..

_ball = CCSprite::createWithSpriteFrameName("ball");

_ball->setPosition(ccp(x,y));

_ball->setTag(11);

this->addChild(_ball);

调用精灵时候需要通过tag获取精灵 

_ball = (CCSprite*)getChildByTag(11);


F怎样让for创建的所有精灵都移动?

我for创建了 5个精灵 初始化给了移动方法() 外部写有移动方法的定义 可是运行只有一个在动 错在哪里呢?

创建数组把ball加入数组

void (){

     for(int i = 0; i < _balls->count(); i++)

    {   

        CCSprite * _ball = (CCSprite*)_ciqius->objectAtIndex(i);

       

        X =rand() % 480;

        Y = rand() % 320;  


        float juli1= ccpDistance(_ciqiu->getPosition(), ccp(X,Y));

   

        float time1=juli1*1.0/sudu1;

    CCLog("==%f===%f===%f=",X,Y,time);

    CCActionInterval *action = CCMoveTo::create(time, ccp(X,Y));

    CCFiniteTimeAction* seq = CCCallFuncN::createthis,callfuncN_selector(PlayGameScene::b));


      

    _ciqiu->runActionCCSequence::create(action, seq, NULL) );

        }

}

void PlayGameScene::b(CCNode *sender)

{

    CCSprite *_ball = (CCSprite *)sender;

X =rand() % 480;

Y = rand() % 320;  


float juli= ccpDistance(_ball->getPosition(), ccp(X,Y));


float time=juli*1.0/sudu;

CCLog("ciqiuaction==%f===%f===%f===%f=%f",X1,Y1,time,juli,sudu);

CCActionInterval *action = CCMoveTo::create(time, ccp(X,Y));

CCFiniteTimeAction* seq = CCCallFuncN::createthis,callfuncN_selector(PlayGameScene::b));



_ball->runActionCCSequence::create(action,seq, NULL) );


}


}

注意初始化要定义sudu=?.

开始只写了 一个循环再执行本循环 结果进入了死循环 所以执行进入另一个方法中 

G 2013年05月18日16:19:16

好吧 上个问题依然没解决 

发现了一个新知识   看来没C++基础 真是坑爹

|| 表示逻辑上的“或者”
&& 表示逻辑上的“并且”

 if(_hongqiu ==NULL&&_lanqiu ==NULL&&_huangqiu==NULL)

   this->addqiu();

创建一个自定义时间间隔的定时器,时间间隔不能小于帧间隔

1 schedule(schedule_selector(HelloWorld::callFunc),1.5f);
2  
3 void HelloWorld::callFunc( float fDelay )
4 {
5     CCLog("callFunc %f",fDelay);
6 }

先1.0秒之后执行一次,再每1.5秒执行一次共5次(注:如果最后一个参数为0的话会1.5秒执行6次)

1 schedule(schedule_selector(HelloWorld::callFunc),1.5,5,1.0);
2  
3 void HelloWorld::callFunc( float fDelay )
4 {
5     CCLog("callFunc %f",fDelay);
6 }

I 新帮助:调试语句 cclog :
CCLog ( "function==%f===%f===%f===%f=%f" , X , Y ,time,juli, sudu ); //依次为 方法名 、 浮点类型 
tag 标记 值范围:0--999

J s格式字符 用来输入字符串

K  在触摸环境设置好后,别的精灵都可以碰到 而有一个碰不到?
解决:最后检查是因为 tag 没有设置好 写错。

L 已经在工具(cocosbuilder摆好)添加好的精灵加入数组 但是最后一个擦不去?for(i=0,i<=9,i++)  in tag = i +1;
解决:从0--9 10个 注意你的数组一共有10个 标记从1--10 
 
M 安卓编译
参照himi博文 终端写入 路径 ,安卓项目包jni里 修改路径 然后 biuld....  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-仅此而已

给我打赏的小哥哥小姐姐都好看

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值