테트리스 클론을위한 일부 Cocos2D 애니메이션을 구현하는 데 막혔습니다. (완벽하게 작동하고, 논리 오류가없고, 행을 삭제할 때 약간의 부드러운 애니메이션을 수행하려고합니다.) 이것은 고전 테트리스 프로그래밍 용 for 루프에서 발생CCMoveBy 동작
block.position = ccp(block.position.x, block.position.y - kBlockSize);
:
현재 코드는 (어떤 애니메이션) 막과 같이 블록 위치를 삭제하지 않는다. 나는 다음과 같이 애니메이션을 시도 할 때 :
id move = [CCMoveBy actionWithDuration:0.5f position:(0, -kBlockSize)];
[block runAction:move];
일부 블록은도 힘든 작업이 동일한 블록을 여러 번 호출 할 수 있습니다, 일단 아래로 이동 (예를 들어 하나 개 이상의 행을 깨는 경우) ...
왜 그런가? 나는 그것이 약간 혼란 스럽다는 것을 알고 있지만, 요점은 내가 똑같은 일을하고 있고 다른 결과를 얻고 있다는 것입니다 ... 나는 명확히하는 데 더 많은 코드를 게시 할 수 있습니다!
감사합니다.
당신은 id move = [CCMoveBy actionWithDuration : 0.5f position : (0, -kBlockSize)]를 입력 해 보았습니까? [block runAction : move]; 업데이트 메소드에서 항상 호출되고 있습니까? – Jonathan
CCMoveBy보다는 CCMoveTo를 사용하려고합니다. 이동이 완료되기 전에 여러 번 호출되는 경우 최종 MoveTo가 올바른 최종 위치로 이동합니다. – mbehan