理论教育 VegaPrime:窗口鼠标类设计实现

VegaPrime:窗口鼠标类设计实现

时间:2023-11-25 理论教育 版权反馈
【摘要】:另外,需要设计相关的变量协助处理。首先,设计了两个布尔变量:“bool LeftButtonDown;”“bool RightButtonDown;”用于判断鼠标按下的是左键还是右键,初始值都为false。另外,还涉及两个操作对象的变量,一个对象是 PublicMember::pObject_m1_tank,另一个对象时通道对象PublicMember::myChannel。这两个对象都被设计为PublicMember的静态成员,相当于作为全局变量使用,具体代码如图9.3.1所示。图9.3.1窗口鼠标类

VegaPrime:窗口鼠标类设计实现

对于窗口鼠标类的设计,采用了多继承的方式,继承的父类为下列4个:vpInputSource Boolean::Subscriber,vpInputSourceFloat::Subscriber,vpInputSourceInteger::Subscriber,vsChannel::Subscriber。

重载实现的方法为以下两个: void notify(vpInputSourceBoolean::Event event,vpInputSourceBoolean *source),该方法主要用于判断鼠标是否有键被按下;void notify (vpInputSourceInteger::Event,vpInputSourceInteger *source),该方法主要用于获取鼠标坐标值x 和y的大小或鼠标中键滑动方向的变化。

另外,需要设计相关的变量协助处理。首先,设计了两个布尔变量:“bool LeftButtonDown;”“bool RightButtonDown;”用于判断鼠标按下的是左键还是右键,初始值都为false。其次,设计了两个整数变量:“int ValX;”“int ValY;”分别用于记录鼠标的坐标x 值和y 值,依据坐标值的大小变化,判断鼠标滑动的方向,初始值为 0。最后,设计了一个浮点变量:“float myChannelAngle;”用于记录通道视角大小,初始值为16.0,变化量是0.5。另外,还涉及两个操作对象的变量,一个对象是 PublicMember::pObject_m1_tank,另一个对象时通道对象PublicMember::myChannel。这两个对象都被设计为PublicMember的静态成员,相当于作为全局变量使用,具体代码如图9.3.1所示。

(www.daowen.com)

图9.3.1 窗口鼠标类

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈