本系列的上一篇文章《Monkey源码分析之事件源》中我们描述了monkey是怎么从事件源取得命令,然后将命令转换成事件放到事件队列里面的,但是到现在位置我们还没有了解monkey里面的事件是怎么一回事,本篇文章就以这个问题作为切入点,尝试去搞清楚monkey的event架构是怎么样的,然后为什么是这样架构的,以及它又是怎么注入事件来触发点击等动作的。
在看这篇文章之前,希望大家最好先去看下另外几...
分类:
其他好文 时间:
2014-10-25 10:37:04
阅读次数:
497
1 一、事件的传递过程 2 1.用户点击屏幕,产生一个UIEvent(触摸事件)对象 3 2.UIApplication最先接收到这个事件,并且把这个事件添加到一个事件队列中 4 3.UIApplication会将事件队列中的所有事件按顺序取出来进行传递和处理 5 4.UIApplication首....
分类:
移动开发 时间:
2014-10-21 17:27:37
阅读次数:
215
AwesomePlayer里面定义了一个TimedEventQueue,通过向它发事件消息,来驱动player的运转。
定义在AwesomePlayer.h里面,如下:
TimedEventQueue mQueue;
TimedEventQueue中维护了一个队列,外面通过调用其提供的方法postEvent, postEventWithDelay等等来向队列添加事件,在执行完mQueue.s...
分类:
其他好文 时间:
2014-08-21 17:16:24
阅读次数:
297
我们依据上一次介绍的触屏事件和事件队列等知识来实现触屏的单击,双击,三连击事件。下图为我们实现的效果图:单击精灵跳跃一个高度,双击精灵跳跃的高度比单击的高三连击精灵跳跃的跟高好了,開始动手吧。新建项目,删除多余的代码接着在Classes文件夹下建立两个文件,这里我就命名为Human了(在Classe...
分类:
其他好文 时间:
2014-08-17 18:20:32
阅读次数:
275
一、事件传递的过程1.用户手指触摸屏幕,产生一个事件对象2.系统会将这个事件对象添加到事件队列(先进先出)中3.由UIApplication取出事件队列中的事件对象进行处理4.UIApplication会先将事件对象传递给主要的UIWindow(当然,要先检测UIWindow是否能够接收和传递事件)...
分类:
移动开发 时间:
2014-08-13 18:19:16
阅读次数:
205
iOS开发UI篇—事件传递一、事件的产生和传递发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow)主窗口会在视图层次结构中找到一...
分类:
移动开发 时间:
2014-06-21 07:44:14
阅读次数:
299
主运行循环负责处理所有跟用户操作相关的事件,主运行循环在程序启动时被UIApplication对象创建,运行在主线程上,用来处理事件和更新基于View的UI。当用户与设备交互时,操作系统生成相关的事件,然后通过一个由
UIKit 创建的端口,交给App。事件先加入事件队列,然后一个一个的交给主运行循...
分类:
其他好文 时间:
2014-06-03 06:44:09
阅读次数:
258
SDL_PeepEvents() 在事件队列中搜索特定类型的事件。int
SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventaction action, Uint32
mask);DescriptionChecks the event...
事件驱动编程简而言之就是应用程序维护一个或多个事件队列,完全以事件队列为主线来设计和编写整个程序。这里利用队列实现了一个完整的事件驱动编程过程,模拟了银行排队这一离散事件的发生。...
分类:
其他好文 时间:
2014-05-07 04:45:22
阅读次数:
376