问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编程语言update is called once per frame什么鬼

发布网友 发布时间:2023-07-14 15:50

我来回答

2个回答

热心网友 时间:2024-12-03 12:09

Unity3d人工智能确定性AI算法。

核心代码:
using UnityEngine;
using System.Collections;

public class PlayObject : MonoBehaviour
{
[HideInInspector]
public float moveVx;//x方向的分速度
[HideInInspector]
public float moveVy;//y方向的分速度
/// <summary>
/// 2维坐标(x,y)
/// </summary>
public Vector2 Position
{
get
{
return new Vector2(this.transform.position.x, this.transform.position.y);
}
}
private Vector2 _vHeading;
/// <summary>
/// //设置导弹的前进方向的归一化向量m_vHeading
/// </summary>
public Vector2 vHeading
{
get
{
float length = Mathf.Sqrt(moveVx * moveVx + moveVy * moveVy);
if (length != 0)
{
_vHeading.x = moveVx / length;
_vHeading.y = moveVy / length;
}
return _vHeading;
}
}
private Vector2 _vSide;
/// <summary>
/// 前进方向的垂直向量
/// </summary>
public Vector2 vSide
{
get
{
_vSide.x = -vHeading.y;
_vSide.y = vHeading.x;
return _vSide;
}
}

/// <summary>
/// 速度向量
/// </summary>
public Vector2 Velocity
{
get
{
return new Vector2(moveVx, moveVy);
}
}
/// <summary>
/// 速度标量
/// </summary>
public float Speed
{
get
{
return Mathf.Sqrt(moveVx * moveVx + moveVy * moveVy);
}
}
public float MaxSpeedRate;
// Use this for initialization
void Start()
{
}

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

}
/// <summary>
/// 移动物体
/// </summary>
/// <param name="speedRate">移动的速度率,一般为1</param>
/// <param name="isLookAtVelocityVector">是否要这是速度矢量与物体的朝向一致</param>
public void Move(float speedRate, bool isLookAtVelocityVector)
{
this.transform.position += new Vector3(moveVx * Time.deltaTime, moveVy * Time.deltaTime, 0) * speedRate;
// Debug.Log("x:" + m_postion.x + "y:" + m_postion.y);
//调整导弹的朝向是的它和速度矢量合成方向一样
if (isLookAtVelocityVector)
{
LookAtVelocityVector();
}
}
/// <summary>
/// 使得物体始终朝向矢量速度的方向
/// </summary>
void LookAtVelocityVector()
{
float zAngles = Mathf.Atan(moveVx / moveVy) * (-180 / Mathf.PI);
if (moveVy == 0)
{
zAngles = moveVx > 0 ? -90 : 90;
//跟以往的计算角度不同的是,这里加了moveVx==0的独立判断,这样可以在不控制的时候保持原状态
if (moveVx == 0)
{
zAngles = this.transform.rotation.eulerAngles.z;
}
}

if (moveVy < 0)
{
zAngles = zAngles - 180;
}
Vector3 tempAngles = new Vector3(0, 0, zAngles);
Quaternion tempQua = this.transform.rotation;
tempQua.eulerAngles = tempAngles;
this.transform.rotation = tempQua;
}
}

热心网友 时间:2024-12-03 12:10

update is called once per frame意思是游戏画面动作每帧更新一次
与之对应
Start is called before the first frame update在第一帧更新之前调用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“笑指旧山归路长”的出处是哪里 PCB为什么要拼板,PCB拼板打样有哪些好处? 绘制紫外吸收光谱时,我发现最大吸收波长是333nm,此时吸光度为4.01 对吸光度测量值有何影响? 陆垚知马俐的歌词是什么? 玫瑰花水中的养殖方法 陈年柚子茶如何做 陈年柚子茶的制作方法 在答题卡上改题号是指那一道题扣分还是整个卷子都没? ...考试时我写到了卷子上,会怎么样?会不会按抄袭 高考时在卷子上不小心画了道怎么办? 风扇电容多大合适呢? 为《读者》默默付出的 小黑孩 问个很傻的问题:宝儿是韩国的还是日本的? 宝儿是谁啊? 瓦当 不知道是什么朝代的 请大家帮忙看看 汉瓦当是什么 求解文字, 西宁到大河沿子镇坐高铁怎么走 乌鲁木齐到霍尔果斯火车途径哪些地方 为什么家里的植物总是养不活 最近手机总是来“彩信趣事” 而且是什么134号码开头发来的 怎么回事... 哈尔滨大树装饰工程设计有限公司怎么样? 成都大树装饰工作怎么样 哈尔滨大树装饰工程设计有限公司电话是多少? 成都环保装修方面需要注意些什么?成都大树怎么样? 哈尔滨装修公司谁家保证没增项?花钱最多的是什么 看90后设计师如何搞定小户型 大树装饰&#x200B;半年前收取订金 到施工时间 拖沓不开工 设计师满口谎言 投 ... 2022安徽主任医师四级岗位工资 vv7发动机哪里产的? no monobehaviour scripts in the file是什么 错误 你比我优秀怎么回复 你比我优秀多了,大事小事都是你在操心。辛苦您了,如何高情商回_百度... 写给所有女孩子话 ...想和好的条件:第一条承认我的错误,第二条保证以后。。。_百度... 天才麻将少女老板娘指的是谁 天才麻将少女里有百合内容? 行政拘留期间怎么探视 胡永凯的作品评价 ...安卓版的?真心希望能再玩玩,在哪里可以下载?塞班版的也可以。_百度... 教育综合知识简述综合实践活动的基本过程 如何应对气象灾害 气象灾害的种类有哪些 人有几个声带 怎么使用PS将一张背景图裁剪为六边形的效果_ps怎么把图片弄成六边形_百度... 人身保险可以变更受益人吗 单田芳讲连环套是哪一年?紧跟着的是大唐惊雷。 单田芳的评书,连环套里面,为什么三侠剑评书里的人物全都成了反派了... 幼儿科学小常识手抄报 江团和梭边鱼哪个贵 广西定向清华选调生的待遇