android游戏编程的学习笔记(以植物大战僵尸等游戏源代码解析为例)

本文探讨了Android游戏开发中涉及的图形绘制、单线程模型、UI线程与工作线程的交互。通过植物大战僵尸游戏举例,解释了如何处理图形动画、界面更新以及使用Handler进行线程间通信。介绍了线程奴隶如何通过Handler回禀UI线程,以实现游戏逻辑。同时提到了Android UI操作的线程安全问题。
摘要由CSDN通过智能技术生成

       android的应用类app开发通常只涉及到android sdk为大家提供的四大组件,activity、service、broadcast receiver和Content Provider。只需要在activity完成对窗口的逻辑控制,辅以layout的ui窗口设计,就可以完成用户交互的ui窗口部分,再加上service完成后台逻辑运行部分,以及broadcast receiver完成广播接收部分,content provider(或者sqlite)完成数据存储部分。一个普通的android app就基本完成了整体设计。


       涉及到游戏开发,开发者会发现android sdk实际上和其他系统开发类sdk一样,为用户提供了更加底层的开发接口。例如在游戏中,单一窗口要呈现的内容往往带有动画的特点。例如植物大战僵尸中,主游戏界面上必须要有僵尸、植物这两个元素。首先,这两个元素都不是通用的ui组件,是bmp图片展示的两个小人,专业名称叫精灵。这两个精灵会移动,这也是游戏的一大特色,就是在地图之上会有很多移动的元素。这样就涉及到的在android界面上绘图的问题,或者说是让已绘好的bmp图片移动的问题。


        而谈到界面中图形在变化或者频繁变动位置,或者有很多精灵,每个都有自己的随机性的动作,这就涉及到一个问题,是不是所有的逻辑都要在activity里处理。而activity我们必须看清楚,他只是一个android sdk提供给开发者的高层封装,他把view给封装了起来,目的是为了方便ui设计与逻辑代码编写的方便性。

实际上,一个android程序跑起来,仍然是一个单独运行的进程。一个 Android 程序开始运行时,就有一个主线程Main Thread被创建。该线程主要负责UI界面

的显示、更新和控件交互,所以又叫UI Thread。由于只有UI线程更新界面所以说Android是单线程模型。随之而来的概念是“android的单线程模型”,简单的说就是

        当应用启动,系统会创建一个主线程(main thread)。这个主线程负责向UI组件分发事件(包括绘制事件),也是在这个主线程里,应用和Android的UI

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值