Unity3D画笔 涂鸦 签字


试过可用unity2017 和5.6执行
可以在选项进行改变颜色 和条形选项改变笔的粗细
可以取消清除
资源截图
代码片段和文件信息
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Mspaint : MonoBehaviour 
{

    private Color paintColor = Color.red;
private float paintSize = 0.3F;
private LineRenderer currentLine;
private List positions=new List();
    private Listject> lines = new Listject>();
private bool isMouseDown = false;
private Vector3 lastMousePostion = Vector3.zero;
private float lineDistance = 0.1F;


    public Material m_LineMaterial;
    public Text m_SizeValue;

void Update()
    {
if (Input.GetMouseButtonDown (0))
        {
Gameobject go = new Gameobject ();
           
go.transform.SetParent (this.transform);
currentLine = go.AddComponent ();
            currentLine.material = m_LineMaterial;
currentLine.startWidth = paintSize;
currentLine.endWidth = paintSize;
currentLine.startColor = paintColor;
currentLine.endColor = paintColor;
currentLine.numCornerVertices = 10;
currentLine.numCapVertices = 10;
Vector3 position = GetMousePoint ();
AddPosition (position);
isMouseDown = true;
lineDistance += 0.1F;
            lines.Add(go);
}
if (isMouseDown) 
        {
Vector3 position = GetMousePoint ();
            if (Vector3.Distance(position lastMousePostion) > 0.05F)
            {
                AddPosition(position);
            }
}

if (Input.GetMouseButtonUp (0)) 
        {
currentLine = null;
positions.Clear ();
isMouseDown = false;
}
}

    /// 
    /// 添加要的画线包含的点
    /// 

    /// 
void AddPosition(Vector3 position)
    {
position.z -= lineDistance;
positions.Add (position); 
currentLine.positionCount = positions.Count;
currentLine.SetPositions (positions.ToArray ());
lastMousePostion = position;
}

    /// 
    /// 将鼠标的屏幕坐标投影到世界空间中
    /// 

    /// 
Vector3 GetMousePoint()
    {
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit hit;
bool isCollider = Physics.Raycast (ray out hit);
if (isCollider) {
return hit.point;
}
return Vector3.zero;
}

#region 设置线条的颜色及粗细
public void OnRedColorChanged(bool isOn )
    {
if (isOn)
        {
paintColor = Color.red;
}
}
public void OnGreenColorChanged(bool isOn)
    {
if (isOn) 
        {
paintColor = Color.green;
}
}
public void OnBlueColorChanged(bool isOn)
    {
if (isOn)
        {
paintColor = Color.blue;
}
}

    public void OnSizeChanged(float value)
    {
        paintSize = value;
        m_SizeValue.text = value.ToString();
    }

    public void OnClearBtnClick()
    {
        for (int i = 0; i < lines.Count; i++)
        {
            Destroy(lines[i]);
        }
        lines.Clear();
        lineDistance = 0.1F;
    }

#endregion
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      10351  2020-03-31 15:52  LineRendererAssembly-CSharp.csproj

     文件       5180  2017-12-23 18:03  LineRendererAssetsEmptyMaterial.mat

     文件        207  2017-12-23 17:34  LineRendererAssetsEmptyMaterial.mat.meta

     文件      66264  2017-12-23 20:00  LineRendererAssetsScenesMain.unity

     文件        174  2017-12-23 17:22  LineRendererAssetsScenesMain.unity.meta

     文件        191  2017-12-23 17:22  LineRendererAssetsScenes.meta

     文件       3072  2017-12-23 19:51  LineRendererAssetsscriptsMspaint.cs

     文件        262  2017-12-23 17:26  LineRendererAssetsscriptsMspaint.cs.meta

     文件        191  2017-12-23 17:27  LineRendererAssetsscripts.meta

    I.A....      4116  2017-12-23 17:20  LineRendererLibraryAnnotationManager

    I.A....   4028024  2020-03-31 15:52  LineRendererLibraryassetDatabase3

    I.A....         9  2020-03-31 15:52  LineRendererLibraryAssetImportState

    I.A....      4756  2017-12-23 20:01  LineRendererLibraryAssetServerCacheV3

    I.A....     14336  2017-12-23 17:27  LineRendererLibraryAssetVersioning.db

    I.A....         0  2017-12-23 17:20  LineRendererLibraryBuildPlayer.prefs

    I.A....      4152  2017-12-23 17:20  LineRendererLibraryBuildSettings.asset

    I.A....     14428  2017-12-23 20:01  LineRendererLibraryCurrentLayout.dwlt

    I.A....        52  2020-03-31 15:52  LineRendererLibraryEditorInstance.json

    I.A....      4384  2017-12-23 19:07  LineRendererLibraryEditorUserBuildSettings.asset

    I.A....      4152  2017-12-23 17:20  LineRendererLibraryEditorUserSettings.asset

    I.A....      4152  2017-12-23 18:06  LineRendererLibraryexpandedItems

    I.A....      4152  2017-12-23 19:51  LineRendererLibraryInspectorExpandedItems.asset

    I.A....     23896  2017-12-23 20:01  LineRendererLibraryLastBuild.buildreport

    I.A....        74  2017-12-23 20:01  LineRendererLibraryLastSceneManagerSetup.txt

    I.A....        65  2017-12-23 17:20  LineRendererLibraryLibraryFormatVersion.txt

    I.A....      4253  2020-03-31 15:52  LineRendererLibrarymetadata00000000000000001000000000000000

    I.A....       581  2020-03-31 15:52  LineRendererLibrarymetadata00000000000000001000000000000000.info

    I.A....      4232  2020-03-31 15:51  LineRendererLibrarymetadata00000000000000002000000000000000

    I.A....       577  2020-03-31 15:51  LineRendererLibrarymetadata00000000000000002000000000000000.info

    I.A....      4232  2020-03-31 15:51  LineRendererLibrarymetadata00000000000000003000000000000000

............此处省略1344个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)