public virtual bool onTextFieldDeleteBackward(CCTextFieldTTF pSender, string delText, int nLen) { // create a delete text sprite and do some action CCLabelTTF label = CCLabelTTF.labelWithString(delText, TextInputTestScene.FONT_NAME, TextInputTestScene.FONT_SIZE); this.addChild(label); // move the sprite to fly out CCPoint beginPos = pSender.position; CCSize textfieldSize = pSender.contentSize; CCSize labelSize = label.contentSize; beginPos.x += (textfieldSize.width - labelSize.width) / 2.0f; int RAND_MAX = 32767; Random rand = new Random(); CCSize winSize = CCDirector.sharedDirector().getWinSize(); CCPoint endPos = new CCPoint(-winSize.width / 4.0f, winSize.height * (0.5f + (float)rand.Next() / (2.0f * RAND_MAX))); float duration = 1; float rotateDuration = 0.2f; int repeatTime = 5; label.position = beginPos; CCAction seq = CCSequence.actions( CCSpawn.actions( CCMoveTo.actionWithDuration(duration, endPos), CCRepeat.actionWithAction( CCRotateBy.actionWithDuration(rotateDuration, (rand.Next() % 2 > 0) ? 360 : -360), (uint)repeatTime), CCFadeOut.actionWithDuration(duration)), CCCallFuncN.actionWithTarget(this, callbackRemoveNodeWhenDidAction)); label.runAction(seq); return(false); }
public override CCFiniteTimeAction reverse() { return(CCRepeat.actionWithAction(this.m_pInnerAction.reverse(), this.m_uTimes)); }