标签: unity2d

unity2d创造了一个侧面对撞机

我有一个maplestory游戏演示

我需要角色可以从一侧跳过对手

我角色和地面的对撞机是这样的:

性格:capsulecollider2d

地面:polygoncollider2d

在此输入图像描述

所以角色可以站在地上

在此输入图像描述在此输入图像描述

也可以跳到地上

但是现在我想从地下跳下角色,它无法奏效

在此输入图像描述

那么,我该如何处理这个问题呢?是否有配置可以使对撞机只有一侧?

------------------------------------- 2017 08 11 ---------- ---------------------------

非常感谢每一个人

谢谢你@EmreE @Jeroen De Clercq

我使用@EmreE提供的Platform Effector 2D解决了这个问题

在此输入图像描述

第一步:在我的地面上添加平台效应器2d并选择"单向使用"

第二步:选择"由效应器使用"

在此输入图像描述

现在它的工作:)

在此输入图像描述

c# unity-game-engine unity2d

6
推荐指数
1
解决办法
934
查看次数

在继续使用C#Unity功能之前,请等待协程完成

我正在努力让一个单位在Unity2d中通过网格移动.我让运动顺利运转.我希望函数MovePlayer等到协程完成后再继续,所以程序将等到玩家完成移动后再发出更多订单.

这是我的代码:public class Player:MonoBehaviour {

public Vector3 position;
private Vector3 targetPosition;

private float speed;

void Awake ()
{
    speed = 2.0f;
    position = gameObject.transform.position;
    targetPosition = position;
    GameManager.instance.AddPlayerToList(this);                     //Register this player with our instance of GameManager by adding it to a list of Player objects. 
}

//Function that moves the player, takes a list of nodes as path
public void MovePlayer(List<Node> path)
{
    StartCoroutine(SmoothMovement(path));
    //Next step should wait until SmoothMovement is finished
}

private IEnumerator SmoothMovement(List<Node> path)
{
    float step …
Run Code Online (Sandbox Code Playgroud)

c# coroutine unity2d

5
推荐指数
1
解决办法
7023
查看次数

在启动画面期间加载所有场景

我在移动2D统一游戏中有多个场景,我想在启动画面中加载我的所有场景,以便场景传递顺畅.我怎样才能做到这一点 ?

如果我这样做,我是否需要更改"Application.LoadScene()"方法,我可以使用哪种方法?

c# splash-screen unity-game-engine unity2d

4
推荐指数
1
解决办法
1375
查看次数

统一错误:设置位于预制件中的变换的父级被禁用以防止数据损坏

我想动态创建ui按钮,

我有一个预制件,

这是代码:

  public class SFSConnect : MonoBehaviour {
        SmartFox sfs;

        public GameObject cnv1;
        public GameObject potchPrf;
        public Canvas fCanvas;
    void Start () {
    fCanvas = cnv1.GetComponent<Canvas> ();

            Button ptf1 = potchPrf.GetComponent<Button> ();

            Instantiate(ptf1,new Vector3 (0, 0, 10), Quaternion.identity);


            potchPrf.transform.SetParent (fCanvas.transform);
    }

}
Run Code Online (Sandbox Code Playgroud)

我尝试了数千个帖子,但什么也没发生

c# unity-game-engine unity2d

4
推荐指数
1
解决办法
7785
查看次数

你的.gitignore文件对于Unity项目是什么样的?

我开始使用Unity,我注意到即使代码变化很小,也会产生大量的git差异.

最初,我.gitignore刚刚有这个: Temp/

但它没有做太多繁重的工作.

我在Github上找到了这个.gitignore模板,但我很好奇是否有其他人使用它 - 无论是起点还是原样.

unity-game-engine unity5 unity2d

1
推荐指数
1
解决办法
3622
查看次数

如何使光线投射忽略触发器对撞机?

我有一个函数,检查游戏对象是否可以看到另一个游戏对象,而不会阻止其视图:

public bool CheckVision(GameObject target)
{
    RaycastHit2D ray = (Physics2D.Raycast(transform.position, target.transform.position - transform.position, m_VisionRange));
    if(ray.collider.name == target.name)
    {
        Debug.DrawRay(transform.position, target.transform.position - transform.position);
        return true;               
    }
    else
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

唯一的问题是我不希望它与设置了"isTrigger"标志的碰撞器碰撞; 我希望raycast能够忽略它们.有任何想法吗?

c# unity-game-engine raycasting unity2d

1
推荐指数
2
解决办法
3249
查看次数