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. ...
随机推荐
- Android的进程和线程(转)
进程和线程 当一个应用程序第一次启动的时候,Android会启动一个Linux进程和一个主线程(即UI线程:主要负责处理用户的按键事件.触屏事件及屏幕绘图事件等).默认情况下,所有该程序的组件都将在该 ...
- Linux下ln链接命令详解
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件. 当我们需要在不同的目录,用到相同的 ...
- magento错误 Service Temporarily Unavailable magento
前台访问出现错误 Service Temporarily Unavailable magento 解决方法 Service TemporarilyUnavailable字面意思是此服务暂时无法使用,如 ...
- [Winfrom] 捕获窗体最大化、最小化和关闭按钮的事件
const int WM_SYSCOMMAND = 0x112;const int SC_CLOSE = 0xF060;const int SC_MINIMIZE = 0xF020;const int ...
- 我摘录的js代码
1.修改样式 document.getElementByIdx( "div1").style.display = "none"; 2.鼠标悬停图标变小手 sty ...
- 隐藏和显示 ng-show ng-hide
<div ng-controller='DeathraymenueController'> <button ng-click="toggleMenue()" ...
- 让LINQ中的查询语法使用自定义的查询方法
使用LINQ时有两种查询语法:查询语法和方法语法 查询语法:一种类似 SQL 语法的查询方式 方法语法:通过扩展方法和Lambda表达式来创建查询 例如: List<, , , }; //查询语 ...
- 全国省市区Json文件 ,做省市区联动很轻松
省份 [{"name":"安徽省", "code":"340000"},{"name":" ...
- Web.config总结
%windir%/Microsoft.NET/Framework/v2.0.50727/CONFIG目录下machine.config定义了针对当前机器的WinForm程序和asp.net应用程序的配 ...
- linux setsockopt
linux setsockopt Socket描述符选项[SOL_SOCKET] #include <sys/socket.h> int setsockopt( int socket, ...