Ycnd 2D教程---GUI系统教程2---GUI的使用

来源:互联网 发布:js触发click事件 编辑:程序博客网 时间:2024/06/07 05:02

      在GUI初始化成功完成后就可以使用Ycnd GUI系统所提供的功能了。

      本教程将从GUI系统使用的流程角度,来详细介绍Ycnd GUI系统的应用方法。

 

一、添加GUI控件;

      GUI系统是程序与使用者进行交互的媒介,使用者通过操作GUI的控件来实现这种交互。Ycnd GUI提供了10种最常用的UI控件来帮助开发人员与用户进行沟通,这些控件包括:按钮、标签、图片框、列表框、复选框、单选框、进度条、滚动条、编辑框和窗口。

 

      任何一种控件都需要先添加到GUI系统中后才能发挥作用,Ycnd GUI中提供了一系列的Add*函数来实现各种控件的添加,下面将介绍添加控件的方法(这里以添加按钮为例,其他控件大同小异):

   

函数的参数为:1、控件ID,该ID可任意指定(0除外),但不可重复,并且需要妥善保存,稍后对此控件的访问必须提供这个ID;

                     2、控件的大小及位置;

                     3、控件使用的字体ID,该字体用于控件上显示文字标题,必须为有效地字体;

                     4、标题文字的颜色;

                     5、标题内容;

                     6、是否显示标题文字阴影;

                     7、标题文字是否闪烁;

                     8、文字闪烁的间隔时间(毫秒),为0则不闪烁;

                     9、控件通常状态的颜色,即没有被用户点击时的颜色;

                     10、控件点燃状态的颜色,即被用户点击时的颜色;

                     11、控件通常状态的纹理ID,如果不用纹理可以为0;

                     12、通常纹理的坐标;

                     13、控件点燃状态的纹理ID,如果不用纹理可以为0;

                     14、点燃纹理的坐标;

                     15、父控件的ID,父控件指可以用来包含其他控件的容器类控件,在当前版本的Ycnd GUI中,仅仅指窗口控件。

 

      这里需要单独说明一下父控件的问题,Ycnd GUI中,窗口控件可以在其自身的范围内容纳其他的控件,所有包含在窗口中的控件都由所属窗口来负责管理,因此,这个参数的作用就是告诉GUI系统,容纳该控件的上一级控件是谁,并且将该控件交给包含它的控件来管理。

 

      使用该函数后即在GUI系统中添加了一个按钮控件,不过,这个时候工作还没完成,还要编写控件事件处理及控件绘制的函数。

 

二、事件处理;

 

1、系统事件的处理:

      Ycnd GUI的事件获取、分配由系统自动完成,设计者所要做的就是在程序的帧处理函数中添加下面的函数就可以了:

 

 

2、控件的事件处理:

      当GUI系统获取了用户的操作事件后,会将这些事件广播给所有的控件,设计者添加的控件如需要响应这些事件就必须编写相应的处理代码。

 

事件处理函数的原型:

  

 

例如:

 

  

处理函数定义完成后就可以使用下面的函数将它提交给GUI系统:

 

 

函数的参数很简单,无须说明,这里主要提一下第二个参数receivertype,该参数定义要处理的事件类型,主要有:

 

  

三、绘制GUI;

      绘制GUI非常简单,只要在程序的帧渲染函数中添加下面的函数就可以了:

  

 

原创粉丝点击