Deme_遥感控制物体移动(涉及遮罩,小摄像机跟随)
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems; public class JoyController : MonoBehaviour,IDragHandler,IEndDragHandler { //摇杆圆盘半径
public float radius = 75f;
//摇杆原始位置
private Vector3 origin;
//玩家的角色控制器
private CharacterController player;
//玩家移动速度
public float speed = ;
//声明一个方向向量
Vector3 dir; void Start()
{
//获取当前位置
origin = transform.position;
//找到主角玩家
player = GameObject.FindWithTag ("Player").
GetComponent<CharacterController> ();
} void Update()
{
//玩家移动
player.SimpleMove (new Vector3(dir.x,,dir.y) * speed * Time.deltaTime);
} /// <summary>
/// 摇杆拖拽中
/// </summary>
/// <param name="eventData">Event data.</param>
public void OnDrag (PointerEventData eventData)
{
//计算起点位置与当前鼠标位置的距离
float distance = Vector3.Distance (origin, Input.mousePosition);
//求方向向量
dir = Input.mousePosition - origin;
//如果拖拽在圆盘范围内
if (distance <= radius) {
//摇杆随鼠标移动而移动
transform.position = Input.mousePosition;
} else {
//实际向量
Vector3 real = dir.normalized * radius;
//最终摇杆的位置
transform.position = real + origin;
}
}
/// <summary>
/// 结束拖拽
/// </summary>
/// <param name="eventData">Event data.</param>
public void OnEndDrag (PointerEventData eventData)
{
dir = Vector3.zero;
//回到初始位置
transform.position = origin;
}
}
要注意的几个位置,添加相应组件。1,脚本挂载在遥感中心点Controller上.2,小摄像头(设置正交)挂为Player子物体跟随玩家移动3,遮罩设置



Deme_遥感控制物体移动(涉及遮罩,小摄像机跟随)的更多相关文章
- [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]
我自己写的第一个 Silverlight 2.0 程序 [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)] 程序运行时:小地球将绕着圆形轨迹做圆周运动. ...
- Maya 脚本控制物体自转
在Maya中,我们可以用脚本来控制物体的自转方向,速度等等,步骤如下: 选择需要操作的物体object,打开通道盒Channel Box,点击编辑Edit,打开表达式Expressions面板 选择需 ...
- Unity3D 几个基本动画(控制物体移动、旋转、缩放)
Transform基本移动函数: 1.指定方向移动: //移动速度 float TranslateSpeed = 10f; //Vector3.forward 表示"向前" tra ...
- Unity编程回忆录之控制物体移动
最新心血来潮,然后开始学习Unity3D游戏开发引擎,对于一个主流的跨平台3D游戏开发引擎,我已经深深的为他着迷了,于是果断的开始学习这个引擎,而且刚刚预装的游戏引擎最新版中4.3版本已经开始原生支持 ...
- iOS_2_button控制物体形变
终于效果图: BeyondViewController.h // // BeyondViewController.h // 02_button控制物体形变 // // Created by beyon ...
- Unity —— 通过鼠标点击控制物体移动
//ClickMove - - 通过鼠标点击控制物体移动 using System.Collections; using System.Collections.Generic; using Unity ...
- Unity3d 控制物体移动、旋转、缩放
在Unity中通过利用 Input Manager(输入管理器)可以很简单的实现对一个物体进行移动.旋转.缩放操作. 演示代码: //通过虚拟轴控制物体移动.旋转.缩放 public class Mo ...
- Unity3D_(游戏)控制物体的上、下、左、右移动
通过键盘上↑.↓.←.→实现对物体的控制 using System.Collections; using System.Collections.Generic; using UnityEngine; ...
- Unity使用transform.Translate()移动子物体时遇到的小问题
Unity使用transform.Translate()移动子物体时遇到的小问题 情况大概是这样:父物体A下有子物体B,希望使B在本地坐标系下移动1单位. B物体挂脚本代码如下: transform. ...
随机推荐
- Linux系统下分割tomcat日志
在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在w ...
- 改进《完美让IE兼容input placeholder属性的jquery实现》的不完美
<完美让IE兼容input placeholder属性的jquery实现>中的代码在IE9以下浏览器中会出错,原因是因为ie9以下的浏览器对input的标签的解释不同. 例如对以下文本框的 ...
- SGU 164.Airline(结论题)
时间限制:0.25s 空间限制:4M 题意: 在n(1<=n<=200)个点的无向完全图中,有m种不同的边.现在从中选择不超过(m+1)/2种边,使得任意两点可以通过不超过3条边互相到达. ...
- 【BZOJ1050】【枚举+并查集】旅行comf
Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大 ...
- CentOS Device eth0 does not seem to be present 解决方案
1. vi /etc/udev/rules.d/70-persistent-net.rules 记录eth1 的网卡地址 2.vi /etc/sysconfig/network-scrpits/ifc ...
- 《用chsh选择shell》-linux命令五分钟系列之十二
chsh命令用于修改你的登录shell. 1 我想知道我机器安装了哪些shell? 两种方法可以查看: 第一种: [rocrocket@wupengchong ~]$ chsh -l /bin/sh ...
- ajax验证用户名和找回密码参考
// JavaScript Document function chkname(form){ var user = form.user.value; if(user == ''){ alert('请输 ...
- Keil的使用-1创建项目和工程
下载keil,注意不要使用MDK版本(主要是arm开发使用),大小约54M 安装过程不再详述 安装Keil成功并运行后,新建项目, 创建新项目,然后弹出下图,选择对应的单片机芯片(双击) ...
- 高级停靠(Dock)技术的实现
高级停靠(Dock)技术的实现 介绍 所谓停靠就是可以用鼠标拖动窗体或者控件,并将其从一个父窗体移出或者移动到另一个父窗体上,可以按水平,垂直方向整齐排列, 并且可以停靠在分页控制组件上.下面的示意图 ...
- Day10 网络编程(续)
作用域 Python的作用域是函数,没有块级作用域 if 1 == 1: name = 'wang' print(name) #wang for i in range(10): name = i ...