欢迎光临散文网 会员登陆 & 注册

第三章:C4droid编程:SDL2_05:简单动画&多线程处理

2022-11-30 01:48 作者:PonyLinuxlife  | 我要投稿

Hello,Everypony,今天我来讲解SDL2 的键盘鼠标触屏信号处理和播放简易动画。

在我们玩的电脑游戏中,都是需要键盘和鼠标来完成互动的,而在手机上,则需要用到触屏和虚拟键盘(指的是输入法app,不是外接键盘),还有游戏里面有很多动画,很多都是由大量的帧图片以24张每秒播放的(这种速度下人眼无法识别图片闪动)。为什么需要多线程处理呢?因为有些程序,特别是大游戏,需要很多线程分配到多个CPU核心同时处理,加快运行速度。

所以,我们来制作一个由多线程处理并播放带声音的简单动画,而且要将其导出apk安装包。

首先,像上次一样创建工程,不过不同的是大工程,有多个c/h文件,文件夹和素材资源,以及编译脚本如Makefile,命令如下:

  • apkoverlay:apk配置层(我也不太清楚?)

  • resources:资源,如图片,音乐,视频,字库等

  • src:源代码

  • Makefile:编译脚本,对应工具为gnu make

接下来是编写编译脚本,修改编译选项:

Makefile 

修改编译选项

然后是编写程序,代码如下:

以下是新用到的函数:

接下来是制作动画,不过SDL2播放不了动画,只能用连续显示图片来达到目的

krita for Android

制作完成(总感觉哪里有点怪?!)

自制动画(首次制作动画,勿喷)

制作完成后导出连续的图片到工程下的resources/video目录下

导出连续的图片

最后再把ogg音乐文件复制到resources/music目录下,编译运行就可以看到带有音乐的动画了

如果有需要的话,也可以导出apk再安装,还是一样的效果。

到了最后,顺便说下导出apk界面的选项

还有,当时测试代码时,动画没放到一半时,程序就自动重新运行了,返回平板电脑主界面时发现其重新加载了,可能是内存占用过高,还不确定原因。

第三章:C4droid编程:SDL2_05:简单动画&多线程处理的评论 (共 条)

分享到微博请遵守国家法律