// Update is called once per frame void Update() { if (busy) { currentTime += Time.deltaTime; if (currentTime > trailUpdateTime) { currentTime = 0; AddPointToTrail(transform.position); } } if (Input.GetKeyUp(KeyCode.Space)) { busy = false; } if (Input.GetKeyDown(KeyCode.Space)) { Vector3[] emptyVector = { }; Vector2[] emptyVector2 = { transform.position, transform.position }; trail.SetPositions(emptyVector); trail.positionCount = 1; trailCollider.Reset(); trailCollider.points = emptyVector2; trailCollider.isTrigger = true; trailCollider.edgeRadius = 0.4f; trail.SetPosition(0, transform.position); trail.SetPosition(1, transform.position); busy = true; } }
private void GenerateEdgeColliders(List <List <Vector2> > edgeColliderPoints) { GameObject edgeColliderContainer = GameObject.Find("EdgeColliders"); if (edgeColliderContainer != null) { DestroyImmediate(edgeColliderContainer); } GameObject edgeColliderContainerGO = new GameObject("EdgeColliders"); edgeColliderContainerGO.transform.SetParent(transform); for (int i = 0; i < edgeColliderPoints.Count; i++) { List <Vector2> edgePoints = edgeColliderPoints [i]; GameObject edgeColliderGO = Instantiate(edgeColliderPrefab, Vector3.zero, Quaternion.Euler(new Vector3(0, 0, 0))); EdgeCollider2D edgeCollider = edgeColliderGO.GetComponent <EdgeCollider2D> (); edgeCollider.Reset(); edgeCollider.points = edgePoints.ToArray(); edgeColliderGO.transform.SetParent(edgeColliderContainerGO.transform); edgeColliderGO.transform.localPosition = Vector3.zero; } }
static int Reset(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 1); EdgeCollider2D obj = LuaScriptMgr.GetNetObject <EdgeCollider2D>(L, 1); obj.Reset(); return(0); }
public void clearLine() { if (points == null) { return; } lineRenderer.positionCount = 0; points.Clear(); edgeCollider.Reset(); }
protected virtual void Reset() { if (m_LineRenderer != null) { m_LineRenderer.positionCount = 0; } if (m_EdgeCollider2D != null) { m_EdgeCollider2D.Reset(); m_EdgeCollider2D.transform.SetPositionAndRotation(new Vector3(0, 0), new Quaternion(0, 0, 0, 0)); } }
/// <summary> /// Initialize the line and collider used as a trail /// </summary> private void CreateLine() { currentLine = new GameObject("Line").AddComponent <LineRenderer>(); currentLine.material = new Material(Shader.Find("Sprites/Default")); currentLine.positionCount = 0; currentLine.startWidth = 0.2f; currentLine.endWidth = 0.4f; currentLine.startColor = Color.red; currentLine.endColor = Color.blue; currentLine.useWorldSpace = false; mCollider = currentLine.gameObject.AddComponent <EdgeCollider2D>(); mCollider.Reset(); }
void CreateMap() { line.SetVertexCount(pointArray.Length + 1); colliderEdge.Reset(); Vector2[] points = new Vector2[pointArray.Length + 1]; for (int i = 0; i < pointArray.Length; i++) { line.SetPosition(i, pointArray[i].position); points[i] = new Vector2(pointArray[i].localPosition.x, pointArray[i].localPosition.y); } line.SetPosition(pointArray.Length, pointArray [0].position); points[pointArray.Length] = new Vector2(pointArray[0].localPosition.x, pointArray[0].localPosition.y); colliderEdge.points = points; }
protected virtual void Reset() { if (m_LineRenderer != null) { m_LineRenderer.positionCount = 0; } if (m_Points != null) { m_Points.Clear(); } if (m_EdgeCollider2D != null && m_AddCollider) { m_EdgeCollider2D.Reset(); } }
public void test() { Vector3 mousePosition = m_Camera.ScreenToWorldPoint(Input.mousePosition); mousePosition.z = m_LineRenderer.transform.position.z; if (!m_Points.Contains(mousePosition)) { mousePosition = new Vector3(mousePosition.x, mousePosition.y, 0.0f); m_Points.Add(mousePosition); list.Add(new Vector2(mousePosition.x, mousePosition.y)); m_LineRenderer.positionCount = m_Points.Count; m_LineRenderer.SetPosition(m_LineRenderer.positionCount - 1, mousePosition); collider.Reset(); collider.points = list.ToArray(); } }
private void Reset() { if (lineRenderer != null) { lineRenderer.positionCount = 0; lineRenderer.SetColors(Color.white, Color.white); } if (points != null) { points.Clear(); } if (edgeCollider2D != null) { edgeCollider2D.Reset(); edgeCollider2D.enabled = false; } }
public static int Reset(IntPtr l) { int result; try { EdgeCollider2D edgeCollider2D = (EdgeCollider2D)LuaObject.checkSelf(l); edgeCollider2D.Reset(); LuaObject.pushValue(l, true); result = 1; } catch (Exception e) { result = LuaObject.error(l, e); } return(result); }
protected virtual void Reset() { //Debug.Log("m_LineRenderer " + m_LineRenderer); //Debug.Log("m_Points " + m_Points); //Debug.Log("m_EdgeCollider2D1 " + m_EdgeCollider2D.points[0]); //Debug.Log("m_EdgeCollider2D2 " + m_EdgeCollider2D.points[1]); if (m_LineRenderer != null) { m_LineRenderer.positionCount = 0; } if (m_Points != null) { m_Points.Clear(); } if (m_EdgeCollider2D != null && m_AddCollider) { m_EdgeCollider2D.Reset(); } }
/// <summary> /// 开始画东西前初始化准备 /// </summary> public override void startAction() { if (!initOver) { Debug.LogError("描绘需要的道具还没有初始化完成"); } Debug.Log("Canvas_startAction"); mousePos_List.Clear(); lastPos = null; for (int i = 0; i < colorBuff.Length; i++) { colorBuff[i] = new Color(0, 0, 0, 0); } r2d.simulated = false; sprite.transform.position = Vector3.zero; sprite.transform.rotation = Quaternion.Euler(Vector3.zero); r2d.velocity = Vector2.zero; sprite.transform.parent = null; colliderLine.Reset(); }
protected virtual void Reset() { if (m_LineRenderer != null) { m_LineRenderer.positionCount = 0; } if (m_Points != null) { m_Points.Clear(); } if (m_EdgeCollider2D != null && m_AddCollider) { m_EdgeCollider2D.Reset(); } Vector2[] puntos; puntos = new Vector2[2]; puntos[0] = new Vector2(0, 0); puntos[1] = new Vector2(0, 0); m_EdgeCollider2D.points = puntos; }
void ResetLines(List <Vector2> p, LineRenderer lr, EdgeCollider2D ec, float wallPos) { if (p != null) { p.Clear(); p.Add(new Vector2(Mathf.Sign(wallPos) * 200, 0)); p.Add(new Vector2(Mathf.Sign(wallPos) * 200, -800)); } if (lr.numPositions > 1) { lr.numPositions = 2; lr.SetPosition(0, p[0]); lr.SetPosition(1, p[1]); } if (ec.pointCount > 2) { //ec.points = new Vector2[1]; //ec.points[0].Set(0, 0); ec.Reset(); } }
public void GenerateTerrain() { vertices.Clear(); triangles.Clear(); borderPoints.Clear(); textureCoords.Clear(); // Get a reference to the mesh component and clear it MeshFilter filter = GetComponent <MeshFilter> (); mesh = filter.mesh; mesh.Clear(); points = terrainGenerator.GenerateKeyPoints(); CreateCurve(); CreateTrees(); CreateRocks(); //Set the points for the edge collider EdgeCollider2D edgeCollider = GetComponent <EdgeCollider2D> (); edgeCollider.Reset(); edgeCollider.points = borderPoints.ToArray(); endPoint = borderPoints [borderPoints.Count - 1]; // Assign the vertices and triangles to the mesh mesh.vertices = vertices.ToArray(); mesh.uv = textureCoords.ToArray(); mesh.triangles = triangles.ToArray(); mesh.RecalculateBounds(); mesh.RecalculateNormals(); }
// Update is called once per frame void Start() { edgeColl.Reset(); }
public void Reset() { line.positionCount = 0; edgeCollider.Reset(); listPointsEdgeCollider.Clear(); }
void Update() { if (Input.GetMouseButtonDown(0)) { mousePos_List.Clear(); isbutoon = true; for (int i = 0; i < Screen.width * Screen.height; i++) { colorBuff[i] = new Color(0, 0, 0, 0); } lastPos = null; rig.simulated = false; sprite.transform.position = Vector3.zero; sprite.transform.rotation = Quaternion.Euler(Vector3.zero); rig.velocity = Vector2.zero; sprite.transform.parent = null; colliderLine.Reset(); } else if (Input.GetMouseButtonUp(0)) { isbutoon = false; Vector2[] aa = new Vector2[mousePos_List.Count]; float[] aaCount = new float[2] { 0, 0 }; for (int i = 0; i < mousePos_List.Count; i++) { aa[i] = Camera.main.ScreenToWorldPoint(mousePos_List[i]) / spriteScale; aaCount[0] += aa[i].x; aaCount[1] += aa[i].y; } Vector2 tt2 = new Vector2(aaCount[0] / aa.Length, aaCount[1] / aa.Length); rig.centerOfMass = tt2; colliderLine.points = aa; rig.simulated = true; sprite.transform.parent = map; } if (isbutoon) { Vector3 newPos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0); if (newPos.x - outLine < 0 || newPos.x + outLine > Screen.width || newPos.y - outLine < 0 || newPos.y + outLine > Screen.height) { return; } if (lastPos != null) { Vector3 a = newPos - (Vector3)lastPos; float disD = Vector3.SqrMagnitude(a); Vector3 zhud = (Vector3)lastPos + a.normalized; while (Vector3.SqrMagnitude((zhud - (Vector3)lastPos)) < disD) { for (int i = -outLine; i < outLine; i++) { for (int j = -outLine; j < outLine; j++) { try { colorBuff[sw * ((int)zhud.y + i) + ((int)zhud.x + j)] = Color.black; } catch { Debug.LogError(zhud.x + " " + zhud.y); } } } zhud = zhud + a.normalized; } lastPos = newPos; mousePos_List.Add(newPos); } else { for (int i = -2; i < 2; i++) { for (int j = -2; j < 2; j++) { colorBuff[sw * ((int)newPos.y + i) + ((int)newPos.x + j)] = Color.black; } } mousePos_List.Add(newPos); lastPos = newPos; } td.SetPixels(colorBuff); td.Apply(true); Sprite spriteA = Sprite.Create(td, new Rect(0, 0, Screen.width, Screen.height), new Vector2(0.5f, 0.5f)); sprite.sprite = spriteA; } }