MRP开发帮助文档

内容发布更新时间 : 2025/5/24 13:25:28星期一 下面是文章的全部内容请认真阅读。

3.4 bmp图片宽高注意事项

1、SDK对图片的宽度有限制,不能超过1000个像素大小,否则图片会出现加载失败,对图片的高度没有限制。

3.5 SPR平台游戏音乐使用问题 1、由于SPR平台对音乐支持不完善,游戏过程中播放音乐不流畅,因此开发者需要注意,SPR平台游戏不需要添加音乐播放功能,游戏代码中可以通过MR_SPREADTRUM_MOD宏来区分MTK和SPR平台,当是SPR平台的时候,MR_SPREADTRUM_MOD该宏会被自动定义的。

3.6 C语言标准库函数使用问题

1、SDK中封装了常用的C语言标准库函数,例如memcpy等,详细函数可以查看 mrc_base.h里面,如果开发者需要是否其他的库函数,那么需要先联系斯凯工程师,不是随便使用SDK中没有封装的函数,否则会出现异常。

3.7 mrc_exit函数使用注意事项

1、SDK中通过调用mrc_exit函数退出游戏,当调用该函数以后,游戏不会马上退出,而是需要执行完当前函数才会退出的,因此需要在调用mrc_exit函数以后再添加return语句,举例如下:

void Test(void) { //?

mrc_exit();

return;//这里必须调用return,否则后面的语句会继续被执行 //other }

3.8 本地UI窗口创建使用注意事项

1、SDK提供了简单的窗口系统管理,在mrc_win.h里面,

当开发者在mrc_winNew里使用了本地UI的相关资源,那么如果想在当前窗口之上创建新的窗口,那么就不能再使用mrc_winNew来创建新窗口,必须使用mrc_platWinNew函数来创建新的窗口,否则窗口事件函数无法正常收到按键和触摸屏等事件。

四 常见问题原因和解决方法

4.1 游戏中为什么会出现花屏?有什么解决方法?

1、游戏中当图片加载失败的时候,开发者如果没有对这种情况进行判断,而继续绘制图片,那么就会出现花屏现象;

2、解决花屏问题,需要查找图片加载失败的原因,通常图片加载失败的原因有如下几种: 1传入的参数错误;

2 mrp包里面不存在相应的文件; 3 内存不足;

4 图片宽度超过1000个像素大小; 因此,针对上述原因,解决方法如下:

1 检查代码,确定函数调用时候传入的参数,修改错误参数; 2 将要加载的图片打包到mrp文件里面; 3 当出现内存不足的时候,一种情况是同一时间加载到内存的图片太多了,没有足够内存了,开发者可以通过写文件,把当前的剩余内存空间大小保存下来;另外一种情况是游戏代码有问题,例如出现数组越界、释放非法指针,把内存空间搅乱了,就需要查看游戏代码了; 4 图片宽度超过限制的,只能修改图片。

4.2 游戏中为什么会出现死机和重启?有什么解决方法?

1、当游戏代码中出现死循环、内存越界、使用野指针和空指针时候,手机就会出现死机或者重启等严重异常现象;

2、死机和重启的解决方法:

1 查找代码中所有数组,确保使用过程中不会出现数组越界问题;

2 查找代码中所有malloc地方,对malloc的返回值必须进行判断,当malloc失败的时候,必须进行处理,不能简单继续执行,通常是调用mrc_exit退出游戏,并且在mrc_exit函数后面,调用return退出当前函数;

3 查找代码中所有的free的地方,free的对象必须是合法的地址; 4 查找代码中for循环,确保循环是可以退出的,不会进入死循环;

5 查找代码中所以内存操作函数,如memcpy、memset,确保调用该函数的时候,内存地址是合法的,并且长度参数没有越界;

6 查找代码中

>>灞曞紑鍏ㄦ枃<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi