43746人加入学习
(204人评价)
【旧版】Unity初级案例 - 愤怒的小鸟

制作完成于 2018-1-22 本教程基于 Unity 2017.2开发

价格 免费

11-弹弓划线操作

左边树枝创建【空物体:leftPos】移动到橡皮筋处

 

给左右树枝添加【Line Renderer】

Materials--Element 0--Sprites-Def..--color:吸取皮带上颜色

width:0.2

 

打开Bird脚本

获取到2个组件

 public LineRenderer right;

 public LineRenderer left;

public Transform leftPos;

 

画线函数 line()

void Line(){

        right.SetPosition(0, rightPos.position);
        right.SetPosition(1, transform.position);

        left.SetPosition(0, leftPos.position);
        left.SetPosition(1, transform.position);

}

 

放在

transform.position = pos + rightPos.position;

            }后

Line();

 

最后:给脚本赋值,子物体拿过去

 

 

 

 

 

 

[展开全文]

11.line renderer组件;line renderer.set position;

[展开全文]

本课代码

using UnityEngine;

public class bird : MonoBehaviour
{
    public Transform rightPos;
    public Transform leftPos;
    bool isClick = false;
    public float maxDis = 3;
    SpringJoint2D sp;
    Rigidbody2D rb;
    public LineRenderer dangonghuaxian_you;
    public LineRenderer dangonghuaxian_zuo;
    // Start is called before the first frame update
    private void OnMouseDown()//鼠标按下时
    {
        isClick = true;
        sp.enabled = true;
        rb.isKinematic = true;
    }
    private void OnMouseUp()//鼠标松开时 
    {
        isClick = false;
        rb.isKinematic = false;
        Invoke("Fly", 0.1f);
    }
    private void Awake()
    {
        sp = GetComponent<SpringJoint2D>();
        rb = GetComponent<Rigidbody2D>();
        
    }

    // Update is called once per frame
    void Update()
    {
        if (isClick)
        {
            transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            transform.position += new Vector3(0, 0, -Camera.main.transform.position.z);
            if (Vector3.Distance(transform.position, rightPos.position) > maxDis)
            {
                Vector3 pos = (transform.position - rightPos.position).normalized;
                pos *= maxDis;
                transform.position = pos + rightPos.position;
            }
            dangonghuaxian_zuo.SetPosition(0,transform.position);   
            dangonghuaxian_zuo.SetPosition(1,leftPos.position);
            dangonghuaxian_you.SetPosition(0, transform.position);
            dangonghuaxian_you.SetPosition(1, rightPos.position);
        }
    }
    void Fly()
    {
        sp.enabled = false;
    }
}
 

[展开全文]

LineRenderer组件//画线,(主要用于3D游戏制作)

setPosition(,坐标);

[展开全文]


LineRenderer   线渲染器类
线渲染器用于在 3D 空间中绘制自由浮动线。
LineRenderer lineRenderer;
lineRenderer.SetPosition(0, 弹弓左边的坐标);
lineRenderer.SetPosition(1, 小鸟坐标);

[展开全文]

第11节

Line Renderer

当你想去选中一个物体上的某一个点时,可以在它身上创建一个空的子物体,让子物体的坐标位于相应的点处。

 

[展开全文]

弹弓划线操作。

确定两个划线点。

划线,,lineRender

左边右边都加上, 改变颜色。

 

[展开全文]

Line Renderer: 可用于画线

 

setposition(0,rightpos.position);

setposition(1,transform.position);

[展开全文]

画线操作

 

添加Line Renderer  更多用于3

 

 

[展开全文]

LineRenderer画线,弹弓线

[展开全文]

这一章的画线可能遇到一些问题,

在最新版本的UnityD中的LineRenderer中“Use World Space”并不是默认勾选的,

导致画出的线在2D中拉伸正常但位置不对。

解决方法:

1.在属性中将“Use World Space”勾选

2.在代码画线函数中设置

 right.useWorldSpace = true;

 left.useWorldSpace = true;

[展开全文]

弹弓的画线操作

给左边的树枝添加一个空物体

添加一个组件 Line Render 组件

给右边的树枝的空物体添加一个 Line Render 组件

然后我们需要在脚本中对画线组件进行操作

 

 

[展开全文]

public LineRenderer right;

public TransForm rightPos;

public LineRenderer left;

public Transform leftPos;

 

void Line()

{

right.SetPosition(0,rightPos.position);

right.SetPosition(1,transform.position);

 

left.SetPosition(0,leftPos.position);

left.SetPosition(1,transform.position);

}

[展开全文]

line renderer,设置颜色

获取组件,获取画线的点

[展开全文]

授课教师

SIKI学院老师

课程特色

图文(1)
下载资料(1)
视频(44)