Welcome 微信登录

首页 / 操作系统 / Linux

Android游戏开发之飞行射击类游戏原理实现

Android游戏开发之飞行射击类游戏原理实现

1.地图滚动的原理实现 举个简单的例子吧,同学们都坐过火车吧,坐火车的时候都遇到过自己的火车明明是停止的但是旁边铁轨的火车在向后行驶,会有一种错觉感觉自己的火车是在向前行驶吧,呵呵。飞行射击类游戏的地图原理和这个完全一样。玩家在控制飞机在屏幕中飞行的位置,背景图片一直向后滚动从而给玩家一种错觉自己控制的飞机在向前飞行,如下图所示两张地图图片在屏幕背后交替滚动,这样就会给玩家产生向前移动的错觉。 2.触摸屏幕控制主角飞机的移动范围用手触摸屏幕中的任意一个点...
Android游戏开发之处理音乐与音效太鼓达人游戏原理

Android游戏开发之处理音乐与音效太鼓达人游戏原理

同学们在玩游戏的时候应该都会发现游戏中会有两种形式来播放音乐 ,一般设置选项中会明确标明 设置游戏音乐 与设置游戏音效。 客观的分析一下这两种形式的音乐,游戏背景音乐同时只会播放一首也就是说两首背景音乐不会同时播放,除非一首播放完毕或者切换场景等 才会播放下一首。而游戏音效 比如主角与敌人挥动武器的声音 被攻击中的声音等,这些声音比较短而且播放很频繁很有可能会同时播放游戏音效。1.使用MediaPlayer播放游戏音乐创建MediaPlayer对象 将Co...
u-boot-2011.03在mini2440/micro2440上的移植

u-boot-2011.03在mini2440/micro2440上的移植

u-boot自2010.09版以后有比较大的变化,首先是不再在顶层Makefile中配置板级支持文件,其次是重写了start.S和board.c,还有就是提供了对S3C2440的部分支持,使得在移植时难度减小。但由于是新版本,bug也有不少。本文尝试对u-boot-2011.03进行移植,主要参考了bscbem的日志和L_Backkom的专栏,在此表示感谢。具体见http://www.linuxidc.com/Linux/2011-02/32772.htm...
关于ARM9和ARM7中都是PC=当前执行指令地址+8的解释

关于ARM9和ARM7中都是PC=当前执行指令地址+8的解释

为便于说明问题,我们假设当前正在执行0地址处的指令,从下面的两幅图中可以清楚地得到结论。ARM7是三级流水线,AMR7的三级流水线如下:执行指令地址=0取指PC = 4解码执行指令地址=4取指PC = 8解码执行指令地址=8取指PC = 12解码执行指令地址=12取指PC = 16解码执行指令地址=16ARM9是五级流水线,ARM9的五级流水线如下:执行指令地址=0取指PC = 4解码执行指令地址=4缓存/数据回写取指PC = 8解码执行指令地址=8缓存/...
ARM的异常处理

ARM的异常处理

在处理异常前,必须保护当前的处理器状态,以便在完成处理程序后能恢复到原来的程序。 如果同时发生好几个异常,将会按照异常优先级的顺序来响应。1、ARM中异常中断的种类(1)、复位当处理器复位引脚有效时产生复位异常,包括系统加电和系统复位两种。通过设置PC跳转到复位中断向量处执行称为软复位。(2)、未定义指令当ARM遇到不能处理的指令时,将产生未定义指令异常。这个机制可以用于软件模拟扩展指令集。(3)、软件中断软件中断指令用于进入管理模式,通常请求一个特定的管...
JAVA里面的“指针

JAVA里面的“指针

众所周知,在java里面是没有指针的。那为何此处还要说java里面的“指针”呢?我们知道在C/C++中,指针是指向内存中的地址,该地址就是存储变量的值。该地址所存储的变量值是“公有”的,此处的“公有”是对于拥有该地址的变量而言。它们都可以访问该地址的内容,并且可对其就行修改,一经修改则所有指向该地址的变量值也将改变。那么在Java里面何来的指针?在java里面没有指针的定义。但是java里面的“指针”无处不在。下面将进行介绍。我们知道JAVA里面用的最多的...
Python 的枚举类型 enum 实现

Python 的枚举类型 enum 实现

C 语言中有个枚举类型 enum,很适合在定义一系列相关的常量时,由程序自动为常量分配 id,解决人工分配 id 可能导致的 id 冲突问题。在 Python 这种脚本语言中,当定义大量相关的常量时,如果由程序员人工分配,要么容易 id 冲突,要么不好进行 id 分段管理。其实,可以很简单地实现 Python 版的 enum(当然是没有类型检测的 enum 版本)。实现代码如下:defenum(module,str_enum,sep=None):"""把用...
浅析 Python 的 metaclass

浅析 Python 的 metaclass

注: 这是目前为止我看见的介绍 Python 的 metaclass 最为详细的文章,看完之后就可以即学即用!好东西不独享,特转载!分享下自己对python的metaclass的知识。一 你可以从这里获取什么?1. 也许你在阅读别人的代码的时候碰到过metaclass,那你可以参考这里的介绍。2. 或许你需要设计一些底层的库,也许metaclass能帮你简化你的设计(也有可能复杂化:)3. 也许你在了解metaclass的相关知识之后,你对python的类...
Python变量覆盖陷阱

Python变量覆盖陷阱

已经好几次碰到这样的错误了,每次碰到都花费我大量的时间,下面总结下我所犯的错误,希望对大家也有帮助。闭包我想抓取一系列的网页,抓取网页很慢,然后对网页内容进行处理,为了提高速度,我启动了多个线程去抓。以下是其代码: importsys importthreading importtime urls=["http://www.6688.cc","http://www.linuxidc.com","http://www.linuxidc.net"] forur...
Python源码学习之PyObject和PyTypeObject

Python源码学习之PyObject和PyTypeObject

Python C api中的绝大多数函数其参数和返回值中包含PyObject*。这指针类型指向一个可以表示任何Python对象的不透明的数据结构。所有的Python对象在多数情况下以相同的方式对待。所有的Python对象(甚至是Python的整数)都包含一个类型和引用计数。一个对象的类型决定了其是一个整数、列表、用户自定义函数还是其他。引用计数对Python非常重要,引用计数必须显式地操作(通过Py_INCREF()、 Py_DECREF()等)。本文:P...
<< 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 >>