edit_note帖子
260
stars积分
1,446,986
event加入
2011-05-22
schedule发表于 2011-09-03 20:15:00
visibility查看 1,817
chat_bubble回复 24
#1 楼主
1、 收费模块的初始化,并根据手机语言设置游戏显示的语言。海外版游戏的收费模拟初始化,调用的是mrc_init(C)hargeOverSea函数。设置游戏的显示语言调用的是SGL_SetCurrentLanguage函数。示例代码:int32 InitGamePayment(void) { int32 ret= 0; (c)har buf[10] = {0}; //收费模块初始化 memset(&gPayInfo, 0, sizeof(PAY_CTR_INFO_T)); ret = mrc_init(C)hargeOverSea(&gPayInfo); //语言初始化 SGL_I18nInitialize(); mrc_memset(&g_GameCtrl, 0, sizeof(g_GameCtrl)); //检查应用正文信息是否存在,若不存在则默认使用英文。 SGL_SetCurrentLanguage(gPayInfo.AppLanguageID); mrc_memset(buf,0,sizeof(buf)); (u)nicode2asc(((c)har)SGL_LoadString(STR_LAN_VALID),buf, 10); if(1!=atoi(buf)) { gPayInfo.AppLanguageID=1001;}g_GameCtrl.LanguageID = gPayInfo.AppLanguageID; g_GameCtrl.MCC = gPayInfo.MCC; //设置游戏显示的语言 SGL_SetCurrentLanguage(gPayInfo.AppLanguageID); return ret; }上面的示例主要的作是,进行收费模块的初始化,并根据收费模块返回的手机语言,决定手机的显示语言。如果游戏不包含这种语言的话,则默认显示英语。 示例中是定义了一个结构体变量g_GameCtrl来保存游戏收费的相关信息。结构体的原型是:typedef struct { int32 MCC; //用户SIM卡的MCC int32 CountryNum; //该种语言中的国家和地区数量,免费也算一个国家地区。 int
全部回复 (24)
2012-03-10 12:35:00
#22
这帖不错,该顶!
2012-03-10 22:23:00
#23
这帖不错,该顶!
2012-03-16 22:00:00
#24
你牛,我顶!
登录 后才能回复
flag举报帖子