Unity实现鼠标或者手指点击模型播放动画

本文实例为大家分享了unity鼠标或者手指点击模型播放动的具体代码,供大家参考,具体内容如下

using UnityEngine;
using System.Collections;

public class ClickPlayAnimation : MonoBehaviour {
  /// <summary>
  /// 实现功能为点击模型播放动画
  /// 使用方法,给模型添加碰撞,添加脚本
  /// </summary>

  bool isPlayAnim = false;
 // Use this for initialization
 void Start () {

 }

 // Update is called once per frame
 void Update () {
    //animation.Play();
    if (Application.platform == RuntimePlatform.IPhonePlayer || Application.platform == RuntimePlatform.Android)
    {
       foreach (Touch touch in Input.touches)
      {
        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began || Input.GetTouch(0).phase == TouchPhase.Moved)
        {
          Ray ray = Camera.main.ScreenPointToRay(new Vector3(touch.position.x, touch.position.y, 0));
          RaycastHit hit;

          if (Physics.Raycast(ray, out hit))
          {
            // Debug.DrawLine(ray.origin, hit.point);
            if (hit.collider.gameObject.name == gameObject.name)
            {
              isPlayAnim = true;
              print("123");
            }
          }
        }
      }
    }
    else
    {
      if (Input.GetMouseButtonDown(0))
      {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit))
        {
          Debug.DrawLine(ray.origin, hit.point);
          //print(hit.collider.gameObject.name);

          //curObject = hit.collider.gameObject;
          if (hit.collider.gameObject.name == gameObject.name)
          {
            isPlayAnim = true;
            print("123");
          }
          // 显示当前选中对象的名称
         // print(hit.collider.gameObject);
        }

      }
    }

    if(isPlayAnim)
    {
      animation.Play();
      isPlayAnim = false;
    }

 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Unity代码实现序列帧动画播放器

    序列帧动画经常用到,最直接的方式就是用Animation录制.但某些情况下这种方式并不是太友好,需要靠代码的方式进行序列帧动画的实现. 代码实现序列帧动画,基本的思路是定义一个序列帧的数组/列表,根据时间的流逝来确定使用哪一帧并更新显示. NGUI的UI2DSpriteAnimation已经实现了此功能,但是它支持的目标只有Native2D的SpriteRenderer组件或者NGUI自身的UI2DSprite组件,并不支持UGUI的Image组件. 当然可以通过改写源码的方式来添加对Image

  • 在Unity中实现动画的正反播放代码

    using UnityEngine; using System.Collections; public class AnimationAntiSowing : MonoBehaviour { public static AnimationAntiSowing _initialise; void Awake() { _initialise = this; } /// <summary> /// 动画进行正反播放 /// </summary> /// <param name=&q

  • Unity实现鼠标或者手指点击模型播放动画

    本文实例为大家分享了unity鼠标或者手指点击模型播放动的具体代码,供大家参考,具体内容如下 using UnityEngine; using System.Collections; public class ClickPlayAnimation : MonoBehaviour { /// <summary> /// 实现功能为点击模型播放动画 /// 使用方法,给模型添加碰撞,添加脚本 /// </summary> bool isPlayAnim = false; // Use

  • iOS实现手指点击出现波纹的效果

    实现来看看模拟器上效果: 具体的实现代码如下 首先监听控制器view的Tap事件 UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTap:)]; [self.view addGestureRecognizer:tap]; - (void)onTap:(UITapGestureRecognizer*)sender { CGPoint center

  • unity实现鼠标拖住3D物体

    本文实例为大家分享了unity实现鼠标拖住3D物体的具体代码,供大家参考,具体内容如下 把该脚本直接挂在要拖拽的物体上即可 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ModelDrages : MonoBehaviour { //发射射线的摄像机 private Camera cam; //射线碰撞的物体 private GameObject go; //

  • Unity通过代码修改按钮点击效果

    本文实例为大家分享了Unity通过代码修改按钮点击效果的具体代码,供大家参考,具体内容如下 效果: 创建一个脚本,挂载到按钮上,主要是实现鼠标移入.移出.按下.抬起等事件的接口 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class ButtonChangeCol

  • Unity使用鼠标旋转物体效果

    本文实例为大家分享了Unity使用鼠标旋转物体效果的具体代码,供大家参考,具体内容如下 了解完基础知识后,然我们来做个小程序练习一下 1.在Main Camera下新建一个Cube 然后调整一下Cube的位置,把他放置在相机前方 2.给Cube挂载脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeControlScript : MonoBehavio

  • JS鼠标3次点击事件实现代码及扩展思路

    这几天看了一下JavaScript高级程序设计中的Dom事件相关内容,同时看到网上有关鼠标多次点击事件,鼠标事件是简单.常用的事件之一,于是便针对点击事件进行一些小的扩展和实现,增强对Dom事件的进一步理解.其中的实现和思路是自己总结的,有什么不对的地方还请大神们交流指正. 1.制作一个通用的事件处理模块(原生实现) 以下实现基于AMD定义模块方式: /** * 浏览器兼容事件处理组件 */ define(function () { var EventUtil = { // 添加事件监听 add

  • unity实现鼠标跟随(ITween)

    本文实例为大家分享了unity实现鼠标跟随的具体代码,供大家参考,具体内容如下 需求:当鼠标放到cube上,然后移开鼠标cube会跟随鼠标移动. 实现过程: 首先在场景里新建一个plane(白色)和cube(黑色) ,这个cube就是用来跟随鼠标的物体,并且给cube添加标签tile. 然后把下面移动代码拖到相机上. 代码如下: using UnityEngine; using System.Collections; //鼠标跟随 public class linearmove : MonoBe

  • unity实现鼠标经过时ui及物体的变色操作

    1.实现UI的变色 设置Highlighted Color为鼠标经过时变的颜色(Normal为常态,Pressed为按下时的颜色,Disabled为禁止的颜色) 2.通过代码实现物体的颜色改变 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Cube_change : MonoBehaviour { private Color CubeColor; privat

  • jQuery实现点击水纹波动动画

    jQuery点击水纹波动动画原理: 1.在需要实现水波纹效果的标签中添加<XXX class="ripple-wrapper"></XXX>     2.代码会定位 鼠标相对 与 标签的位置,以鼠标点为圆心画圆     3.圆的半径 可以自定义(默认为标签的最大宽或高度)     4.圆点颜色,和动画时间等可以自行修改内部代码,或直接 调用 $().css({})方法 进行覆盖 ripple-wrapper.js $(function(){ $(".r

  • 微信小程序实现类似微信点击语音播放效果

    本文实例为大家分享了微信小程序类似平常微信语音聊天的效果,不会互相干扰播放状态,供大家参考,具体内容如下 根据开发的需求,先理清一下思路,点击语音播放与暂停/停止,切换下一个语音等: 小程序对于audio的组件的一些api方法已经不支持了,详情可以参看:微信小程序audio组件文档 嗯嗯,这下子,该怎么办呢? 就如上面提到,小程序1.60版本后,给开发者提供了这个wx.createInnerAudioContext()api-具体使用可以看文档: 好的,现在该上代码了! -wxml结构: <bl

随机推荐