我有一个maplestory游戏演示
我需要角色可以从一侧跳过对手
我角色和地面的对撞机是这样的:
性格:capsulecollider2d
地面:polygoncollider2d
所以角色可以站在地上
也可以跳到地上
但是现在我想从地下跳下角色,它无法奏效
那么,我该如何处理这个问题呢?是否有配置可以使对撞机只有一侧?
------------------------------------- 2017 08 11 ---------- ---------------------------
非常感谢每一个人
谢谢你@EmreE @Jeroen De Clercq
我使用@EmreE提供的Platform Effector 2D解决了这个问题
第一步:在我的地面上添加平台效应器2d并选择"单向使用"
第二步:选择"由效应器使用"
现在它的工作:)
我正在努力让一个单位在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) 我在移动2D统一游戏中有多个场景,我想在启动画面中加载我的所有场景,以便场景传递顺畅.我怎样才能做到这一点 ?
如果我这样做,我是否需要更改"Application.LoadScene()"方法,我可以使用哪种方法?
我想动态创建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)
我尝试了数千个帖子,但什么也没发生
我开始使用Unity,我注意到即使代码变化很小,也会产生大量的git差异.
最初,我.gitignore刚刚有这个:
Temp/
但它没有做太多繁重的工作.
我在Github上找到了这个.gitignore模板,但我很好奇是否有其他人使用它 - 无论是起点还是原样.
我有一个函数,检查游戏对象是否可以看到另一个游戏对象,而不会阻止其视图:
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能够忽略它们.有任何想法吗?