2013-04-05 2 views
0

나는 처음에 5 명의 생명이 주어지는 PHP/mysql 서버가있는 IOS/cocos2d 게임을 가지고있다. 사용자는 모든 기기에서 Facebook 계정을 통해 게임을 즐길 수 있습니다.IOS Game - Life Regeneration

게임을 할 때마다 한 생명이 소모됩니다. 앱이 활성, 사임 또는 종료되는지 여부에 관계없이 라이브는 10 분마다 한 번 재생성됩니다.

나는 앱이 활성화되어있는 동안 NSTimer 또는 CCDelayTime을 사용하여 수명을 "재생성"할 수 있다고 생각하지만 앱이 최소화되거나 닫히는 동안 어떻게 지속시킬 수 있습니까? 이것을 서버 측에서 구현해야합니까?

답변

1

서버 측에서 구현해야합니까?

나는 당신이 두 가지 이유로 서버 측에서이를 처리해야한다고 생각 :

  1. 당신은 앱이 하나 이상의 장치에서 재생 될 수 있다고 말한다. 남은 수명 수는 기기가 재생되는 기기와 동일해야하며 따라서 고유 한 장소에 보관해야합니다.

  2. 또한 서버 측의 생명수를 유지하면 남은 생명을 로컬로 변경하여 사용자의 앱을 해킹하려고 시도하는 사용자가 사용자를 막을 수 없습니다.

+1

또한, 사용자는 항상 ==> 서버가 진실 : –

+0

@Davz 내가 어떻게 할 것을 보유해야 ==> 사용자가 자신이 원하는대로 삶을 다시 생성 할 수 있습니다 장치에 설정의 시간을 변경할 수 있습니다 이 서버쪽에? 나는 PHP/MySQL 서버가 있지만 백그라운드에서 '타이머'를 실행하는 방법을 모르겠다. – jyek

+1

내 질문에 대답 : 내 데이터베이스에서 last_update 및 time_to_next_update DateTime 변수를 만들어 구현했습니다. 그런 다음 추가 할 수명 = (경과 시간 - 시간 _ 갱신 전)/10 분 + 1입니다.이 방법을 사용하면 cronjob을 실행할 필요가 없습니다. 또한이 클래스를 수정하여 타이머를 사용하여 응용 프로그램에서 논리를 구현했습니다. http://stackoverflow.com/questions/3519562/how-do-i-write-a-timer-in-objective-c. 코드는 내 상황에 따라 매우 다르므로 아무 것도 게시하지 않았지만 사람들이이 문제를 구현하는 데 어려움을 겪는다면 질문에 답할 수있어서 기쁩니다. – jyek

1

수명 정보를 모든 장치에서 사용하려면 서버에 정보를 저장해야합니다. 단일 기기에서 데이터를 계속 유지하려는 경우 앱이 활성화되지 않은 경우에만 NSUserDefaults을 사용할 수 있습니다.

관련 문제