【发布时间】:2021-04-14 04:41:42
【问题描述】:
我正在开发一个 2D Unity 项目,它是一个平台游戏,但您可以通过重力控制角色。对于游戏,我需要让它当你转动重力说,向上,它应该翻转精灵倒置。到目前为止,这是我在 C# 脚本中附加到角色游戏对象的代码。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class GravityController2d : MonoBehaviour
{
enum GravityDirection { Down, Left, Up, Right };
public Animator animator;
public GameObject Game_object;
private Vector3 chestPos = new Vector3(6.69f, 1.45f, 0.0f);
void Start()
{
Physics2D.gravity = new Vector2(0f, -9.8f);
}
void FixedUpdate()
{
if (Input.GetKeyDown(KeyCode.DownArrow))
{
Physics2D.gravity = new Vector2(0f, -9.8f);
//flip
}
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
Physics2D.gravity = new Vector2(-9.8f, 0f);
//flip
}
if (Input.GetKeyDown(KeyCode.UpArrow))
{
Physics2D.gravity = new Vector2(0f, 9.8f);
//flip
}
if (Input.GetKeyDown(KeyCode.RightArrow))
{
Physics2D.gravity = new Vector2(9.8f, 0f);
//flip
}
}
}
编辑:我使用的标签是 Unity2D,但它自动将其更正为 unity3d,所以这是我的借口。
另外:它还需要能够翻转 90 度,以防玩家切换重力向左/向右移动
【问题讨论】:
-
unity2d和unity3d是同义词 .. 它是相同的游戏引擎,只是忽略了 Z 轴;)我也怀疑你会总是想要翻转精灵...可能只有当它没有朝向正确的方向时;) -
欢迎新用户,您正在寻找flipX .. docs.unity3d.com/ScriptReference/SpriteRenderer-flipX.html
-
Uhh .. Der 已经完美解释了,对不起! :)
-
我只需要将它旋转 90 度,我需要它,因为我想在我的游戏中改变重力时翻转它