내가하고있는 게임에 대한 시간 제한자가 있습니다. 현재 내가하고있는 일은 초기 값을 사용하고 프레임 업데이트 당 하나의 값을 차감하고 있습니다. 여기에 코드입니다 : 지금게임을위한 타이머를 만드는 가장 좋은 방법
- (void) gameTime {
fullTime = fullTime - 1;
NSLog(@"%i", fullTime);
float xScale = 10 * fullTime/4000;
//_game.timerGraphic.scaleX = 10;
//[_game.timerGraphic setScaleX:10];
[_game.timerGraphic setScaleX:xScale];
}
문제 timerGraphic
가 CCSprite
이고, 나는 ScaleX
를 업데이트 할 때 내가이 부드러운을하고 "타이머의 크기를 조정할 수있는 절대 값이, 어쨌든이 그 않는 일을 나던이다 "더 매끄러운 방법으로?
안녕하십니까. 답장을 보내 주셔서 감사합니다.하지만 이제는 문제를 발견했습니다. float를 사용하여 크기를 조정하려는 경우, '1.5f'와 같이 끝 부분에 'f'를 사용해야합니다. 내 예제는 그 일이 일어나지 않는, 그 대신에'1.5'을하고 !!! 내가 어떻게 할 수 있는지 말해 줄 수있어? – ahoura
여기가 당신 문제라고 생각하지 않습니다. 십진법 리터럴의 끝에'f'를 두는 것은 그 숫자를 명시 적으로'double' 대신에'float' (소수점 리터럴의 경우 objective-c의 기본값)로 지정하기 만하면됩니다. 사실은 'fullTime/4000'이 부동 소수점 나누기 대신 정수 나누기를 수행하는 곳입니다. '(float) 10.0 * fullTime/4000.0'을 써서 고칠 수 있습니다. 그래도 애니메이션 코드는 가능한 한 매끄럽지 않을 프레임 속도에 의존합니다. – Sean
덕분에, 코드가 실제로 작동하지만, 애니메이션을 사용하지 못한다는 것을 알고 있습니다. 다른 것들은'runAction'을 사용했습니다.하지만 저는 runAction으로 이것을 어떻게 수행 할 것인가에 대해 머리를 알지 못합니다. 현재 코드는 세미 부드러운 애니메이션을가집니다. 그것에. 하나의 마지막 질문 인 ScaleX가 양측이 아닌 스프라이트의 한면에서/setScaleX 크기를 조정할 수 있습니까? (현재 코드는 이미지를 양쪽에서 확장합니다) – ahoura