再探cocos2d-x------(3)

再探cocos2d-x------(3),第1张

概述     今天了解到一个cocos中UI的基类——widget。cocostudio中所有UI控件的基类都是widget。      首先进入Widget类,有个onFocusChange()函数,这个函数的作用是聚焦,对UI上的控件获取聚焦。控件聚焦应该是获取用户点击鼠标获键盘的能力。代码中的widgetGetFocus->setFocused(true),使控件对象获得焦点。     virt

今天了解到一个cocos中UI的基类——Widget。cocostudio中所有UI控件的基类都是Widget。

首先进入Widget类,有个onFocusChange()函数,这个函数的作用是聚焦,对UI上的控件获取聚焦。控件聚焦应该是获取用户点击鼠标获键盘的能力。代码中的WidgetGetFocus->setFocused(true),使控件对象获得焦点。

virtualWidget* findNextFocusedWidget ( FocusDirection direction,
Widget* current
)
官方解释:

当一个Widget处于某一个layout中的时候,你可以通过调用这个方法在指定的方向获取下一个被focus的Widget 如果一个Widget没有在一个layout中,调用这个方法会获得该Widget自身

参数
dir 在该layout中找寻下一个被focus的Widget的方向
current 目前被focus的Widget
返回 该layout中下一个被focus的Widget this->setAnchorPoint(Vec2(0.5f,0.5f));//设置锚点为(0.5f,0.5f)。 this->settouchEnabled(true);//设置Widget为可响应触摸。
<span >voID Widget::settouchEnabled(bool enable){    if (enable == _touchEnabled)    {        return;    }    _touchEnabled = enable;    if (_touchEnabled)    {        _touchListener = EventListenertouchOneByOne::create();//设置监听单点触摸事件        CC_SAFE_RETAIN(_touchListener);//retain()方法宏定义,增加一次,_touchListener 监听指针的引用计数。

_touchListener->setSwallowtouches(true); //为ture,设置屏蔽层,即屏蔽层下面的按钮都无法点击,而自己层的按钮可以点击。不能穿透,要想穿透,可以设置成false.当"setSwallowtouches"设置为true,然后,在ontouchBegan 方法返回true,将会吃掉触控事件,防止其他监听器使用这个事件。

       

_touchListener->ontouchBegan = CC_CALLBACK_2(Widget::ontouchBegan,this);

_touchListener->ontouchmoved = CC_CALLBACK_2(Widget::ontouchmoved,sans-serif; Font-size:14px">_touchListener->ontouchended = CC_CALLBACK_2(Widget::ontouchended,sans-serif; Font-size:14px">_touchListener->ontouchCancelled = CC_CALLBACK_2(Widget::ontouchCancelled,sans-serif; Font-size:14px">_eventdispatcher->addEventListenerWithSceneGraPHPriority(_touchListener,this); //注册监听器 }

else { _eventdispatcher->removeEventListener(_touchListener); CC_SAFE_RELEASE_NulL(_touchListener); }}

剩下的代码,基本上是设置UI空间的基本方法,比如,设置亮度,设置尺寸大小,翻转水平等等~~~

(仅个人理解,如有不对还请指正。)

总结

以上是内存溢出为你收集整理的再探cocos2d-x------(3)全部内容,希望文章能够帮你解决再探cocos2d-x------(3)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1069732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存