切换视角(视角递增and递减)

//ViewChanged脚本需绑定在主相机上

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class ViewChanged : MonoBehaviour, IPointerClickHandler
{
  public Button SubBtn;//减少视角按钮
  public Button AddBtn;//增大视角按钮
  public Text ShowTxt;

  public GameObject _3DGameParent;

  public int no = 1;
  void Start()
  {
    ShowTxt.text = "1";
    SubBtn.GetComponent<Button>().onClick.AddListener(delegate
    {
      this.OnClick1(SubBtn.GetComponent<Button>());
    });
    AddBtn.GetComponent<Button>().onClick.AddListener(delegate
    {
      this.OnClick2(AddBtn.GetComponent<Button>());
    });

  }
  void OnClick1(Button btn)
  {
    if (no > 1)
    {
      int j;
      j = int.Parse(ShowTxt.text) - 1;
      ShowTxt.text = j.ToString();
      no--;
    }
    ViewNumChoose(no);
  }
  void OnClick2(Button btn)
  {

    if (no < 6)
    {
      int i;
      i = int.Parse(ShowTxt.text) + 1;
      ShowTxt.text = i.ToString();
      no++;
    }
    ViewNumChoose(no);
  }

  #region 根据切换的视角,旋转物体
  private void ViewNumChoose(int num)
  {
    _3DGameParent.transform.position = Vector3.zero;
    switch (num)
    {
      case 1:
      _3DGameParent.transform.localRotation = Quaternion.Euler(0, 0, 0);
      // _3DGameParent.transform.LookAt(_3DGameParent.transform.position + Vector3.right);

      break;
      case 2:
      _3DGameParent.transform.localRotation = Quaternion.Euler(0, 90, 0);
      // _3DGameParent.transform.LookAt(_3DGameParent.transform.position + Vector3.back);
      break;
      case 3:
      _3DGameParent.transform.localRotation = Quaternion.Euler(0, 180, 0);
      //_3DGameParent.transform.LookAt(_3DGameParent.transform.position + Vector3.left);
      break;
      case 4:
      _3DGameParent.transform.localRotation = Quaternion.Euler(0, 270, 0);
      // _3DGameParent.transform.LookAt(_3DGameParent.transform.position + Vector3.forward);
      break;
      case 5:
      _3DGameParent.transform.localRotation = Quaternion.Euler(90, 0, 0);
      //_3DGameParent.transform.LookAt(_3DGameParent.transform.position + Vector3.up);
      break;
      case 6:
      _3DGameParent.transform.localRotation = Quaternion.Euler(270, 0, 0);
      //_3DGameParent.transform.LookAt(-_3DGameParent.transform.position + Vector3.down);
      break;
      default:
      break;
    }
  }
  #endregion
  void Update ()
  {

  }

  public void OnPointerClick(PointerEventData eventData)
  {
    throw new System.NotImplementedException();
  }
}

时间: 2024-10-13 22:28:54

切换视角(视角递增and递减)的相关文章

js验证连续两位数字递增或递减和连续三位数字相同

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body><form method="post" class="form-horizontal" role="form" action=&q

正则判断6位数字是递增或递减

1.正则判断6位数字是递增或递减 (利用下标 index 值) 思路一:让每一个项减去下标(即索引) 返回为同一个数字的话(如123456,234567,456789)返回111111,222222. 则为升序 让每一个项加上下标(即索引) 返回为同一个数字的话(如987654,876543,654321)返回999999,888888. 则为降序 思路二:让后一项减去前一项结果为 1 或 -1 则为降序或升序. //递增 var str = _num.replace(/\d/g, functi

PHP 递增/递减运算符

php支持 C 风格的前/后递增与递减运算符,递增/递减运算符不影响布尔值.递减 NULL 值也没有效果,但是递增 NULL 的结果是 1. 递增/递减运算符 例子 名称 效果 ++$a 前加 $a 的值加一,然后返回 $a. $a++ 后加 返回 $a,然后将 $a 的值加一. --$a 前减 $a 的值减一, 然后返回 $a. $a-- 后减 返回 $a,然后将 $a 的值减一. 一个简单的示例脚本: <?php echo "<h3>Postincrement</h3

最长递增子序列和网易去除最少使从左向右递增又递减问题

(1)最长递增子序列问题 有两种方法:(1)动态规划方法(2)类似二分查找的方法O(nlogn) 动态规划方法: 以i结尾的序列的最长递增子序列和其[0, i - 1]“前缀”的最长递增子序列有关,设LIS[i]保存以i结尾的最长递增子序列的长度:     若i = 0,则LIS[i] = 1:     若i > 0,则LIS[i]的值和其[0, i - 1]前缀的最长递增子序列长度有关,用j遍历[0, i - 1]得到其最长递增子序列为LIS[j],对每一个LIS[j],如果序列array[j

JavaScript运算符:递增和递减(++i,--i 和 i++,i-- 的区别)

递增和递减操作符直接借鉴自C,而且各有两个版本:前置型 (递增 ++i ,递减 --i )和 后置型 (递增 i++ ,递减 i-- ).书本上对两者的定义是:前置型应该位于要操作的变量之前,而后置型则应该位于要操作的变量之后.what?怎么那么难理解,换一种通俗易懂的语言去描述应该是咋样的......,结合提供代码,一顿白眼..... 前置型 (递增 ++i ,递减 --i ):  不就是先自身计算,再赋值给变量(先计算自己身上增加,减少了多少钱,再把它存到自己的银行卡里或者还给债主): 后置

重载运算与类型转换——基本概念,输入和输出运算符,算术和关系运算符,赋值运算符,下标运算符,递增和递减运算符,成员访问运算符

一.基本概念 重载的运算符时具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.和其他函数一样,重载的运算符也包含返回类型.参数列表以及函数体. 重载运算符函数的参数数量与该运算符作用的运算对象数量一样多.一元运算符有一个参数,二元运算符有两个.对于二元运算符来说,左侧运算对象传递给第一个参数,而右侧运算对象传递给第二个参数.除了重载的函数调用运算符operator()之外,其他重载运算符不能含有默认实参. 当一个重载的运算符时成员函数时,this绑定到左侧运算

递增和递减运算符

X=X+1      运用递增运算符可以重写如下:X++ 在上面的例子中,递增或递减运算符采用前缀或后缀格式都是相同的,但是,当递增或递减运算符作为一个较大的表达式的一部分,就会有所不同: 如果递增或递减运算符放在其运算数前面,JAVA就会在获得该运算数的值之前执行相应的操作,并将其用于表达式的其他部分: 如果运算符放在其运算数后面,JAVA就会先获得该操作数的值再进行递增或递减运算: 代码示例: public class IncDec { public static void main(Str

java递增和递减

java递减操作符“--”,减少一个单位,递增操作符“++” 增加一个单位. 有两种使用方式“前缀式”,“后缀式”. 前缀式:++a; --a; 前缀式会先执行运算,再生成值.后缀式先生成值后执行运算: package com.test; public class Test { public static void main(String str[]) { int i = 4; int a=0; System.out.println("++i:"+ ++i); System.out.p

DODAF2.0之能力是视角视角如何落地

DODAF2.0将架构的视角进行了拓展,其中将能力视角作为独立部分说明,使得顶层架构落地目标性更强,也就是所有的部队的建设内容要服务于部队的能力成长 §与前几版相比,2.0版将原来的三大视图(作战.技术和系统)转变为更为具体的视图.现在的视图有八种,分别是全视图.数据与信息视图.标准视图.能力视图.作战视图.服务视图.系统视图.项目视图 §AllViewpoint 体系结构描述中许多跨域性(overarching)方面与所有视图有关.全局视点模型提供了对整个体系机构描述都有关的信息,如体系机构描