unity 长按按钮控制播放animator播放速度
2018-01-13 13:43
267 查看
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor.Animations;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class AnimationSpeed : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler
{
public float speed = 1;//动画播放速度
private float delay = 0.2f;//延迟时间
private bool isDown = false;// 按钮是否是按下状态
private float lastIsDownTime;// 按钮最后一次是被按住状态时候的时间
public Animator anim;//动画
void Start()
{
anim.speed = 1;
}
// Update is called once per frame
void Update()
{
// 如果按钮是被按下状态
if (isDown)
{
if (Time.time - lastIsDownTime > delay)
{
print("长按!");
lastIsDownTime = Time.time;
// 记录按钮最后一次被按下的时间
speed = speed + 0.2f;
anim.speed = speed;
if (speed <= 0)
{
anim.speed = 0;
}
if (speed >= 8)
{
anim.speed = 8;
}
}
}
}
public void OnPointerDown(PointerEventData eventData)
{
isDown = true;
lastIsDownTime = Time.time;
}
public void OnPointerUp(PointerEventData eventData)
{
isDown = false;
}
public void OnPointerExit(PointerEventData eventData)
{
isDown = false;
}
}
using System.Collections.Generic;
using UnityEngine;
using UnityEditor.Animations;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class AnimationSpeed : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler
{
public float speed = 1;//动画播放速度
private float delay = 0.2f;//延迟时间
private bool isDown = false;// 按钮是否是按下状态
private float lastIsDownTime;// 按钮最后一次是被按住状态时候的时间
public Animator anim;//动画
void Start()
{
anim.speed = 1;
}
// Update is called once per frame
void Update()
{
// 如果按钮是被按下状态
if (isDown)
{
if (Time.time - lastIsDownTime > delay)
{
print("长按!");
lastIsDownTime = Time.time;
// 记录按钮最后一次被按下的时间
speed = speed + 0.2f;
anim.speed = speed;
if (speed <= 0)
{
anim.speed = 0;
}
if (speed >= 8)
{
anim.speed = 8;
}
}
}
}
public void OnPointerDown(PointerEventData eventData)
{
isDown = true;
lastIsDownTime = Time.time;
}
public void OnPointerUp(PointerEventData eventData)
{
isDown = false;
}
public void OnPointerExit(PointerEventData eventData)
{
isDown = false;
}
}
相关文章推荐
- Unity 编辑器下控制播放Animator
- unity animator动画融合时的上下半身速度分离控制
- Unity_DOTween动画的学习(十一)_DOTweenPath路径编辑器的使用补充_结合按钮触发不同点击事件控制播放状态_Waypoints
- Unity 编辑器下控制播放Animator
- Unity编辑器 - 编辑器控制特效播放
- 视频回放播放速度控制,比较准确
- iOS 9音频应用播放音频之控制播放速度
- unity开发 HTC vive手柄控制 手柄上各个按钮的点击事件
- 用代码控制unityeditor的暂停/播放状态
- 图片自动播放也可通过按钮控制显示
- [Unity&接口]建立管理时间速度tiemSpeed的控制脚本
- (分屏)控制Unity发布后播放的屏幕
- 菜鸟入门:Unity animation三角播放按钮灰色,无法点击播放怎么办?
- jquery,js-按钮控制音乐播放
- Unity中UGUI实现点击改按钮播放一个音效
- iOS 9音频应用播放音频之控制播放速度
- 控制iphone中的实体按钮和音乐播放
- Chrome插件控制视频播放速度(爱奇艺、优酷)
- 高德地图做轨迹回放,能够控制动画的播放速度
- 手机影音第九天,控制视频全屏播放与退出全屏播放,音量调节按钮来控制视频音量与静音的实现