这是 playbook 中最重要的部分:

    void Update()
    {
        transform.Translate(Vector2.right * speed * Time.deltaTime);
    }

这是为了让我的游戏对象朝正确的方向移动,但如果我旋转游戏对象180*,右边变成左边,我怎么才能让右边保持右边.

I Created an empty gameobject called "Obstacle" object where I store 2 of those objects called "hand"
So I have 2child objects called hand in the parent Obstacle, I want right to be right for all of them no matter if they are rotated or anything.

我也想动画他们,我做了一个测试和动画的对象不会移动他们了.

它会初始化对象,但它不会移动.

推荐答案

回答你问题的第一部分:

transform.translate在对象的相对空间中工作,并与其自己的轴对齐,而不是与世界对齐.因此,如果你旋转物体,Vector.right将在那个精确的参考系中返回正确的方向.如果您希望对象始终向右移动,与其方向无关,您可能希望try 类似于transform.Translate(Vector2.right * speed * Time.deltaTime, Space.World);的内容,如官方文档中所述:docs.unity3d.com/ScriptReference/Transform.Translate.html.

Csharp相关问答推荐

有没有方法让ASP.NET Core模型绑定器使用私有设置器来设置属性?

无法从具有一对多关系的C#类中使用Swagger创建记录

==和Tuple对象的相等<>

为什么总输出就像12.3没有一分一样?

如何在C#中使用正则表达式抓取用逗号分隔的两个单词?

如何定义EFCore中的多个穿透

从应用程序图API调用访问所有者字段

如何在C#中从正则表达式中匹配一些数字但排除一些常量(也是数字)

注册所有IMediatR类

用C#从Word文档中删除重复的节控件和文本内容控件

CA1508:';NULL=>;TRUE;始终为';TRUE';.移除或重构条件(S)以避免死代码

记录类型';==运算符是否与实现IEquatable<;T&>;的类中的';equals&>方法执行等价比较?

有条件地定义预处理器指令常量

如何使用Npgsql从SELECT获得所有查询结果

Blazor Server/.NET 8/在初始加载时调用异步代码是否冻结屏幕,直到第一次异步调用完成?

用于获取字符串的最后12个字符的正则表达式(空格除外)

从Base64转换为不同的字符串返回相同的结果

Blazor服务器项目中的Blazor/.NET 8/Web API不工作

从MudAutoComplete打开对话框,列表仍然可见

读取测试项目中的应用程序设置