auto b = Sprite::create("ball.png");
b->setPhysicsBody(PhysicsBody::createBox(b->getContentSize()));
b->cocos2d::Node::setPosition(positionX, positionY);
addChild(b);
百度cocos计时器
计时器我试了
this->scheduleOnce(schedule_selector(HelloWorld::oneUpdate), 3.0f);
他是调用函数但是我不知道怎么在别的函数中删掉我这个函数里的sprite,求教
把精灵保存起来啊,不就能在别的函数里访问了。在.h文件里Sprite *p;
然后你创建这个精灵的时候this->p=你创建的精灵。
。h里如果报错就是没包含命名空间。认不到sprite。包涵下就好
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = (Touch *t, Event *){
this->addBall(t->getLocation());
return false;
};
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);
我这里是鼠标点击一次创建一个小球,我用了你教的方法成功实现了创建出小球后x秒后删除,但是发现如果连续点击鼠标连续创建出小球,x秒后他只删掉最后创建出的小球,是不是计时器只能存在一个,这该如何是好,能否加个QQ
和计时器无关啊,计时器每帧都会触发一次。是因为你。h的精灵指针只能保存一个精灵啊。你在创建一个精灵,指针就指向你新创建的精灵了,旧的就找不到了。你如果要连续点击的话,就需要一个链表把你创建的所有精灵都保存起来。这才能保证每个精灵都能访问到啊
顺序动作;里面包含延时动作,removeself动作(或回调动作)。
建议把cocos里面的动作系统的看一遍。cpptest里面有。
3.8+的关键提示。
Sequence,DelayTime,RemoveSelf(或者CallFuncN)。
action或者延时函数都行的