Unity用Slider实现滑动确认解锁

Unity用Slider实现滑动确认解锁,第1张

项目中有个需求,是需要玩家滑动解锁,增加二次确认难度防止玩家误 *** 作的一个功能,就如同iphone滑动解锁一样

我的做法 是直接采用Unity自带的Slider来实现,大概原理就是滑动handle到slider的maxvalue.然后做一些列 *** 作

但是策划不想要这么生硬的拉扯,想做个松开按钮,如果滑动条值没有满自动缩回去的一个动画效果,和iphone一样

由于自带的slider 没有提供松开鼠标的一些事件用来监听,但是F12进入可以看到

既然有down 肯定有up,再f12父类

所以 自己扩展一个uislider组件,继承Slider

其中m_Value,看源码可知道 就是我们slider的value

扩展一个onvaluechangeend事件,去实现他即可

扩展下,策划虽然没有说给文字说什么动态效果,但是自己根据iphone的解锁,做了个类似呼吸灯的效果,原理也很简单,使用dotween ,对canvasgroup的扩展,动态改变alpha就行,或者改变文本颜色的透明通道也行

可以看下testcpp的代码,其中有使用slider的例子,文件名为UISliderTest.cpp,下面一段就是监听值改变的回调函数,percent 变量就是改变后的值,当然还有其他的事件,自己去继承好了

void UISliderTest::sliderEvent(CCObject *pSender, SliderEventType type)

{

switch (type)

{

case cocos2d::extension::SLIDER_PERCENTCHANGED:

{

UISlider* slider = dynamic_cast(pSender)

int percent = slider->getPercent()

m_pDisplayValueLabel->setText(CCString::createWithFormat("Percent %d", percent)->getCString())

}

break

default:

break

}

}


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

原文地址: http://outofmemory.cn/bake/11928202.html

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

发表评论

登录后才能评论

评论列表(0条)

保存