美文网首页
Unity3d-OnMouseAPI之选择物体,移动物体。

Unity3d-OnMouseAPI之选择物体,移动物体。

作者: MFGame | 来源:发表于2017-09-04 19:24 被阅读0次

一、简单的场景

二、鼠标移向物体、选中、点击、移动、离开。

1、鼠标移向物体



2、鼠标选中物体
首先移向物体



然后选中物体。

3.移动物体

三、下面是程序代码
脚本:ApiOnMouseButton

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Reflection;

public class ApiOnMouseButton : MonoBehaviour {
public Renderer rend;
public Vector3 targetPos;
public Vector3 lastPos;

bool isdrag=false;//用来判断物体是否被拖拽

void Start () {
rend = GetComponent<Renderer> ();
}

void Update () {

}
//当鼠标移动到物体上
void OnMouseEnter() {
if(!isdrag)
rend.material.color = Color.blue;

}
//当鼠标按下物体
void OnMouseDown(){
if(!isdrag){
rend.material.color = Color.yellow ;
lastPos = Camera.main.ScreenToViewportPoint( Input.mousePosition)-Camera.main.WorldToViewportPoint(transform.position);

}
}
//当鼠标拖拽物体
void OnMouseDrag(){
targetPos = Camera.main.ViewportToWorldPoint( Camera.main.ScreenToViewportPoint(Input.mousePosition)-lastPos);
transform.position = new Vector3 (targetPos.x, targetPos.y, targetPos.z);

isdrag = true;

}
//当鼠标离开物体
void OnMouseExit(){
if(!isdrag)
rend.material.color = Color.white;
}
void OnMouseUp(){
rend.material.color = Color.blue;
isdrag = false;
}
}

将脚本ApiOnMouseButton拖拽到物体身上即可运行~

相关文章

  • Unity3d-OnMouseAPI之选择物体,移动物体。

    一、简单的场景 二、鼠标移向物体、选中、点击、移动、离开。 1、鼠标移向物体 2、鼠标选中物体首先移向物体 然后选...

  • unity基础1

    物体移动 translate(X,Y,Z)移动 刚体加力移动 设置刚体速度 物体旋转 查找物体 绘制按钮

  • WebGL之物体选择

    原文地址: WebGL之物体选择 使用WebGL将图形绘制到画布后,如何与外部进行交互?这其中最关键的就是如何实现...

  • [SceneKit]Motion Control(十一)

    在游戏中, 我们的物体总是会移动, 此时如果物体移动, 而相机并没有移动, 则我们的物体就会变小, 变大, 变形,...

  • 物体的移动

    usingUnityEngine; usingSystem.Collections; publicclasssph...

  • Unity物体移动

    FixedUpdate和Update的区别 FixedUpdate是固定秒数更新,Update是每帧更新一次。De...

  • 物体移动控制

    要求 1、物体移动主要因素:速度、方向;2、移动的范围不能超出屏幕边界,当碰触到屏幕左右边界时,应更换方向;3、可...

  • Blender学习笔记-(010)吸附到物体表面上的操作

    1:编辑选中A物体的面,此面是会吸附到B物体表面的。 2:把3D游标移动到A物体的选中面,在把A物体的原点,移动到...

  • 2020-03-17关于blender子物体播放位置和移动与操作

    问题描述父级物体已经做了位移动画子物体在父物体位移后,做了位移动画位置a到位置b但是播放的时候,子物体未按预期执行...

  • OpenGL中的不同角度的移动

    在OpenGL中观察一个物体的移动,一般可以通过两种方式: 观察者不动,移动物体 物体不动,移动观察者 观察者不动...

网友评论

      本文标题:Unity3d-OnMouseAPI之选择物体,移动物体。

      本文链接:https://www.haomeiwen.com/subject/ckzejxtx.html