SDL打地鼠程序,CSDN博客迁移
SDL打地鼠程序移植步骤
LINUX编译环境配置
1.安装SDL编译环境,SDL库文件有freetype-2.3.11.tar.gz, SDL-1.2.15.tar.gz基本库,SDL_image-1.2.12.tar.gz图片库,SDL_ttf-2.0.10.tar.gz字体库。
解压后进入解压目录执行命令,./configure --prefix=/home , make , make install 。然后把/home/include中的文件拷到/usr/include中,把/home/lib中的*.so和*.a文件拷到/usr/lib中。还有交叉编译所需要的SDL编译所需的arm库,解压到/usr/下。
2.安装arm-linux交叉编译器,安装在/usr/local/arm下,所需交叉编译包有4.3.1-eabi-armv6-up-cup6410.tar.gz 。在配置环境vi ~/.bashrc,在最后添加 PATH=$PATH:$HOME/bin:/usr/local/arm/4.3.1-eabi-armv6/usr/bin
LD_LIBRARY_PATH=/usr/local/arm/4.3.1-eabi-armv6/gmp/lib:/usr/local/arm/4.3.1-eabi-armv6/mpfr/lib
更新source ~/.bashrc
3.开发板挂载配置
在宿主机终端执行vi /etc/exports 添加
/root/lijincang 192.168.1.* (rw,sync)
service nfs restart更新服务
minicom -s 修改配置
mountnfs 192.168.1.1:/root/lijincang /mnt/nfs挂载
192.168.1.1为宿主机的IP
4.打地鼠代码实现
主要是鼠的随机出现,鼠标事件的触发加分和换图,字体的出现,时间的控制。
在主函数中添加一个循环,循环一次出现一个图片,图片位置是9个已固定的随个坐标,鼠图片出现有1s中的等待,有一个鼠标事件判断是否鼠标点击到图片,点击到后加分和换图片。时间显示和分数显示也在每次循环中刷新。SDL图片加载实质是图片的重叠加载,在每次看到的背景和鼠的图片都是加载两图片再刷新屏幕实现视觉上的鼠从洞出现的效果。
5.在开发板上运行程序
将生成的动态库复制到共享目录,在开发板的客户端进入共享目录把SDL库拷到开发板上的
cp libSDL* /mnt/yaffs/Qtopia/lib/ -f
修改程序可能出错的地方
屏幕宽高 640 480 像素16
SDL_Init(SDL_INIT_EVERYTHING)==-1 改为 SDL_Init(SDL_INIT_VIDEO) < 0
在宿主机上的共享目录交叉编译源代码
arm-linux-g++ 1.cpp -o test -I /usr/arm/include/SDL -L /usr/arm/lib -lSDL -lSDL_image -lSDL_ttf -lfreetype
在开发板的客户端共享目录执行./test
实验成功。