增加了控制跑步时间的移动脚本

using UnityEngine;
using System.Collections;

public class MySoliderMove : MonoBehaviour
{

Transform _head;

Transform _gun;

public float workTime;
float _runTime=10;
bool isEmpty;
// Use this for initialization
void Start()
{
_head = transform.FindChild("Head");
_gun = transform.FindChild("M16");

}

// Update is called once per frame
void Update()
{

// Cursor.lockState = CursorLockMode.Locked;
_gun.forward = _head.forward; //让枪指向相机的中间位置
Move();
Rotate();
Run();

Jump();
}

[SerializeField]
float moveSpeed = 10f;
void Move()
{
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");

Vector3 desPos = Vector3.right * horizontal + Vector3.forward * vertical;
transform.Translate(desPos * Time.deltaTime * moveSpeed);

}

void Run()
{
if (Input.GetKey(KeyCode.LeftShift)&&!isEmpty) //能量槽不空才能进入循环
{
workTime += Time.deltaTime; //跑步时间
moveSpeed = 30f; //加速

if (workTime>_runTime) //如果跑步的时间超过了上限
{
isEmpty = true; //设置为空
}
}
else
{
if (workTime>0)
{
workTime -= Time.deltaTime;
}
else
{
workTime = 0;
isEmpty = false;
}
moveSpeed = 10f; //其他情况下的速度都为正常值
}
}

void Jump()
{
if (Input.GetKeyDown(KeyCode.Space))
{
transform.Translate(Vector3.up*1.9f);
}
}

float rotationY = 0f;
[SerializeField]
float rotateSpeed = 20f;
void Rotate()
{
float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");

transform.Rotate(mouseX * Vector3.up * rotateSpeed);

rotationY += mouseY;

rotationY = Mathf.Clamp(rotationY, -60, 60); //控制人物视野

_head.localEulerAngles = Vector3.left * rotationY;

//public class FirstView : MonoBehaviour
//{

// 方向灵敏度
// public float sensitivityX = 10F;
// public float sensitivityY = 10F;

// 上下最大视角(Y视角)
// public float minimumY = -60F;
// public float maximumY = 60F;

// float rotationY = 0F;

// void Update()
// {
// 根据鼠标移动的快慢(增量), 获得相机左右旋转的角度(处理X)
// float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;

// 根据鼠标移动的快慢(增量), 获得相机上下旋转的角度(处理Y)
// rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
// 角度限制. rotationY小于min,返回min. 大于max,返回max. 否则返回value
// rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);

// 总体设置一下相机角度
// transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
// }

// void Start()
// {
// Make the rigid body not change rotation
// if (rigidbody)
// rigidbody.freezeRotation = true;
// }

}

}

时间: 2024-10-16 10:27:48

增加了控制跑步时间的移动脚本的相关文章

Oracle中ID的自动增加以及获取系统时间的小技巧

引自http://blog.csdn.net/lejuo/article/details/4479065 ID自动增加,就像MS- SQL Server里面创建表格时,给表的主键设置为自动增加一样. 在Oracle里面,通过如下的SQL语句实现:(plsql可以直接在sequence创建) -- Create sequence create sequence MSG_IN_ID_SEQminvalue 1maxvalue 999999999999999999999999999start with

嵌入式实时操作系统μCOS原理与实践任务控制与时间的解析

/***********************************************************************************************************                                                uC/OS-II*                                          The Real-Time Kernel  RTOS* ***************

捕鱼达人3-通过修改系统时间获取金币脚本

前段时间在玩捕鱼达人3,觉得挺有意思,虽然每隔4个小时有金币送,但是还是不够挥霍,在网上找攻略,说修改系统时间可以领取金币,就用了一段时间,但是觉得挺麻烦,就写了个脚本 1.手机要拥有root权限,安装busybox,能使用更多Linux命令,最重要是开启telnetd服务 2.PC上最好安装adb工具箱,当然手机上安装终端也可以,但打字敲代码都很麻烦 3.PC安装手机驱动,使电脑adb可以识别手机 4.adb devices命令查看连接到电脑的设备 5.adb shell 进入shell模式,

在java中将日期(Date类型的数据)增加或减少一定时间的方法

实现的功能:数据来源一般都是从数据库获取的日期类型数据,本例只介绍获取当前时间后,在当前时间基础上增加15分钟. Date date = new Date();date.setTime(date.getTime() + 15*60*1000);System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(date)); 原文地址:https://www.cnblogs.com/elnimo/p/106

[转]iOS 中几种定时器 - 控制了时间,就控制了一切

这篇文章是转载内容,原文地址:http://www.cocoachina.com/ios/20150519/11857.html?utm_source=tuicool 这里的知识点,其实在我们日常开发中还是比较常见的,例如本人之前写过的两篇随笔: NSTimer 的使用:178实现满天飞雪效果 CADisplayLink 的使用:156 UIImageView 和 CADisplayLink 实现 Tom 汤姆猫动画效果的区别(扩展知识:分组(黄色文件夹)和文件夹引用(蓝色文件夹)区别) ---

jsp:通过Session控制登陆时间和内部页面的访问

一,通过session的关闭浏览器销毁,和使用getAttribute设置session对象值来控制页面用户是否有权限进入. 1,以下是登陆页面的代码,使用表单提交数据给一个servlet进行数据的处理 <form action="com.in.User" method="post"> <div class="loginbox"> <div class="errorbox"><i cl

时间盲注脚本.py

时间盲注脚本 #encoding=utf-8 import httplib import time import string import sys import random import urllib headers = {} payloads = '[email protected]_.ABCDEFGHIJKLMNOPQRST' print '[%s] Start to retrive MySQL User:' % time.strftime('%H:%M:%S', time.localt

日志备份和按时间删除日志脚本实现

2019/2/25 星期一 需求:在生产上,要把服务器日志传到日志备份服务器上 生产服务器上只保留7天前的日志 用shell脚本实现 备份脚本为 [root@xxx scripts]# cat back_log.sh #!/bin/bash #majihui #backup prd3 block log to ip #2019/2/25 /usr/bin/rsync -az /ivargo/log/* root@ip:/ivargo/prd3/$HOSTNAME/ 然后做定时任务,每天凌晨1点传

控制广告时间

// XMGAdViewController.m #import "XMGAdViewController.h" #import <AFNetworking/AFNetworking.h> #import "XMGADItem.h" #import <MJExtension/MJExtension.h> #import <UIImageView+WebCache.h> #import "XMGTabBarControll