*   -----英雄的移动控制
*
*
*
*
*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class HeroMovingControl : MonoBehaviour
{
public float FloHeroMovingSpeed = 1F; //运动的速度
public float _FloHeroGaravity=1F; //英雄的重力 private CharacterController _ChaHeroControl; //英雄角色控制器
private Vector3 _VecHeroMoving; //英雄移动 private Transform _TranCamera; //摄像机的方位
private Vector3 _VecCameraRotation; //摄像机旋转 // Use this for initialization
void Start () {
//得到角色控制器
_ChaHeroControl = this.GetComponent<CharacterController>();
//得到摄像机的方位
_TranCamera = Camera.main.transform;
} // Update is called once per frame
void Update()
{
/* 英雄的旋转*/
//摄像机旋转
float FloX = Input.GetAxis("Mouse X");
float FloY = Input.GetAxis("Mouse Y");
_VecCameraRotation.y+= FloX;
_VecCameraRotation.x -= FloY;
_TranCamera.transform.eulerAngles = _VecCameraRotation;
//英雄的旋转
this.transform.eulerAngles = new Vector3(0, _VecCameraRotation.y,0); /* 英雄的移动 */
_VecHeroMoving = Vector3.zero;
//英雄的重力
_VecHeroMoving.y -= _FloHeroGaravity;
if (Input.GetKey(KeyCode.W))
{
_VecHeroMoving.z += FloHeroMovingSpeed * Time.deltaTime;
}
else if (Input.GetKey(KeyCode.S))
{
_VecHeroMoving.z -= FloHeroMovingSpeed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.A))
{
_VecHeroMoving.x -= FloHeroMovingSpeed * Time.deltaTime;
}
else if (Input.GetKey(KeyCode.D))
{
_VecHeroMoving.x += FloHeroMovingSpeed * Time.deltaTime;
}
//Move()方法必须使用世界坐标系
_ChaHeroControl.Move(this.transform.TransformDirection(_VecHeroMoving));
}
}

  

3D游戏的角色移动和旋转的更多相关文章

  1. 3D游戏的角色移动

    * -----英雄的移动控制 * * * * */ using System.Collections; using System.Collections.Generic; using UnityEng ...

  2. 3D游戏开发之在UE4中创建非玩家角色(NPC)

    接着上节我们继续学习,现在我们来创建一些NPC(non-playable characters,非玩家角色).在这个游戏中,当我们靠近NPC时,它们会做出相应的反应. 一 创建C++类 1) 在UE编 ...

  3. 2D游戏与3D游戏的区别 原文:https://zhidao.baidu.com/question/588490865.html

    2D和3D间有哪些不同点呢? 让我们来比较一下,共同找出它俩之间的不同点. 对玩家来说,2D技术和3D技术只是显示数据的方式而已,玩家都是通过二 维的平面显示器来观看它们.对制作者来说,二者的不同之处 ...

  4. 介绍用C#和VS2015开发基于Unity架构的2D、3D游戏的技术

    [Unity]13.3 Realtime GI示例 摘要: 分类:Unity.C#.VS2015 创建日期:2016-04-19 一.简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图 ...

  5. 转载:[转]如何学好3D游戏引擎编程

      [转]如何学好3D游戏引擎编程 Albert 本帖被 gamengines 从 游戏引擎(Game Engine) 此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的 ...

  6. WebGL实现HTML5贪吃蛇3D游戏

    js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型, ...

  7. Unity3D 之3D游戏SD快打 3D游戏基础入门开发全(1)

    这里记录一个U3D游戏,3D游戏的基本开发. 导入素材 1.首先导入需要的素材.因为FBX格式的素材是通用的,所以尽量导入这样的资源使用 导入后的结果: 然后对人形骨骼进行设置. 看哪里没有映射到骨骼 ...

  8. Unity3D ——强大的跨平台3D游戏开发工具(六)

    第十一章 制作炮台的旋转 大家知道,炮台需要向四周不同的角度发射炮弹,这就需要我们将炮台设置成为会旋转的物体,接下来我们就一起制作一个会旋转的炮台. 第一步:给炮台的炮筒添加旋转函数. 给炮台的炮筒部 ...

  9. 【★】致全球第一批全帧3D游戏!

    图一 游戏片头 致逝去的青春记忆. 好久没人玩Ballance了吧,贴吧里貌似早已冷掉了. 作为一款经典游戏,Ballance的宣传却做得不到位,官方的介绍甚至没能展现出它的全部诱人之处.所以笔者决 ...

随机推荐

  1. 使用PHP进行SOCKET编程

    一.SOCKET原理图 二.SOCKET常用函数 1.创建socket函数: resource socket_create ( int $domain , int $type , int $proto ...

  2. vue之综合Demo:打沙袋

    demo7.html <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1 ...

  3. Java多线程之单例模式(线程安全)

    package org.study2.javabase.ThreadsDemo.sync; /** * @Auther:GongXingRui * @Date:2018/9/20 * @Descrip ...

  4. group by具有去重的功能

    group by具有去重的功能

  5. git bash 下操作文件及文件夹命令

    1, cd : change directory的简写,改变目录的意思,就是切换到哪个目录下, 如 cd e:\fff  切换 E 盘下面的fff 目录. 当我们用cd 进入文件夹时,我们可以使用 通 ...

  6. Nginx tcp限制并发、IP、记日志

    L:114 Syntax: limit_conn_zone key zone=name:size;//类似http limit_conn 需要开个共享内存  zone=name(共享内存名称):siz ...

  7. JarvisOJ BASIC 德军的密码

    已知将一个flag以一种加密形式为使用密钥进行加密,使用密钥WELCOMETOCFF加密后密文为 000000000000000000000000000000000000000000000000000 ...

  8. spi slaver接口的fpga实现

    前言 spi从机接口程序,数据位8bit,sck空闲时低电平,工作时第一个沿数据传输.只有一个从机,cs低电平片选,slaver开始工作. 流程: 接口定义: 编码实现:(版权所有,请勿用于商业用途, ...

  9. Codeforces Round #530 (Div. 2) A,B,C,D

    A. Snowball 链接:http://codeforces.com/contest/1099/problem/A 思路:模拟 代码: #include<bits/stdc++.h> ...

  10. swagger如何测试List类型参数

    使用swagger 时,往往会用到类似下面这样的注解 @ApiImplicitParam(name = "id", value = "主键", dataType ...