문제

나는 게임을 만들기 위해 코코아를 사용하고 있습니다.나는 그것이 아마도 간단하다는 것을 알고 있지만 프로그래밍 방식으로 스프라이트 이미지를 변경할 수있는 방법이 있습니까?

나는 영웅 스프라이트 객체를 만든 다음 스프라이트 빌더를 사용하여 메인 장면으로 드래그했습니다.

궁극적으로 영웅 스프라이트 객체를 애니메이션(이동)하는 다른 이미지로 변경하고 싶습니다.

도움이 되었습니까?

해결책

당신은"파일"이미지를 변경하는 것에 대해 물었지만,나는 당신이"파일"이미지를 의미한다고 가정합니다.그렇다면 먼저 스프라이트 프레임을 만든 다음 스프라이트에 할당하여 스프라이트 이미지를 변경할 수 있습니다:

CCSpriteFrame * frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"NameOfFrame"];
[mySprite setDisplayFrame:frame];

이 작업을 수행하려면 참조하는 이미지가 이미 스프라이트 시트를 통해 메모리에 로드되어야 합니다:

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"SpriteSheetFileName.plist"];

당신은 애니메이션을 언급했다.스프라이트에 애니메이션을 적용하려고 할 때 모든 이미지가 메모리에 로드되고 해당 이미지에 추가된 순차 번호를 제외하고 이름이 같으면 스프라이트가 이러한 이미지를 통해 이동하여 다음과 같이 애니메이션을 적용할 수 있습니다:

NSString * animateCycle = [NSString stringWithFormat:@"ImageName 00%%02d.png"];

이미지 이름은"이미지 이름 0001"과 같은 것입니다."이미지 이름 0002."라고 적혀있죠.

CCActionInterval * action = [CCAnimate actionWithSpriteSequence:animateCycle numFrames:8 delay:.1 restoreOriginalFrame:YES];
[mySprite runAction:action];

이것은 지정된 지연에 따라 이미지를 순환합니다.

나는 이것이 도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top