我被困在为我的俄罗斯方块克隆实现一些 Cocos2D 动画(效果很好,没有逻辑错误,我只想在删除行时执行一些平滑的动画)。
当前代码(无动画)只是丢弃块位置,如下所示:
block.position = ccp(block.position.x, block.position.y - kBlockSize);
这发生在经典俄罗斯方块编程的 for 循环中。但是当我尝试制作动画时,像这样:
id move = [CCMoveBy actionWithDuration:0.5f position:(0, -kBlockSize)];
[block runAction:move];
有些块只向下移动一次,即使是艰难的动作也可能会为同一个块多次调用(例如,当打破多行时)......
为什么会这样?我知道这有点令人困惑,但关键是我正在做同样的事情并得到不同的结果......我可以发布更多代码来帮助澄清!
谢谢!